CRM data migration

Bring your customers in from a spreadsheet. Undo it if it goes wrong.

Save your spreadsheet as a CSV, check how the columns matched and import. Wrong file? Undo it within a day.

30 minutes. You choose the day and the time.

A tuition centre's import at the matching step
  1. Parent nameFull name
    Matched by name
  2. HP NoPhone
    Matched by name
  3. Kid's levelLevel
    AI's guess, for you to check
  4. Status: "paid"Stage: Enrolled
    AI's guess, for you to check
  5. RemarksSkip
    Your call
2,000 rows
per import, up to 20 MB
3 steps
upload, match the columns, review
24 hours
to undo an import

Moving day

The retyping it replaces

You have 1,200 parents in a spreadsheet you've kept since 2019, with columns only you understand. Typing them into a new CRM would take weeks. Importing them takes a file, a check and a wait while it writes each row.

01The file

Get the file right first.

Your parents' list lives in Google Sheets, with a tab for each year. Save the tab you want as a CSV of up to 2,000 rows, or paste the sheet's link shared as "Anyone with the link". Not sure which columns to keep? Download a sample file built from your own pipeline's fields.

  • A CSV file, or a Google Sheet link
  • A sample file in your pipeline's own columns
  • Excel? Save it as CSV first
Import - choose the file
  1. Your spreadsheetCustomers, a tab for each year: 2024, 2025, 2026

02The columns

Columns matched for you, then checked by you.

Your sheet says "HP No" and "Kid's level", because that's what you called them in 2019. Columns are matched by name first, so "HP", "Mobile" and "DOB" find their field. Whatever's left goes to AI, which sees each column's name and up to three sample values, never whole rows. You can change any match before you import.

  • First and last name columns joined into one
  • Stage and dropdown values matched too
  • AI guesses marked "Matched by AI - check it"
Import contacts · CSV

03Duplicates

Avoid the most common import mistake: duplicates.

Half the parents on this year's tab were on last year's too. A row that matches someone you already have, by email, then phone, then name, updates that customer instead of making a second one. By default it only fills in blanks, so nothing you typed is overwritten, and an empty cell never erases anything.

  • Add and update, Add new only, Update existing only or Add every row
  • Repeats inside one file fold into one customer
  • Let the file win, if you'd rather
Import - customers-2026.csv
  1. Mode: Add and updateOr Add new only, Update existing only, Add every row

04Undo

Undo the imports you didn't mean to make.

Imported the wrong tab? Undo it within 24 hours, from the browser you imported on. It removes every customer the import added. Details it filled in on customers you already had stay put, and the screen says so before you undo.

  • Within 24 hours of the import
  • Removes the customers it added
  • Tells you what stays before you confirm
Import - undo
  1. Imported today, 2:10pmThe 2024 tab, when you meant 2026
    Wrong tab

05From another CRM

Switching CRMs? Bring your customers with you.

You tried a CRM two years ago, and your customers are still in it. Export them from HubSpot, Zoho or any other CRM as a CSV, then import that file here like any spreadsheet. The columns match the same way, and your old stages can map to your new ones.

  • Any CRM that exports a CSV
  • Stage names matched to your pipeline's
  • No connector to log in to
Import - old-crm-export.csv
  1. Your old CRMExport your customers as a CSV
    No connector to log in to

And the rest

The details that make a re-import safe

Batch tagEvery row is tagged with the day, like import-2026-11-02, so you can find the batch later.
Skipped rowsDownload the rows it skipped, with the reason on each.
Phone contactsA .vcf file from an iPhone or Android phone brings names, numbers, emails, companies and birthdays.
From the phone itselfOn Chrome for Android, pick contacts straight from your phone.
ProgressThe screen counts each row as it's written. Keep the page open until it finishes.
Going back outExport any view as a CSV that imports back cleanly.

Goes well with

Bring the spreadsheet you keep. Leave the retyping.

Start with the sheet you open most, saved as a CSV.

30 minutes. You choose the day and the time.

Before you import

Common import mistakes, and what happens here