Import contacts
Most lists start life somewhere else — a CRM export, a spreadsheet, a phone’s address book. The importer takes the three shapes those produce, shows you exactly what it’s about to create before it creates anything, and never silently duplicates a number you already have.
Formats
CSV
JSON
vCard
A header row with these column names; only name and primary_phone are required.
Phone numbers
Numbers are validated as E.164 and stored that way. A file with local numbers (020 7123 4567) imports cleanly if you set a default country code (44); numbers that already start with + are left alone. A number that can’t be parsed is reported as an error for that row; the rest of the file still imports.
Duplicates
A contact whose primary phone already exists in your account is a duplicate and is skipped — the existing record is untouched. The same check runs within the file, so a list with the same number on two rows creates one contact. The summary tells you how many were skipped and which.
Preview, then import
Upload the file
Call Center → Contacts → Import, choose the file. The format is detected from the extension; set the default country code if the numbers are local.
From the API the same two-step shape: POST /contacts/import with the file base64-encoded, confirmed: false for the preview, then confirmed: true to run it.
Tag on the way in. A tags column with the campaign name (renewal-q4) means the list is ready to add to a campaign by filter the moment the import finishes — no second pass.