Import contacts from a spreadsheet

4 min read2
Copy for AI:

When the base already lives in a spreadsheet β€” the customer list from the store system, an old sign-up sheet β€”, import brings everyone in at once, with custom fields and in the right group. Before saving, SendFast shows how each number will look and sets aside what is invalid. Camila imported Loja Bem Viver's customers from the register spreadsheet, with the nome, telefone and cidade columns.

Prepare the spreadsheet

  • Format β€” CSV or Excel (.csv, .xlsx), up to 5 MB. If in doubt, download the CSV template or Excel template in the first step.
  • Header in the first row β€” each column name becomes the custom field key, so prefer short, consistent names: city, company.
  • Phones β€” ideally with + and country code: +55 62 99999-9999. This works for any country. Numbers without a country code, such as (62) 99999-9999, also work: you tell their country in the next step.
  • Size β€” each import accepts up to 20,000 rows. A larger file is refused as soon as it is uploaded: split the base into more than one file.

The three steps

In Contacts, click Import.

1. File

Select the spreadsheet. SendFast reads the columns and moves on to mapping.

2. Mapping

  • Phone column β€” required. Columns named phone, telefone, celular or whatsapp come suggested.
  • Country for numbers without a country code β€” used only for numbers that do not start with +. Those with + keep their own country.
  • Name column β€” optional, but recommended: it is what personalizes the message.
  • Custom fields β€” tick the extra columns you want to keep. Each ticked column becomes a field named after its header. Since a contact accepts up to 5 custom fields, the screen lets you tick five columns at most.
  • Add to group (optional) β€” puts every contact from the spreadsheet in a group. Camila chose VIP customers.

3. Review

Nothing has been saved yet. The screen shows how many numbers are valid and how many are invalid, and a side-by-side sample: Original and Will be sent as, already in international format. This is when you notice, for example, that you picked the wrong country for numbers without a country code.

The Download invalid (CSV) button gives you the list of what will not go in, to fix and import later. Numbers invalid for the chosen country are dropped. If no number is valid, the Import button stays off.

Click Import and keep the window open until the result shows ("Importing... do not close this window.").

The result

  • Created β€” phones that were not in the base.
  • Updated β€” phones that already existed. SendFast does not overwrite the name of a contact that already has one (it only fills it in if empty) and merges custom fields: a field with the same key gets the spreadsheet value, the contact's other fields are kept and empty cells delete nothing. A new column only goes in while the contact has fewer than 5 fields; when one is left out, the result tells you how many contacts were already full.
  • Skipped β€” phones repeated within the file itself. The first row where the number appears wins.
  • Rejected β€” invalid phones, listed under Rejected rows with the row number and the value found.

If you chose a group, both created and updated contacts join it, without leaving the groups they were already in.

Importing again does not change consent or status for contacts already in the base: an opted-out contact stays opted out, an inactive one stays inactive. This keeps an old spreadsheet from bringing back to sends someone who asked to leave.

Who can import

Members and Admins.

Where to go next

  • Add and organize contacts β€” filters, statuses and bulk actions after the import.
  • Groups β€” check the members of the group that got the import.
  • Campaigns β€” use the imported columns as message variables.

In short: prepare the spreadsheet with a header and phones ideally with + and country code, choose in Import the phone column, the country for numbers without a code, the name, up to five custom fields and a group, check valid and invalid numbers before saving, and read the result knowing existing contacts are updated without losing name, fields or consent.

Was this article helpful?