Import contacts
Review a CSV or pasted list, resolve contact matches and confirm the records to import.
Updated September 29, 2026 4 min read
A spreadsheet becomes useful when your team can find its people in the workspace and trust their details. Import a CSV or pasted list into a review batch, check the proposed matches and save the contacts you intend to keep.
Before you start: use a workspace you are authorized to update. AI-assisted analysis needs the configured model path to be available. Check Setup if analysis is unavailable.

1. Prepare your list
Use clear column names. This fictional CSV is a starting example:
fullName,email,phone,companyName,website
Alex Morgan,alex@example.test,,Example Company,https://example.test
Jamie Chen,jamie@example.test,,Example Company,https://example.test
A reviewed contact needs a name and at least an email address or phone number. An email must be valid. A supplied website must be a valid domain or HTTP(S) address. Include a business website when you want to identify a company reliably.
Give every CSV or TSV column a distinct header and keep the same number of columns on each row. A batch accepts up to 500 contact rows, 40 columns, 100 characters per header, 250,000 source characters, and 2,000 characters per source cell. Uploaded files also have a 250 KB limit, so split a larger export into smaller files before analyzing it.
For JSON, use flat contact objects or a list of those objects. Numeric values keep their original digits as source text, which protects long identifiers and phone numbers. Paste a free-form list as one person per line, or upload it as a TXT file, and keep any analysis guidance within 1,000 characters.
2. Analyze the source
Open Contacts, choose List import, and start an import. You can also open /admin/contact-imports. Upload the file or paste the list, then choose Analyze and build review.
The review keeps every accepted source row in its original order. When the AI cannot identify a contact in a row, that row remains visible with an explanation and starts excluded, so you can complete it or leave it out. Analysis creates the review batch; it does not import contacts.
3. Review the rows
Check names, email addresses, phone numbers, company information, and each row's import decision. Correct errors and exclude rows you do not want. Inspect possible matches rather than assuming similar names identify the same person.
Large batches show 50 source rows per page. Use Next page and Previous page to review the rest. Row numbers, selected counts, saving and approval still cover the complete batch.
If a row has no proposed contact, open it and fill in the name and contact method only when the source supports them. Edited fields have length limits; shorten an oversized value when the review tells you which field exceeded its limit.
Company information can remain unlinked when there is not enough evidence to identify the business. Resolve warnings deliberately; do not invent missing fields.
4. Confirm the import
Save your review changes, then choose Review approval. Inspect the exact snapshot and choose Approve and import only when it is correct.
A save commits every reviewed row and its history together. A failed save leaves the previous review and approval unchanged. A successful edit clears the earlier approval. If another operator saved or started importing the batch, reload the latest review before saving. Already imported rows keep their original receipt and cannot be edited through a retry review.
5. Verify the result
Check the batch result and open a sample of the accepted contacts. Failed rows remain available with a reason.
What to check
Compare the source row count with the review row count before approval; they should match. If analysis rejects repeated headers, broken quotes, missing columns, nested JSON, or control characters, correct the export and try again. Split a batch when its complete source exceeds the analysis budget, even if the file fits the upload limit. Inspect the existing batch before resubmitting the same file. Use separate actions when you want to send email, enroll contacts in a campaign, or create an opportunity.
Correct a row from its original source
Each review row keeps its source row number. Open Original source to compare the untouched source fields with the proposed contact. It opens automatically for rows needing review, including rows the AI omitted. Correct the fields, choose whether to include the row, and save the review before approving its exact snapshot.
Uploads must contain valid UTF-8. An incorrectly encoded file is refused with a correction message, rather than replacing unreadable characters. Save it as UTF-8 and upload again. Recent import history is cached across workspace navigation; if a refresh fails, retry history while keeping the current review available.