Migration field guide · 14 October 2026

Move HubSpot records to Attio with a checked field map

Separate a contact-data move from a full CRM replacement. Start with a controlled company-and-people import.

Edited by Clinton Feyisitan. Review scope: official documentation read on 14 October 2026 and local worksheet checks with synthetic examples. No native account migration, paid execution or timed completion test was performed.

Inventory the work the CRM actually does

List companies, contacts, deals, owners, activities, attachments, automations and reporting dependencies. Assign an owner to every required workflow. This guide covers a bounded CSV pilot for company and people records; it does not establish feature parity or migrate marketing subscriptions, historical activities and workflows automatically. Keep outbound automation off during the pilot.

Budget for overlapping subscriptions, seats, any migration service and time spent validating records. Put known recurring charges in the calculator; leave unknowns blank. A new interface is not evidence that the whole sales process can move safely.

Export the intended HubSpot records

With Export permission, open CRM → Companies or Contacts and select the intended view. Use Export in list view, or Board options → Export view where available. Choose CSV and inspect Customize: default exports include the view’s properties and associations, while other options change that scope. Preserve Record ID and the required association columns. The export download link arrives by email and expires after 30 days. HubSpot’s instructions distinguish current properties and associations from activity exports; a record CSV is not a complete backup of every interaction.

Keep an untouched source copy and a separate working file. Record export time, selected view, filters and row counts. Exclude sensitive fields that the destination does not need. Keep opt-out and suppression information intact; importing a person is not permission to contact them.

Agree the identity and field map

HubSpot fieldAttio destinationRule to verify
Company domainDomainsNormalise and inspect duplicates before import.
Contact emailEmail addressesReview missing and shared addresses separately.
HubSpot Record IDA separate source-ID attributeDo not map it to Attio’s own Record ID.
Owner / lifecycle stageExplicitly mapped attributesResolve every value; do not silently drop unmatched ones.
Company associationChecked relationship mappingVerify a contact whose employer differs from their email domain.

Attio uses unique emails and domains to identify records. Its own Record ID is generated by Attio and is used for updates, not for importing arbitrary HubSpot IDs. Multi-value attributes add imported values to existing ones rather than replacing them. Open the destination object or list, choose Import / Export → Import CSV, and review mappings before importing. Check the CSV rules, permissions and preview for your object.

Attio also documents an Import2 path for CRM migrations. If you need activities or broader relationships, assess that path’s actual scope, price and trial results separately rather than stretching this CSV guide into a full migration guarantee. Read the migration options.

Validate a small batch before the full import

  1. Prepare a synthetic pilot covering a normal company, missing domain, duplicate email, multiple tags and an unusual employer relationship.
  2. Back up any existing destination records before updating them. Preserve a list of destination IDs created or changed by this batch.
  3. Compare expected unique records with created, updated and rejected counts. Inspect each field and relationship in the pilot.
  4. Check an existing multi-select record and an opt-out record. Confirm that the import did not trigger messaging or an unintended workflow.

Cutover and rollback

Agree a short editing freeze, export a final delta and reconcile changes after the pilot. Keep HubSpot as the source of truth until the owner accepts the checks. There is no assumed one-click undo here: distinguish newly created records from updates to existing ones. If validation fails, stop further imports and restore changed values using the preserved destination backup and batch log; review deletion of newly created records separately. Resume work in HubSpot and reconcile any new Attio activity before retrying.

Keep a migration record

Download the CSV planning worksheet

Synthetic examples are marked and all execution statuses start as “not run”. Replace them with your own inventory. This worksheet is for planning and verification, not an import file for either provider. Keep customer data in your own approved storage.

Sources checked

Need help scoping the work? Ask about a separate migration proposal. The £149 newsletter decision memo does not include this migration.