Shuttio vs Import2, including the rows we lose.

Import2 has been moving CRMs for years and is genuinely good at it. We built one tool for one destination, and this is where that choice pays and where it costs.

Sourced from their own v2.1 documentation. If something here has gone out of date, tell us and we will correct it.

8
rows to Shuttio
2
rows to Import2
7
even or neither

Cost and time

The two things a migration is actually budgeted on.

Price

Shuttio
Shuttio

Free, at any record count. We are an implementation firm; the migration is how you meet us.

Import2

$499 for 50k records, $999 for 100k, rising to $9,499 at 5M. Value and user mappings only from their Plus tier up.

How long it takes

Shuttio
Shuttio

One job with live progress. You watch the tally fill.

Import2

Days to months, quoted per migration. An Affinity move can wait on their monthly API quota resetting.

Fixing a mapping yourself

Shuttio
Shuttio

Every mapping, value rewrite, default and row filter is yours to edit before the run and between runs.

Import2

Value and user mappings are admin-mediated and sold from a paid tier; most fixes go through their support.

What lands in Attio

Where we deliberately spent the last five phases catching up, and where the two now sit level.

Notes, tasks and meetings

Even
Shuttio

Notes, tasks and meetings, on the records they belong to. A note edited at the source re-syncs on a later run, and one you re-parented moves.

Import2

Notes and tasks, including calls as notes. This was their biggest lead over us until Phases 5a and 10.

Custom objects and lists

Even
Shuttio

HubSpot and Salesforce custom objects, and source lists as Attio lists with membership and list-attribute values.

Import2

Custom object and list creation, including Affinity lists into Attio lists.

A trial run before the real one

Even
Shuttio

First 50 records on both passes, then one click to promote it to the full run.

Import2

A sample migration on a randomized subset. Their stickiest trust feature, and it deserved copying.

Per-record results and error explanations

Even
Shuttio

Failures grouped by cause, each with what happened, why, and the fix. Look up any row's source record on demand.

Import2

A results explorer with per-field explanations and per-error retry.

Field value history

Shuttio
Shuttio

Optional per run, HubSpot and Salesforce. A stage change from March still reads as March instead of collapsing to today.

Import2

Current values only — a record arrives looking as though every field was set on migration day.

Importing one object as another

Shuttio
Shuttio

You pick the Attio object each source object lands in, including sending leads into people.

Import2

Documented as not supported.

File attachments

Neither
Shuttio

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

Import2

Same ceiling, same reason.

Incremental sync after the first run

Neither
Shuttio

A re-run is idempotent — it updates matched records and adds new ones — but there is no change feed driving it.

Import2

Documented as not supported.

What happens to your workspace

A migration writes to a system your company runs on. This is the part worth reading twice.

Undoing it

Shuttio
Shuttio

Cancel deletes every record, list entry, attribute and select option the migration created, in reverse order, from a provenance ledger. What was there before is never touched.

Import2

Their Clean removes records and archives fields where it can; custom objects, lists and picklist options are left behind.

Records that already exist in Attio

Shuttio
Shuttio

Matched on email, domain or the unique key you designate, and updated in place.

Import2

Matched records are found but their fields are explicitly never written.

Designing the Attio structure

Shuttio
Shuttio

The structure is proposed from your own schema and your answers, then you edit it. Nothing reaches Attio before you approve it — and you can take the blueprint and build it yourself without connecting Attio at all.

Import2

Maps into the shape your Attio workspace already has.

Reconnecting to the wrong workspace

Even
Shuttio

Resume, retry, full-run and rollback are all blocked at the door when the connected workspace is not the one the run was keyed to.

Import2

A blocking modal that wipes the mapping and demands the migration number typed back.

Where Import2 is ahead

They have been doing this since long before us, and it shows in one place that matters.

Number of sources

Import2
Shuttio

Five: CSV, HubSpot, Pipedrive, Affinity, Salesforce. Close, Copper and Folk are next.

Import2

Hundreds, across CRM and helpdesk, heading for a thousand. If your source is not on our list, use them.

Destinations other than Attio

Import2
Shuttio

Attio only, and that is the whole point — every rule here is written against Attio's actual API rather than a generic model.

Import2

Many destinations through one shared connector library.

What this comes down to

If your destination is Attio

We wrote every rule in this tool against Attio's actual API rather than a generic model, which is where the depth in the rows above comes from.

If your source is not one of our five

Import2 is the honest answer and we will say so. They cover hundreds of sources; we cover CSV, HubSpot, Pipedrive, Affinity and Salesforce, with Close, Copper and folk next.

If Attio is where you are going, start here.

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