All articles

Close to Attio: a step-by-step migration guide

·9 min read

Short answer: To migrate from Close to Attio: rebuild the data model in Attio (Leads, Contacts, Opportunities, plus custom objects); export from Close as CSV via the Bulk Edit screen; import into Attio with column mapping; replace Close sequences with Smartlead, Apollo, or Lemlist plugged into Attio; replace the Close dialer with Aircall, Dialpad, or OpenPhone. Plan 1-2 weeks for the rebuild.

Why teams move from Close to Attio

Close is a strong communications-first CRM. It stops being enough when the business needs the CRM to do more than power outbound calls, SMS, and email sequences.

The most common reasons teams switch:

  • The data model is too narrow. Leads, contacts, and opportunities no longer cover how the business actually works.
  • Custom objects and richer relationships become a hard requirement.
  • Reporting needs to reflect the real process, not a standard outbound funnel.
  • The team wants one workspace for sales, success, partnerships, and operations.

If your team is still inside a clean outbound sales motion, Close is probably fine. If any of the points above sound familiar, Attio starts to make more sense. The deeper comparison lives in the Close vs Attio post.

This guide covers the migration itself.

Rebuild the data model before you export

This is the step most teams skip. It is the one that decides whether the migration is clean or messy.

A Close account that has been used for a couple of years usually carries custom fields, sequences, and smart views that made sense at one point and no longer do. Moving all of that into Attio recreates the same mess in a new tool.

Before any data moves, answer three questions:

  1. Which objects do you actually need? People and Companies for sure. Deals in most cases. Which custom objects carry real business logic, and which are dead weight?
  2. Which fields matter? For each object, which fields are used in views, reports, automations, or daily work? Everything else is a candidate for deletion.
  3. Which relationships matter? How do records connect to each other, and which of those connections need to come across?

Do this on a whiteboard before you touch Close. The result almost always cuts the field count by at least 40%.

How Close objects map to Attio

Close has a slightly unusual shape. A Lead in Close is company-like: it holds Contacts underneath it and carries Opportunities. This is different from most CRMs where Contact and Company are separate peers.

The clean mapping into Attio:

  • Close Lead becomes Attio Company
  • Close Contact becomes Attio Person, linked to the Company
  • Close Opportunity becomes Attio Deal, linked to both
  • Close custom objects become Attio custom objects

This flattens the Close structure into a cleaner shape and removes the lead/contact confusion that many teams run into as they scale.

Step 1: Export the data from Close

Close supports two main export paths:

  • CSV export from the app. Available for Leads, Contacts, Opportunities, and search results from smart views.
  • Close REST API. Better when you want full control over filtering, pagination, and related objects in one pass.

Export each object as a separate CSV: Leads, Contacts, Opportunities, plus any custom objects and activities you want to keep. Keep the Close IDs in the export. You will need them to reconnect records on the Attio side.

Export notes separately if the team relies on them. Attio supports notes, but they are loaded in a second pass.

Calls and SMS history are usually kept as an archive in Close rather than migrated. There is rarely a clean way to import historical call recordings into a new CRM, and most teams don't need to.

Step 2: Prepare the Attio workspace

Build the object structure in Attio first, before any import.

Use the mapping from earlier: Leads to Companies, Contacts to People, Opportunities to Deals. Custom objects in Close become custom objects in Attio. Recreate only the fields you decided to keep.

For pipelines, Attio uses statuses on the Deals object. Recreate Close opportunity statuses as Attio deal statuses, in the same order, with the same names. Reporting continuity stays intact.

Set up the relationships you decided to keep. Leave the ones you decided to drop behind.

Step 3: Clean the CSVs

This is the part that saves the most time later.

Before import, run a cleanup pass on each CSV:

  • Remove duplicate records. Close exports often include merged or near-duplicate leads and contacts.
  • Standardize enumerated fields. Pick one spelling for each status, source, industry, and owner.
  • Normalize phone numbers and dates to a single format.
  • Split Lead-level fields that should live on the Company vs fields that should move to a Person.
  • Delete fields that nobody uses. If it was not on your list from the data model exercise, it does not go in.

An hour on cleanup saves a day of fixes after import.

Step 4: Import into Attio

Attio supports CSV imports directly in the UI. For each object:

  1. Upload the CSV.
  2. Map each column to the matching Attio field.
  3. Use the Close ID as an external identifier so records can be relinked later.
  4. Run the import and spot-check 10 to 20 records.

Import in order: Companies first, then People linked to Companies, then Deals linked to both. Activities, notes, and custom objects go last, after everything they depend on already exists.

For larger datasets, or when multiple custom objects need to be related in bulk, Attio's API handles the job cleanly. Use it whenever you are moving more than a few thousand records or several related objects.

Step 5: Plan the communications stack

This is the Close-specific part. Attio is not a dialer. Calling, SMS, and email sequences will live in tools that connect to Attio.

Common setup after the move:

  • Calling and SMS through Aircall, OpenPhone, or Dialpad, connected to Attio.
  • Email sequences through an engagement tool like lemlist, Instantly, or Smartlead, with activity synced to Attio.
  • Inbound email logged through Attio's native email sync.

Decide this before go-live. A team that lands in Attio without a calling tool in place usually reverts to Close within a week.

Step 6: Rebuild automations and sequences

Close workflows and sequences do not translate to Attio one to one. Do not try to port them. Rebuild from scratch based on what the team actually needs now.

Common ones to rebuild first:

  • New lead assignment by owner or territory.
  • Stage-change triggers that create tasks or send messages.
  • Deal-won notifications into Slack or email.
  • Activity creation from calendar or email sync.

Attio's automation builder is simple enough that the core set takes an hour or two to rebuild. Most teams finish this step with fewer, cleaner automations than they had in Close.

Step 7: Rebuild reports as views and dashboards

Close reports and smart views do not migrate directly. Attio handles reporting through views, filtered lists, and dashboards.

For each Close report or smart view that someone actually opens, recreate it as an Attio view or dashboard widget. Most teams find that a big share of their old views were never opened. Those stay behind.

Step 8: Cutover

Run both systems in parallel for a week. The team works in Attio and the new calling tool. Close stays read-only as a reference.

At the end of the week, archive Close. Keep read access for 30 to 60 days in case something needs to be checked. Cancel the subscription after that, not before.

Traps to avoid

  • Migrating every field. If every custom field comes across, Attio ends up as cluttered as the old Close account. Prune hard.
  • Porting every sequence. Rebuild from scratch with a tool that is actually built for sequences.
  • Skipping the data model step. This is the single biggest cause of a painful migration.
  • Treating Lead like a Person. Close Leads are company-like. Map them to Companies, not to People.
  • Cutting over without a calling tool in place. Reps will revert to Close within a week.
  • Losing Close IDs in the export. If a reimport is needed, those IDs are the only reliable way to reconcile records.

How long does a Close to Attio migration take?

For a typical small or mid-size team, under 30 users, a few custom objects, moderate data volume, budget 1 to 3 weeks end to end. The data movement itself takes a few days. Most of the time is the data model rebuild, the communications stack setup, and the automation rework.

Larger accounts, or teams with heavy customization and external integrations, can push to 4 to 6 weeks.

Want help with the migration?

If you want a second pair of eyes on your migration plan, or you want it done for you, book a call or see the full Close to Attio migration service.

If you are still evaluating the move, try Attio with a 10% discount and start the data model exercise on your own. Even if the migration does not happen, the exercise is worth doing.

Free audit of your Attio workspace

If you want a second pair of eyes on your Attio setup, I run a free 48-hour audit. You add me to your workspace as an Attio expert, no extra seat and no billing. I send back a one-page written teardown ranked by impact, the three highest-leverage fixes with the exact setting change, and a 5-minute Loom walking through the top fix. No call, no pitch. 5 slots a week.

Get your free Attio audit

Need help with your Attio setup?

We migrate teams, build data models, wire automations, and train Claude agents inside your workspace. Discovery call is free.

Book a free discovery call