Import contacts from a CSV file

Upload a CSV, match its columns to contact fields (or make new custom fields from them), see what will happen before anything is saved, run it, and undo it if needed.

Updated October 17, 2026

Bring a business's contacts in from a spreadsheet or another CRM. Save the sheet as a CSV file first (in Excel or Google Sheets: File → Download / Save as → CSV).

A file can be up to 100 MB with up to 500,000 contacts. It uploads to private storage in 6 MB pieces: each piece is retried if it fails, and a dropped connection (Wi-Fi off, a tunnel) carries on from the last piece when you're back online. Everything after the upload happens in the background, so you can close the page and come back.

1. Upload

Contacts → Import → choose the file. You'll see Reading your file while it's checked. The first row must be the column names. Each column is guessed: Email, Phone, First name, Last name, Full name, Company, Tags, the address parts, a Notes / Message / Comments column as Additional information, and any of the business's custom fields with the same name.

2. Match the columns

For each column choose where it goes, Don't import, or New custom field (pick its type; for a dropdown, its choices are the different values in that column). Making new fields needs an owner or manager.

Choose what happens to people who are already contacts (matched by the business's duplicate rule):

  • Fill in their empty fields and add the new ones (nothing already filled is changed);
  • Leave them alone (only add new contacts);
  • Only update contacts I already have (add no new ones).

With the usual duplicate rule there's no "always make a new contact" option: an email or phone belongs to one contact only. A business whose rule is Never (allow duplicates) gets a new contact for every row.

Tick These contacts agreed to hear from you only if they really did: their email permission is set to agreed, recorded as given in this import.

Two more boxes are separate, because the law treats them separately. These contacts agreed to get text messages from you sets their text permission. These contacts agreed to automated calls from you is what automated voicemail messages need (see Phone menus, holiday hours and voicemail drops); only contacts with a phone number are marked. Tick each only if they really agreed.

3. Check the preview

Counting goes through the whole file, then before anything is saved you see the counts, for example 1,204 new, 87 updates, 12 rows with no email or phone, and the first values that don't fit their field (such as text in a number column). Rows with no email or phone are skipped; values that don't fit are left out of that contact.

4. Import

Importing shows its progress. It runs in the background in steps of 1,000 rows, so closing the page, or a pause on our side, never loses your place: it carries on from the last step. When it's finished you get a bell notification and an email (switch the email off with Import finished in My notifications).

Every contact it adds or updates gets the import's own tag, such as Imported leads · Oct 17, and an Imported entry in its Activity history. Imports never start automations.

Undo an import

Undo on a finished import runs in the background too. It deletes the contacts the import made (you can still restore them from Deleted contacts) and takes its tag off everyone it updated. Details it filled in on existing contacts stay.

Didn't find what you need?

Send us a message — no sign-in needed — or email support@the-contentforge.com. Already a customer? Sign in to submit a ticket.

Contact support