ActiveCampaign to Attio migration

Shuttio moves accounts, contacts and deals from ActiveCampaign into Attio, with notes and tasks. Migration into Attio with Shuttio is free at any record count. It starts with a free sample of every object you tick (5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records), so you read the result in Attio before the full run, and a rollback removes what it created.

Can I move ActiveCampaign to Attio?
Yes.
What moves:
Accounts, contacts and deals, with notes and tasks.
What doesn't:
Notes on a task or an activity; Lists, tags, campaigns, automations and emails; Contact and account owners; and 5 more, each with its reason.
Price:
Free at any record count, the sample and the full run.
How long:
A free sample first, then the full run as one background job with live progress. The time depends on your record count and on ActiveCampaign's API request limits.

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

Moves
3 kinds of record, plus notes and tasks
Doesn’t move
8 things, each with the reason
Connect
ActiveCampaign: An API key, not a sign-in. Attio: OAuth
Price
Free at any record count

Where each ActiveCampaign object lands

Read from the code that runs the migration. Source column names are shown as the source reports them.

ActiveCampaign objectLands inStandard fields
AccountsCompanies
  • name → Name
  • website → Domains
ContactsPeople
  • name → Name
  • email → Email addresses
  • phone → Phone numbers
  • account_id → link to Companies
DealsDeals
  • title → Name
  • value → Value
  • account_id → link to Companies
  • contact_id → link to People

Every other property is created as an Attio attribute and shown on the Fields step. A record matches on email (people) or domain (companies) and is updated in place, so running it twice never leaves two of anything.

Notes, tasks, meetings, calls, emails, files, owners and lists

KindHow it movesWhat happens
NotesYesOn the record each note was attached to; an edited note updates on a later run.
TasksYesLinked to their records.
MeetingsNoShuttio reads no meetings from ActiveCampaign. They stay there.
CallsNoShuttio reads no calls from ActiveCampaign. They stay there.
EmailsNoShuttio reads no emails from ActiveCampaign. They stay there.
FilesNoShuttio reads no files from ActiveCampaign. They stay there.
OwnersYesDeal owners and task assignees, matched to an Attio member by email.
ListsNoShuttio reads no lists from ActiveCampaign. They stay there.

Deal pipelines and stages

Shuttio reads every ActiveCampaign deal pipeline with its stages in ActiveCampaign's order. ActiveCampaign keeps open, won and lost in a deal's status, so Shuttio reads the status as the outcome and the stage as the stage. One pipeline becomes Attio's Deal stage. With two or more you choose on the Fields step: a list per pipeline, or a stage field per pipeline. Switch Pipelines off on the Options step and the names land in text fields instead.

Your own fields

ActiveCampaign field typeCreated in Attio as
Text, text area, hiddenText
DateDate
Date and timeDate and time
Dropdown, radioSelect, with the source's options
Multiple choice (multiselect, list box, checkbox)Text: the values are joined into one text value
Number, currencyNumber

A field you added yourself arrives as a new Attio attribute of the type above. The Fields step lists every field before anything is written, and you can rename, skip or point a field at an attribute Attio already has.

8 things that don’t move

Each has a reason. You would find them on day two, so they are here on day zero.

Notes on a task or an activity

Doesn't move

A note is moved with the contact, deal or account it sits on; one attached to a task or an activity has no record to land on and stays in ActiveCampaign.

Lists, tags, campaigns, automations and emails

Doesn't move

This is a CRM move: marketing data and email history are not read.

Contact and account owners

Doesn't move

ActiveCampaign's reference shows an owner on deals and tasks only; a contact record carries no owner and an account's is in the schema but not in the examples.

Accounts on another host

Doesn't move

Only accounts whose API URL is of the form <name>.api-us1.com are supported in this build; an account on another host cannot connect.

Files and attachments

Doesn't move

Shuttio does not read them for this source, so files stay in ActiveCampaign.

Emails, unless you tick them

Doesn't move

Logged emails from HubSpot and Pipedrive land in Attio as a Logged emails activity on their records, but they start unticked: Attio's mailbox sync may already show the same mail, and with both ticked it appears twice. Without the Attio connection's activity access, each email is listed as a skipped row rather than written as a note.

Files over 50 MB and linked files

Doesn't move

Files up to 50 MB are uploaded to the record they were attached to, when the Attio connection has the file scope (an older connection is asked to reconnect). A larger file, and an entry that is a link rather than a file, is listed on the run as a failed row and not copied.

Goals, invoices, payments, carts and other commerce or admin records

Doesn't move

They track billing and internal targets rather than customer relationships, and Attio has no object shaped for them. Pipelines and stages already arrive as each deal's status.

How the move runs

  1. 1

    Source

    Choose ActiveCampaign as the source and Attio as the destination.

  2. 2

    Connect

    ActiveCampaign: An API key, not a sign-in. Paste your API URL and the key from Settings, Developer; Shuttio checks it before saving anything and deletes it 14 days after the migration finishes. Attio: sign in with Attio (OAuth).

  3. 3

    Options

    Up to five switches decide which kinds of data the next steps offer, such as custom fields, lists and custom objects. Nothing is written yet.

  4. 4

    Objects

    Tick what to move. Each row shows where the object lands in Attio.

  5. 5

    Fields

    Rename a field, skip it, or point it at a field that exists. When a field goes into an existing field, the step warns you that values on matched records are overwritten, and counts the fields concerned.

  6. 6

    Filters

    Limit which records move, per object. Filters do not change the price.

  7. 7

    Import

    A free sample runs first: 5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records. A deal in the sample still finds its company, because every object takes the records linked to the ones already picked. Lists and files move with the full migration. You open the result in Attio, then run the full migration. It is free. Pause, resume and cancel work while it runs. The Records tab lists every source record as moved, updated, skipped or failed, with the reason, and downloads as a CSV. Move new records brings over the records created in ActiveCampaign after the migration started.

Price

Free at any record count. The sample, the full run, Retry and rollback cost nothing.

ActiveCampaign to Attio with Shuttio or by hand

Attio's own Migrate CRM flow runs Import2, which is free too. Import2 brings notes and tasks, turns calls into notes and does not import meetings or emails; its undo leaves the pipelines, stages and fields it created until their support resets them. Shuttio moves meetings, calls and logged emails (from HubSpot and Pipedrive) onto the right records, rolls back every record, attribute and option it created, and after the full run moves the records created in the source since it started. The full row-by-row comparison is at shuttio.com/vs/import2. Against a manual CSV export: a CSV is one object per file and a record export has no notes, tasks or meetings in it, so a deal's company is a column you match by hand and its notes, tasks and meetings are not in the file. Shuttio reads ActiveCampaign through its API, creates records first and links them second, matches records already in Attio instead of duplicating them, and lists every record's outcome. If you only need one object's fields and no history, a CSV import is enough, and Shuttio runs those free into Attio too.

Questions

How much does a ActiveCampaign to Attio migration cost?

Free at any record count. The sample, the full run, Retry and rollback cost nothing. Attio is the destination, so there is no per-record price. Attio's own Migrate CRM flow runs Import2, which is free too. Import2 brings notes and tasks, turns calls into notes and does not import meetings or emails; its undo leaves the pipelines, stages and fields it created until their support resets them. Shuttio moves meetings, calls and logged emails (from HubSpot and Pipedrive) onto the right records, rolls back every record, attribute and option it created, and after the full run moves the records created in the source since it started. The full row-by-row comparison is at shuttio.com/vs/import2.

What does the free sample move?

5% of your companies, contacts or deals, 10 to 1,000 records, picked at random, with their linked records. Lists and files move with the full migration. It is a real write into Attio, so it can be rolled back.

What does not move from ActiveCampaign to Attio?

Notes on a task or an activity; Lists, tags, campaigns, automations and emails; Contact and account owners; Accounts on another host; and 4 more. Each has a reason on this page.

Can I undo the migration?

Yes. Rollback deletes the records, notes, tasks, meetings, files and list entries that the sample or the full run created, in reverse order, from a ledger. A record that already existed in Attio and was updated in place stays, and the values it overwrote are not restored; the Fields step warns you before the run.

Does it change anything in ActiveCampaign, and what about records created while I migrate?

Shuttio only reads from ActiveCampaign. It never writes to it. After the full run, Move new records moves the records created in ActiveCampaign after the migration started. Edits to records already moved are not copied.

What does it need from ActiveCampaign, and how long does it take?

Your API URL (like https://acme.api-us1.com) and the API key, both from Settings, Developer. Shuttio checks the key before it saves anything, reads 100 records a request at a gentle pace and pauses the run, to resume where it stopped, if ActiveCampaign keeps refusing. Shuttio also reads custom fields, notes and the account's users (to match owners by email). Shuttio deletes the key 14 days after the migration finishes.

Move ActiveCampaign to Attio in a free sample first.

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.