Move your CRM into Attio. Free.
Shuttio moves HubSpot, Pipedrive, Affinity, Salesforce or a CSV into Attio — records, relationships, notes and lists — and reports on every one. You review every field, and a CRM migration starts as a free 50-record sample.
No card · Any record count · Cancel removes everything we created
- DoneContacts1,842 / 1,846 · 4 failed
- DoneCompanies611 / 611
- MovingDeals523 / 739 · 3 failed
- QueuedNotes412 waiting
The free Attio migration
Connect your CRM, tick the objects, review the fields, and watch it move. Most teams finish in an afternoon.
What you get
- Your CRM's structure, mirrored in Attio
People, companies and deals land in Attio's standard objects; every other object you tick is recreated 1:1 with its fields, options and links. Nothing is created until you start.
- Every field shown, and editable
Each source field with where it lands. Keep or skip it, rename it, change its type, and choose the key records are matched on.
- A 50-record sample run
A CRM migration starts as a free 50-record sample. Read the result inside Attio, then one click runs the rest. A CSV imports in full, and rolls back if it is wrong.
- A report on every record
What moved, what linked, and each failed row with its reason and the fix.
Price
At any record count, from any of the five sources.
Import2 charges $499 – $9,499 for the same move.
Paid for by Craftt’s implementation work, if you want help after. You don’t have to.
What usually goes wrong moving to Attio
Six things teams find out on day two of a migration. Each one has a specific answer here.
Deals arrive without their companies.
Records are created first and linked second, so a deal finds its company whichever arrived first. A link whose other end never made it is reported, not dropped.
Running it twice leaves two of everything.
People match on email, companies on domain, custom objects on a key you choose. A match is updated in place, so a retry resumes instead of piling up.
Every date turns into migration day.
Field history is optional on HubSpot and Salesforce. A stage change from March still reads as March in Attio.
Your custom objects get squeezed into a template.
HubSpot custom objects and Salesforce __c objects are read from your schema, with the field your CRM keeps unique used as the dedup key.
Halfway through, there is no way back.
Cancel deletes every record, list entry, attribute and option the migration created, in reverse order. What was in Attio before is never touched.
Rows fail and nobody tells you.
Failures are grouped by cause with the fix spelled out, and you can re-run only the rows you corrected.
From sign-in to a finished run
Five steps. You make two decisions; Shuttio does the rest and shows its work.
- 1
Connect
2 minutes
YouSign in with Google, choose your source, connect your CRM and Attio — or upload a CSV.
ShuttioReads your source schema: objects, fields, and which ones your CRM keeps unique.
- 2
Objects
1 minute
YouTick the objects you want to move.
ShuttioSends people, companies and deals to Attio's standard objects, and mirrors every other object 1:1 under its own name.
- 3
Fields
5 minutes
YouCheck each field: keep or skip it, rename it, change its type, pick the matching key.
ShuttioMaps every field, including emails, domains and associations, so dedup and linking fire. For a CSV, Claude guesses what each column holds; you can change every guess.
- 4
Sample
1 minute
YouOpen Attio and look at the first 50 records. The sample is free.
ShuttioA connected CRM starts here: 50 records per object with their relationships, exactly as the full run will move them. A CSV skips this step and imports in full.
- 5
Full run
Minutes to hours
YouNothing. Pause or cancel whenever you like; the run keeps going if you close the tab.
ShuttioMoves everything, links it in a second pass, and writes the report.
Supported sources
Five connectors, each written against that system's own API. Every page lists what moves and what doesn't, with the reason.
HubSpot
Contacts, companies, deals, products, tickets and your portal's own objects — with the associations intact.
7 things move · 2don’t, with the reason
Pipedrive
Persons, organizations, deals, products and projects, and the activities you have been tracking as both meetings and tasks.
5 things move · 3don’t, with the reason
Affinity
Persons, organizations, opportunities — and the lists and fields that are where Affinity actually keeps your work.
4 things move · 3don’t, with the reason
Salesforce
Accounts, contacts, leads, opportunities, cases and campaigns, your __c objects, and both kinds of note.
7 things move · 3don’t, with the reason
CSV
A spreadsheet from anywhere, including the CRM that has no API worth using.
4 things move · 3don’t, with the reason
Something else
Close, Copper and folk are next. Until then, a CSV export covers it — and we’ll say so when Import2 is the better answer.
Shuttio vs Import2, including the rows we lose.
Import2 covers hundreds of sources and many destinations. We cover five sources and one destination, in more depth.
- Price
- Free
- $499 – $9,499
- Field history
- Optional, per run
- Not supported
- Sources
- Five, plus CSV
- Hundreds
Your records never pass through a model.
Claude guesses what each column of an uploaded CSV holds, from its name and up to three truncated sample values, and answers questions in the help chat from our docs and counts, never records. Your CRM's structure is mirrored by code, and the import has no model in the loop.
- OAuth for Attio, HubSpot, Pipedrive and Salesforce — revoke us any time
- Each credential sealed under its own key, held outside the database
- Jobs carry an id and nothing else — no records in queues or logs
- Uploaded CSVs deleted when the full run finishes or you roll back
Questions before the first run
Is it really free?
Yes, at any record count. Shuttio is built by Craftt, an Attio implementation partner; the migration is how you meet us. No card, no record cap, no paid tier hiding the useful parts.
What happens to my data?
Records stream from your CRM into Attio without passing through a model. Credentials are encrypted under a key held outside the database, uploaded CSVs are deleted when the import finishes or you roll it back, and we keep the mapping and the id map rather than your rows.
What if something goes wrong halfway through?
The job is durable and resumes where it stopped. Cancelling deletes everything the migration created, in reverse order, custom objects included, and names the lists it leaves in place so you can clear them yourself.
What doesn't move?
Emails (Attio's own inbox sync does that better), file attachments (Attio has no endpoint for them), and a short list per source. Each source page names every one, with the reason.
My CRM isn't on the list.
Export it to CSV and import that — each column's type is guessed for you to confirm, and a company column can become linked company records as the rows import. Close, Copper and folk are next as native connectors.
Move fifty records first. Then decide.
Free at any record count. Nothing is written to Attio until you have reviewed the objects and fields, and every run starts as a free 50-record sample.