Using Shuttio with Attio

Shuttio moves your data from a CSV file, HubSpot, Pipedrive, Affinity, Freshsales, ActiveCampaign, OnePageCRM, Zendesk Sell, Close, folk, Insightly, Bitrix24, Capsule, HighLevel, SugarCRM, SuiteCRM, Salesflare, Vtiger or Twenty into Attio. This guide covers connecting your workspace, what Shuttio can do in it, how a migration runs and how to roll one back.

No Attio account yet? Sign up with our partner link and get 10% off any plan.

Last updated: 12 Oct 2026

What it does

Mirrors your source

Shuttio reads your source system and mirrors the objects you tick into Attio: people, companies and deals go to Attio's standard objects, and every other object is recreated 1:1 with its attributes, select options, statuses and links. Fields are mapped automatically. Open the mapping to review or change any of them, before the sample or after it.

Starts with a free sample

A migration from a CRM starts as a free sample (5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records), mapped automatically. After you check it, Shuttio imports the rest of the records, the links between them, notes, tasks, meetings and list memberships.

Can be rolled back

It keeps a ledger of everything it creates, so a re-run updates rather than duplicates, and a rollback removes exactly what the migration added. Migrations into Attio are free. Shuttio also moves data into Clarify, Odoo, HubSpot, Pipedrive, Breakcold, Twenty, Capsule, HighLevel, ActiveCampaign, Zendesk Sell, Zendesk Support, HubSpot Service Hub, folk, Ashby, Lever, Greenhouse, ClickUp, Asana and Trello; see pricing.

Connect your Attio workspace

  1. 1

    Start a migration and choose your source and Attio as the destination. If you are not signed in, Shuttio asks you to sign in or create an account first (with Google, or with an email and password), then brings you straight back to continue.

  2. 2

    On the migration's Connect step, press Connect Attio. Attio shows the permissions Shuttio is asking for. Choose the workspace you want to migrate into and approve.

  3. 3

    You land back on the Connect step, which now shows Attio as connected with the workspace name.

Each migration connects its own Attio workspace and its own source. The connection belongs to that migration and no other migration can use it. The access token is encrypted before it is stored, and it is never placed in a background job payload or a log line.

Permissions Shuttio asks for

Each permission maps to specific Attio API calls Shuttio makes. It asks for nothing beyond these.

Attio scope
record_permission:read-writeCreate, update and match records in your objects (so a re-run updates instead of duplicating), write a field's value history when you opt in, and delete the records a migration created when you roll it back.
object_configuration:read-writeRead your existing objects and attributes so nothing is created twice, create the custom objects, attributes, select options and statuses for the objects and fields you reviewed, and when you roll a migration back, archive the fields it created and delete the custom objects it created.
list_configuration:read-writeShow your existing lists in the setup form, create a list you name, and add or archive the list attributes and options that carry list-level values (for example Affinity list fields).
list_entry:read-writeAdd imported records to a list, update entry values on a re-run, and remove the entries a migration added when you roll it back or when a member left the source list.
note:read-writeImport notes onto the records they belong to, update a note whose source was edited, and delete imported notes on rollback.
task:read-writeImport tasks linked to their records, with each assignee matched to a member of your workspace by email, and delete them on rollback.
meeting:read-writeImport meetings with their linked records, and delete them on rollback. Participants are carried by name only, so no new people are created behind your back.
activity_configuration:read-writeRead your workspace's activities and their attributes, create the activities a migration needs (Logged emails, SMS, WhatsApp and LinkedIn messages, and one per source activity type such as a Pipedrive lunch), add a text field for the call or message body, and on rollback archive the fields it added and delete an activity it created once it holds no records.
activity_record:read-writeImport calls into Phone calls and messages, logged emails and other source activities into their activities, linked to the migrated people, companies and deals, and delete them on rollback. Participants are matched to people already in your workspace by email; no new people are created.
user_management:readLists your workspace members, so record owners and task assignees are matched to a member by email. A source person with no matching member falls back to the member who started the migration, or is left unassigned if that person is not in the workspace. Shuttio does not change members. Without this scope the migration still runs and shows one note that owners were not set.
file:read-writeUpload a record's attachments (files up to 50 MB) to the record they were attached to. Without it a migration with attachments on asks you to reconnect.

Shuttio does not request access to comments, your synced email, call recordings or webhooks, and it never deletes anything that was in your workspace before a migration.

Run a migration

  1. 1

    Source. Choose the source and Attio as the destination. A CSV file is a source too.

  2. 2

    Connect. Connect HubSpot or Pipedrive over OAuth, paste an Affinity API key, or upload a CSV file (up to 4 MB). Shuttio only reads from your source; it never writes to it.

  3. 3

    Options. Switch on the kinds of data to offer on the next steps, such as custom fields, lists and custom objects.

  4. 4

    Objects. Tick what to move. People, companies and deals land in Attio's standard objects; everything else becomes an object of its own name.

  5. 5

    Fields. Keep or skip a field, rename it, change its type and choose the key records are matched on; optionally set a default phone country and, for HubSpot, field history. Press Run sample migration to skip steps 3 to 6: Shuttio ticks the usual objects and maps the fields automatically, and fields it could not place are listed for you to mark reviewed or change. A CSV always takes the full path: Claude guesses what each column holds, and you can change every guess.

  6. 6

    Filters. Limit which records move, per object.

  7. 7

    Import. A free sample (5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records) is written first. Check it in Attio, then one click imports everything else (a CSV imports in full with no sample). Records already imported are updated, not duplicated. You can pause, resume, retry, cancel or roll back at any point. Closing the tab does not stop it: the migration runs as a background job.

To move one Attio workspace into another, connect both on the Connect step: one as the source, one as the destination. Shuttio reads the source and never writes to it, matches owners and assignees to members of the destination by email, and keeps each record's creation date in a text field named "Created in source". A person or company that matches a record already in the destination by email or domain is updated, and a rollback does not restore the values it overwrote.

Results and receipts

When a migration finishes, the results view shows what was created, updated and linked, and every row that did not make it, grouped by cause, each with a plain explanation and a suggested fix. For any failed row you can look up the original source record on demand; it is fetched live and not stored. Shuttio also emails you a summary with the totals when the run ends.

Roll back a migration

On a finished, failed or paused migration, press Roll back this import and confirm. Cancelling a running migration does the same. Working from its ledger in reverse order, Shuttio deletes every record, note, task, meeting and list entry the migration created, then archives the attributes, select options and statuses it added. A record the migration matched and updated in place stays, and the values it overwrote are not restored. Everything else that was in your workspace beforehand is never touched.

Custom objects the migration created are then deleted once they are empty. One that holds records the migration did not create is left in place and named with its record count. A standard object or one you already had is never touched. Lists it created are left in place and listed for you by name at the end (Attio's API has no way to delete a list). Remove them in Attio if you no longer want them.

If you reconnect Shuttio to a different Attio workspace, resume, retry, full runs and rollback are blocked for earlier migrations, so a migration can never write into, or delete from, a workspace other than the one it started in. Reconnect the original workspace to continue.

Remove access or uninstall

In Shuttio

Shuttio deletes its stored access token 14 days after the migration finishes. Attio has no way for us to revoke the grant, so we delete our copy only.

In Attio

Remove Shuttio from your workspace's connected apps to revoke its access on Attio's side, at any time. Do this if you want the grant gone before the 14 days are up.

Removing access does not change your Attio data. Records a migration created stay in your workspace; roll the migration back first if you want them removed. To delete your Shuttio account and its migration history, email help@shuttio.com. See the privacy policy for what is kept and for how long.

Support

Email help@shuttio.com with the migration link and a short description of what you expected. The security page covers encryption, subprocessors and what reaches the AI model, and the terms of service cover the rest.

Shuttio is built by VentuRise LLC, Wyoming, USA. It is not affiliated with or endorsed by Attio.

Move a sample first. Then decide.

Nothing is written to your new CRM until you have reviewed the objects and fields, and every CRM migration starts as a free sample: 5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records.