Contacts

Import your contacts from a spreadsheet

Bring a whole list of people in from a CSV file, and update the ones you already have.

Open this screen in the app ↗

Importing reads a CSV file and creates a contact for every row. Rows whose email address already exists update that person instead of creating a second copy of them.

Prepare the file first

  1. Save your spreadsheet as a .csv file. Any other file type is refused with "Please upload a .csv file".
  2. Make sure the first row is a header row of column names.
  3. Make sure one column is named email. Rows without an email address are skipped.
  4. Remove every comma from inside your cells. See the caution below.

Column names the import understands

  • email, e-mail, email address — Becomes the contact's email. Required — a row with no email is skipped.
  • name, full name, fullname, first name, first_name — Becomes the First Name. If your file has one "name" column, the whole name lands in First Name.
  • last name, last_name — Becomes the Last Name.
  • phone, mobile, phone number, mobile number — Becomes the Phone Number.
  • tags, tag — Becomes one tag on the contact.
  • source — Becomes the Source on the contact.
Note

Column names are matched without regard to capitals. Any column that is not in the list above is ignored — its values are not stored anywhere.

Run the import

  1. Open Contacts → All Contacts.
  2. Click Import.
  3. Drag your file onto Drop your CSV file here, or click the box to browse for it.
  4. Check the preview. It shows the file name, how many contacts are ready to import, and the first five rows.
  5. Click Import N Contacts.
  6. Wait for the progress bar to reach 100%. The window then tells you how many were imported and how many rows were skipped.
The Import button in the contacts toolbar. diagram
Step 2 of the Import Contacts window: the file name, the count, and a preview of your first five rows. diagram
Important

Do not leave commas inside your cells. Each row is split at every comma, so a cell like "Mumbai, Maharashtra" or a name written "Smith, John" pushes everything after it into the wrong columns. Wrapping the value in quotes does not prevent this. Replace those commas before you save the file.

The tags column holds one tag per row. Whatever is in that cell becomes a single tag, spelled exactly as you wrote it — it is not split into several tags. This also means a file you downloaded with Export CSV cannot be re-imported tag for tag, because the export joins a person's tags together with the | character and that whole string comes back as one tag.

Every contact in the file also gets the tag "import", whether they are new or already in your list.

What happens to people who are already in your list

People are matched on their email address. When a match is found, the details in your file overwrite what is on the record, the tags in your file are added to the tags they already had, and their original Source is kept.

A person who is new to your list is enrolled in any active sequence whose starting tag matches one of their tags. Those emails are not sent instantly — they go out on the regular 15-minute send run, which pauses between 10pm and 8am IST. Someone who was already in your list is not enrolled this way.

If the file has no header row, or no row in it carries an email address, you get "No valid rows found. Make sure your CSV has an 'email' column" and nothing is imported.