← Back to docsWalkthrough

Import your CRM data

Move contacts, accounts, deals, and pipeline history from HubSpot, Salesforce, or a plain CSV into Adoptiv.

30 minutes

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. 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. 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. 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 an account_id and each deal carries a contact_id / account_id.

  4. 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. 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. 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.