Import prospects with a CSV
Import contacts from a CSV or pasted addresses: file format, the required email column, recommended columns, size limits and duplicate handling.
To add many people at once, open People in the Outreach menu and click Import CSV on your email contacts (if you also use LinkedIn, that's the Email contacts tab; the People tab has Import a CSV too). You can also open Import contacts directly. Upload a CSV file with an email column, match your columns to Distro's fields, choose what to do with people you already have, and import. You can also paste a list of addresses instead of uploading a file.
Prepare your file
| Requirement | Detail |
|---|---|
| Format | A CSV file with a header row (column names) as the first line |
| Required column | An email address column. Every other column is optional |
| Size | Up to 5 MB per file and 50,000 rows per import. Split bigger files |
| Separator | Commas, semicolons, tabs or pipes are detected automatically |
| Text encoding | Save as UTF-8 (in most spreadsheet apps: "CSV UTF-8") so accents and non-Latin names come through correctly |
| Quotes | Values containing commas or line breaks can be wrapped in double quotes |
Distro can import these fields:
email,first_name,last_name,full_name,title,phone,city,country,linkedin_url,websiteRecommended: email, first_name and title. If you also use LinkedIn, include linkedin_url when you have it: contacts with a LinkedIn profile show as Email + LinkedIn in People, so they can get the LinkedIn steps of an Email + LinkedIn campaign. A first name makes every email more personal, and the job title helps you check you're writing to the right people. If you only have a full name, map it to Full name.
Column names don't have to match exactly. Distro pre-fills the mapping when a header matches a field name, ignoring capitals and treating spaces as underscores, so "First Name" is matched to First name. Any header containing "email" or "e-mail" is picked as the email column. You can change every match before importing.
Import a CSV
- Go to People (the Email contacts tab if you also use LinkedIn) and click Import CSV.
- Drop your file on the upload area, or click Choose file.
- On Match your columns, check the Email column, then pick a column for each field you want, or leave it on Don't import.
- Under If someone is already in your contacts, choose how to handle existing contacts (see below).
- Check the Preview (first 3 rows) table.
- Click Import (the button shows how many rows).
When it's done you'll see Import finished with four numbers: Added, Updated, Skipped and Problems.
Existing contacts and duplicates
Contacts are matched by email address, ignoring capital letters. You pick one of three options:
| Option | What happens to someone already in your contacts |
|---|---|
| Leave them as they are (default) | Skipped. Nothing changes |
| Update them from the file (blank cells are ignored) | Their standard fields are updated with the file's non-empty values. Custom field values are not updated |
| Skip, and never create a duplicate | Skipped |
If the same address appears twice in your file, the first row is used and later ones are skipped. Archived contacts and unsubscribed people count as existing too, so an import never brings back someone who unsubscribed. More in How duplicate detection works.
Rows that couldn't be imported
If anything was skipped or failed, click Download problem rows. The file lists the row number from your CSV, whether it was an error or skipped, and the reason:
| Reason | Meaning |
|---|---|
| missing_email | The email cell was empty |
| invalid_email | The address isn't valid (for example no @ or no domain) |
| duplicate_in_file | The address appeared earlier in the same file |
| duplicate_existing | The person is already in your contacts |
| insert_failed | Saving that row failed. Try importing it again |
Invalid addresses are never added, so they can't bounce later.
Custom fields in your file
Columns can only go into custom fields that already exist. Create them first under Outreach settings β Custom fields. They then appear in the mapping step, marked "(custom)", and are matched automatically when the header equals the field's name.
Values are checked against the field's type. A number field only accepts numbers, a Yes / No field accepts values like yes, no, true or false, and a pick-list field only accepts its listed options. Anything that doesn't fit is left empty for that contact.
Paste addresses instead
Under Or paste addresses, put one address per line. "Name <email>" works too, and the name goes into Full name. Click Continue, then finish the same matching step.
Import straight into a campaign
When choosing recipients for a campaign, Select recipients β Import a CSV uploads a file and turns it into a new list named after the file, ready to select. It matches columns automatically from the header names. If the email column isn't found, it asks you to use the full import, which lets you match columns yourself. See Add or remove prospects in a campaign.
Importing contacts this way doesn't put people in a list. To group them, select them on the Email contacts tab (All contacts if you only use email) and use Add to listβ¦, as described in Lists, tags and custom fields.
Importing LinkedIn profiles instead
This importer is for email contacts, so every row needs an email address. To import a list of LinkedIn profile links (for example a Sales Navigator export), use Import LinkedIn CSV on the People tab, or Import CSV on the LinkedIn prospects tab. See Find and import LinkedIn prospects.
Email us at hello@usedistro.com with what you tried and what you see. Signed in? Help & support in the app has walkthrough videos and a message form.