CSV to Attio, free.

A spreadsheet from anywhere, including the CRM that has no API worth using.

Connect with
Upload the file. The rows are deleted from our side as soon as the job finalizes.
Price
Free, at any record count
Moves
8 things, listed below
Doesn’t move
5 things, each with the reason

What moves from CSV

Each of these is written against the real API rather than a generic model, which is where the depth comes from.

Any object you like

People, companies, deals, or a custom object designed around your columns — the structure is proposed from the file itself, not from a template.

A company built from a column

A flat contact export names its company instead of referencing one. Point at that column and the company is created and linked as the row imports; rows naming the same company converge on one record.

Values rewritten on the way in

Map old values to new, fill blanks with a default, and drop the ones you do not want — before anything reaches Attio.

Only the rows you want

Filter on a column — contains, equals, is not empty — and import the subset.

And on every migration

Relationships, resolved in a second pass

Records are created first and linked second, so a deal finds its company no matter which order they arrived in. A link whose other end never made it is reported as a skipped row naming what it was waiting for.

Dedup against what is already in Attio

People match on email, companies on domain, custom objects on the unique key you designate. A matched record is updated in place, so running the same migration twice never leaves you two of anything.

A sample run before the real one

Cap the import at the first 50 records, read the result, then promote it to a full run with one click.

Cancel that leaves zero trace

Every record, note, task, meeting, list entry, attribute and select option this migration created is deleted or archived in reverse order. Whatever was in your workspace before is never touched.

5 things that don’t move

Each is a ceiling in an API, not a feature we haven't written yet. You'd find them on day two, so read them now.

Notes, tasks and meetings

Doesn't move

A record export has no activity data in it. Connect the CRM itself if you want those.

Field history

Doesn't move

A CSV is a snapshot; there is no past in it to import.

Your uploaded file, afterwards

Doesn't move

Not a limitation — a promise. The file is deleted when the job finalizes. We keep the structure, the mapping and the id map, never the rows.

Emails

Doesn't move

Attio asks migration tools not to import them — its own inbox sync covers email far better than a one-time copy would, and it keeps working after the migration.

File attachments

Doesn't move

Attio publishes no endpoint for writing files onto a record, so there is nowhere to put them.

Move 50 CSV records first. Then decide.

Free at any record count. Nothing is written to Attio until you have approved the structure and the field mapping.