New to Attio?Get 10% off when you sign up through Craftt.Try Attio free →
All articles

Zendesk Sell to Attio: a step-by-step migration guide

·9 min read

Short answer: To migrate from Zendesk Sell to Attio: rebuild the data model in Attio first (People, Companies, Deals, plus a status to replace Sell's Leads); export each Sell object as CSV; clean and dedupe; import Companies, then People, then Deals; rebuild Smart Lists as Attio Lists and Sequences as Attio Workflows. The catch with Sell is its API. Some call outcomes and full email history do not come out cleanly, so plan to extract those separately before you switch off.

Why teams move from Zendesk Sell to Attio

Zendesk Sell, the product that used to be Base CRM, has not had real product investment in years. Zendesk's focus is support, not sales. Teams that built their pipeline on Sell now run into a tool that stopped moving while the rest of their stack kept going.

The common reasons to leave:

  • Development has stalled. New CRM features land everywhere except Sell.
  • No usable API surface for modern automation or AI. You cannot build agents on top of it.
  • The lead and contact model feels dated next to a flexible object model.
  • The team wants one workspace that AI tools can actually read and write.

Attio is the opposite shape: an open API, a flexible data model, and a workspace that Claude or any other tool can operate through. That is the real reason most Sell teams pick it.

This guide is the migration itself. For the side-by-side, the deeper comparison sits next to the other CRM posts.

Know what Zendesk Sell will not give you

Start here, because this is the part that surprises people late, when it is expensive to fix.

The Zendesk Sell API does not expose everything you see in the interface. Two gaps matter most:

  • Post-call comments and call outcomes. The notes a rep types after a call, and the structured outcome, often do not come through the API or a standard export.
  • Full email history. Threaded email tied to records is partial at best through the API.

If those records carry weight for your team, you cannot rely on a single clean export to move them. Decide early what you actually need. Pull the call outcomes and email threads you care about through the interface, as their own export, before you cancel anything. Treat them as a separate extraction, not part of the main migration.

The same goes for attachments. Files in Sell are best pulled out on their own track, not folded into the record import.

Rebuild the data model before you export

This is the step most teams skip, and the one that decides whether the move is clean or messy.

A Sell account that has run for a few years carries custom fields, tags, and Smart Lists that made sense once and no longer do. Copying all of it into Attio recreates the same clutter in a new tool.

Before any data moves, answer three questions:

  1. Which objects do you need? People and Companies for sure. Deals in most cases. Do you need any custom object for how your business actually works?
  2. Which fields matter? For each object, which fields show up in views, reports, automations, or daily work? Everything else is a candidate to drop.
  3. Which relationships matter? How do records connect, and which of those connections need to survive the move?

Do this on a whiteboard before you touch Sell. It almost always cuts the field count by a large margin.

Map Sell's model to Attio's

Most of the mapping is one to one. One piece is not.

Zendesk SellAttio
Contacts (person)People
Contacts (company)Companies
DealsDeals
Deal stagesStatuses on Deals, same names, same order
Smart ListsLists (saved filtered views)
TagsSelect or multi-select attributes
SequencesWorkflows, rebuilt from scratch
LeadsSee below

The piece that does not map cleanly is Leads. Sell keeps Leads as a separate thing that you convert into a Contact and a Deal. Attio has no separate Leads object by default. The clean move is to bring leads in as People with a status attribute, say Lead to Qualified to Converted, rather than inventing a whole object to mirror Sell. If your team genuinely works leads as a distinct pipeline, a custom object is the fallback, but most teams are better served by a status on People.

Step 1: Export from Zendesk Sell

Export each object as its own CSV: Contacts split into people and companies, Deals, Leads, Tasks, and Notes where the export carries them. Keep the Sell record IDs in every export. You need them to reconnect records on the Attio side and to reconcile if a reimport is needed.

Then run the separate extraction for the call outcomes, email threads, and attachments the API will not hand over cleanly. Do this while your Sell subscription is still live.

Step 2: Prepare the Attio workspace

Build the structure first, before any import.

Attio's standard objects, People, Companies, and Deals, cover the core of Sell directly. Recreate your Sell deal stages as statuses on the Deals object, in the same order and with the same names, so reporting stays continuous. Add the lead status on People. Set up only the custom fields and relationships you decided to keep.

Step 3: Clean the CSVs

This is the part that saves the most time later.

  • Remove duplicates. Sell exports often carry merged or near-duplicate people and companies.
  • Standardize enumerated fields. Pick one spelling for each stage, source, owner, and tag.
  • Normalize phone numbers and dates to one format.
  • Drop fields nobody uses. If it was not on your data-model list, it does not go in.

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

Step 4: Import into Attio

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

  1. Upload the CSV.
  2. Map each column to the matching Attio attribute.
  3. Use the Sell record 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. Notes, tasks, and anything that depends on other records go last.

For larger datasets, or when several related objects need to be linked in bulk, the API handles it cleanly. We built a free tool for exactly this, Attio Migrate, which reads a CSV or another CRM, proposes the data model, and creates the objects, attributes, and linked records for you.

Step 5: Rebuild Sequences as Workflows

Sell Sequences do not translate one to one. Do not port them. Rebuild from what the team needs now.

The ones to rebuild first:

  • New lead assignment by owner or territory.
  • Stage-change triggers that create a task or send a message.
  • Deal-won notifications into Slack or email.
  • Follow-up reminders after a call.

Most teams finish this step with fewer, cleaner automations than they had in Sell.

Step 6: Rebuild reports as views and dashboards

Sell reports do not migrate. Attio handles reporting through views, filtered Lists, and dashboards. For each Sell report someone actually opens, recreate it. Most teams find a large share of their old reports were never opened. Those stay behind.

Step 7: Cutover

Run both systems in parallel for a week. The team works in Attio. Sell stays read-only as a reference. At the end of the week, archive Sell. Keep read access for 30 to 60 days in case something needs checking, then cancel. Not before.

Traps to avoid

  • Assuming the API exports everything. It does not. Call outcomes and email history need their own extraction before cancellation.
  • Migrating every field. Prune hard, or Attio ends up as cluttered as the old account.
  • Recreating Leads as a full object out of habit. A status on People is cleaner for most teams.
  • Porting every Sequence. Rebuild from scratch.
  • Cancelling Sell too early. Keep read access for a month or two. It is cheap insurance.
  • Losing Sell record IDs in the export. They are the only reliable way to reconcile records later.

How long does a Zendesk Sell to Attio migration take?

For a typical small or mid-size team, budget 1 to 3 weeks end to end. The record movement takes a few days. Most of the time goes to the data-model rebuild, the separate extraction of call and email history, and the automation rework.

Large accounts, with many years of data, heavy customization, or hundreds of thousands of records, can push to 4 to 6 weeks. The volume rarely breaks the import. The history the API hides is what needs the planning.

Want help with the migration?

If you want a second pair of eyes on your plan, or you want it done for you, book a call. We have run this exact move, including the parts of Sell that do not export cleanly.

If you are still evaluating, 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, we run a free 48-hour audit. You add us as an Attio expert, no extra seat and no billing. You get 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