Import contacts from a CSV or Excel file

Bring many contacts in from a spreadsheet. You map the columns and review a full preview before anything is created, then process the rows. An import only adds new people; it never changes a contact you already have. Owners only.

What it is

Contact imports brings many contacts in from a spreadsheet: a UTF-8 comma-separated .csv file, or an Excel .xlsx file (the first sheet is read). Nothing is created until you have reviewed a preview and confirmed it.

An import only adds new people. A row whose email or phone already belongs to a contact, including one in Trash, is skipped. An import never updates, merges or overwrites a contact. Only Owners can import.

The Contact imports page with the four steps Choose file, Map columns, Review & confirm and Import & results, and the New import, Recent imports and Download template buttons.

How to use it

  1. In Contacts, select Import. Select Download template to get the header row, and add your people under it.
  2. Check the file: one header row, then one row per person; each row has a name, email or phone; the full name is in one column; up to 1 MB, 500 rows and 30 columns.
  3. Select New import, choose the file and select Upload and map columns.
  4. On Map columns, check each column's field. Recognised headers are suggested for you.
  5. Set Default phone country / format (United States or International (+country code)) if your file doesn't mark each number. It is used only for rows that give no format.
  6. Select Preview import. Read Total rows, Eligible contacts, Skipped and Invalid, and filter Row results by Outcome.
  7. Look at the Contact column of a few rows to check that names, emails and phones landed in the right fields. If anything is wrong, fix the file and upload it again.
  8. Tick the review box and select Confirm this preview.
  9. Select Process next rows. Each press handles 25 rows; select Resume import until the status reads Completed.
  10. Select Download row results and fix any skipped or invalid rows by hand.
  11. To reuse your column choices next time, save a Saved mapping profile on the mapping step.

What the data means

Column names QualiFlow recognises by itself (capitals, spaces and dashes don't matter): display_name (or name, full_name), email, phone (or mobile), phone_country, email_2, phone_2, whatsapp, instagram, facebook, source_note, do_not_contact, do_not_call, do_not_sms, do_not_email, unsubscribed, service_consent, consent_source, consent_date, and the address columns address_line_1, address_line_2, city, state, postal_code and country.

Yes/no columns take yes, true or 1, or no, false or 0, or an empty cell. Yes in a do-not or unsubscribed column records a restriction; no or empty never clears one. Yes in service_consent records permission for service messages only (reminders and updates), never marketing. consent_date is written YYYY-MM-DD.

An incomplete or invalid address never stops a row: the person is imported without it, and the preview says "Address not imported" with the reason.

What the data means
StatusMeaning
Ready for confirmationA preview is saved
Confirmed · ready to processConfirmed, no rows processed yet
Paused · ready to resumeSome rows processed; select Resume import
CompletedEvery row has an outcome
Partial · review resultsSome rows unfinished or failed
ExpiredNot confirmed within 24 hours

Possible issues and fixes

The file won't upload

Symptom: The upload is refused with a message such as "Use a valid .csv (comma-separated, UTF-8) or .xlsx file with unique headers and consistent rows."

Why: The file is another type, isn't UTF-8, has an empty or repeated column name, has a row with more cells than the header, or is over the limits. A file with only a header row is refused too.

Fix: Save it again as CSV UTF-8 (Comma delimited), give every column its own name, quote values with commas, and split it into files of 500 rows or fewer. Save old .xls or .xlsm files as .xlsx or .csv.

How to check: You land on Map columns and each column of your file shows separately.

Map columns won't let me continue

Symptom: QualiFlow says "Map each column once, select at least a name, email or phone, and keep restriction columns mapped."

Why: Two fields use the same column, none of Display name, Email or Phone is mapped, or an opt-out or consent column was pointed at another field.

Fix: Map each field to a different column, map at least one of name, email or phone, and put opt-out and consent columns back on their own fields. Then select Preview import.

How to check: The preview shows the Total rows, Eligible contacts, Skipped and Invalid counts.

Map columns shows one long header such as "name;email;phone"

Symptom: All your columns appear as a single column.

Why: The file separates columns with semicolons or tabs, not commas.

Fix: In Excel choose Save As → CSV UTF-8 (Comma delimited). In Google Sheets choose File → Download → Comma-separated values (.csv). Upload the new file.

How to check: Map columns lists each column of your file on its own.

We imported our customers but can't text or email them

Symptom: Campaigns leave the imported contacts out, or say there is no recorded permission.

Why: An import creates contacts; it doesn't give permission to market. A service_consent column covers service messages only. Texts also need your business approved for texting, and email needs a connected dealership mailbox or email domain.

Fix: Record permission with evidence on each contact (see "Record contact permission"). Check texting and email in Settings → Connections.

How to check: The contact's Contact permission card lists the permission.

Every lead gets a reply

Never leave a lead waiting until morning.

Aria answers, qualifies and books test drives around the clock, in English, Spanish and French, inside the rules you set.

Smart Flow · Card required. Subscription charges automatically after seven days unless cancelled; optional guided onboarding is charged upfront. Nothing goes out to customers until you connect your channels and approve Aria’s go-live checklist.