Before you start
- An Adoptiv workspace with admin role
- Access to your source CRM (HubSpot, Salesforce, Pipedrive, Close) or a CSV export
- A rough idea of your pipeline stages — Adoptiv can match them automatically, but you’ll want to verify
- 1
Pick your import path
Three supported routes:
- Native integration — HubSpot, Salesforce, Pipedrive, Close. OAuth-connected, two-way sync, incremental.
- CSV import — works from any CRM. Point-in-time snapshot, no sync-back.
- API import — for custom CRMs or programmatic migration. See the API reference.
- 2
Map your pipeline stages
Adoptiv supports unlimited pipelines with unlimited stages. Before importing, open CRM → Pipelines → New pipeline and re-create the stages your source CRM uses. Name them exactly the same — the importer uses the names to route deals to the right stage automatically.
Need a starting point? Adoptiv ships with a Sales (Standard) pipeline template: Lead → Contacted → Qualified → Proposal → Negotiation → Closed Won / Lost.
- 3
Connect (native) or upload (CSV)
Native: open Settings → Integrations, find your CRM, click Connect, and complete the OAuth flow. Adoptiv asks for scoped read access on the first connect; you grant write access only when enabling two-way sync.
CSV: head to CRM → Import. You can upload up to three files in one pass:
contacts.csv,accounts.csv,deals.csv. Adoptiv will link them automatically if each contact row carries anaccount_idand each deal carries acontact_id/account_id. - 4
Review the field mapping
Adoptiv auto-detects matches for standard fields (first_name, email, phone, company, deal value, stage, close date). Custom fields show up in a second column — map each one to an existing Adoptiv custom field or click Create new to have Adoptiv mint it.
Three things to watch:
- Consent fields. If your source CRM stored TCPA consent (PEWC text, timestamp, source URL, IP, seller), map those into Adoptiv's dedicated consent-record fields. Without them, the contact can't be dialed.
- Owner IDs. Adoptiv can't invent user accounts — make sure each Adoptiv user exists with a matching email before you import, or owner fields will default to the importer's user.
- Timezones. Pipe-separated ISO 8601 dates avoid timezone drift. Plain dates are assumed to be in your workspace timezone.
- 5
Run a dry-run
Click Dry-run. Adoptiv simulates the import on the first 100 rows and reports:
- Rows that will import cleanly
- Rows that will create new accounts / contacts
- Rows that will merge into existing records
- Rows that will be rejected (and why)
If more than 5% of rows are rejected, fix the mapping or the source file and dry-run again.
- 6
Import, verify, and sync
Hit Import. Progress streams live in the UI; an email lands when it's done. Expect roughly: 10,000 contacts in ~2 minutes, 100,000 in ~15 minutes.
When it finishes, run the automatic reconciliation report from CRM → Import history → Your import → Reconcile. It compares source-vs-destination counts and flags any drift.
On native integrations, flip Continuous sync on once reconciliation is clean. New records on either side will then sync both ways every 60 seconds.