How to import Apollo.io data into Salesforce Contacts
Apollo.io exports people lists as CSV files. This template maps the export to Salesforce's standard contact fields: names, email, job title, department, the person's mailing address, and the LinkedIn profile URL. Mobile Phone maps directly to Salesforce's native MobilePhone field. The remaining workplace phones (Work Direct, Corporate, Other) coalesce into the Phone field, with the first available number winning. Apollo's Departments column is comma-separated, so the template takes the first listed. The Person Linkedin Url column maps to a custom LinkedIn_URL__c Contact field, so create that field on the Contact object in Salesforce before importing, or repoint the mapping in the column mapper. Phones, emails, and country names are standardized. On Apollo's free plan the Email column arrives with the placeholder email_not_unlocked@domain.com for locked records. This template creates Contact records; link each one to its Account by company name after import.
Field-by-field mapping
This is the complete column mapping from Apollo.io to Salesforce Contacts. The left column is the header in your CSV export. The right column is the Salesforce Contacts field it should map to.
| First Name | First NameFirstName | |
| Last Name | Last Name*LastName Salesforce requires a Last Name on every Contact. This template creates Contacts; link each one to its Account by company name after import. | |
| Title | Title | |
| Email On Apollo's free plan, unrevealed rows arrive as email_not_unlocked@domain.com. Filter those rows out or reveal them in Apollo before mapping. TransformLowercased and trimmed | ||
| Mobile Phone | Mobile PhoneMobilePhone Maps to Salesforce's MobilePhone field. MobilePhone is a standard Salesforce Contact field that's often hidden in the default layout. If you don't see it, add MobilePhone to your Contact page layout in Salesforce setup before importing. TransformStandardized to international format (+1, +44, etc.) | |
| Work Direct Phone → Corporate Phone → Other Phone | Phone Salesforce Contacts have one Phone field. It takes the first available number: Work Direct first, then Corporate, then Other. Whichever is present wins; the rest are skipped. Mobile Phone maps to MobilePhone separately. TransformStandardized to international format (+1, +44, etc.) | |
| Departments → first | Department Apollo ships several departments per row, comma-separated. Salesforce's Department field holds one value, so the template takes the first listed department. Apollo does not order departments primary-first, so this is the first listed one, not necessarily the main one. To keep the full list, remove the split in the column mapper. | |
| Person City | Mailing CityMailingCity Apollo ships both a person location and a company location. This template maps the person-location columns to the Contact's Mailing City, State, and Country. | |
| Person State | Mailing StateMailingState | |
| Person Country | Mailing CountryMailingCountry | |
| Person Linkedin Url | LinkedIn URLLinkedIn_URL__c Maps to a custom Salesforce field called LinkedIn_URL__c. Create that field on the Contact object in Salesforce before importing, or open the mapping in Operelio and point the column at a different field instead. |
Required by Salesforce Contacts.
Columns we don't use
Your Apollo.io export includes 20 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Salesforce Contacts.
- Company
Salesforce Contacts associate to an Account rather than carrying a company name on the Contact itself. This template creates Contact records; the Account link is a separate step.
If you need it. After import, link each Contact to its Account in Salesforce, or run an Apollo to Salesforce Accounts pass first and match on company name.
- Website
The company website belongs on the Salesforce Account record, not the Contact.
If you need it. Run a separate Apollo to Salesforce Accounts pass to land the website on the Account record.
- Industry
Salesforce Contacts have no native Industry field. Industry is company-level data and belongs on the Account record.
If you need it. Run an Apollo to Salesforce Accounts pass to land industry on the Account, or map it by hand to a custom Contact field.
- Email Status
Salesforce Contacts have no native field for an email confidence flag. Apollo's Verified, Unverified, Guessed, and Unavailable values are useful for filtering, Salesforce just has no standard place for them.
If you need it. Map it by hand to a custom Contact field if you want to filter on email quality in Salesforce.
- Seniority
Salesforce Contacts have no native seniority field. The data is real and useful, Salesforce just has no standard place for it.
If you need it. Map it by hand to a custom Contact field if you want seniority in Salesforce.
- Corporate Phone, Other Phone
Salesforce Contacts have one Phone field, which this template fills from the first available of Work Direct, Corporate, and Other. When an earlier number is present, Corporate and Other are not used. Mobile Phone now maps to MobilePhone directly.
If you need it. Map them by hand to custom Contact fields if you want every number kept separately.
- Company Phone
Apollo's Company Phone column is the same switchboard number as Corporate Phone in most exports. There is nothing new to map.
If you need it. If your export has a different number in Company Phone, map it by hand to a custom Contact field.
- Company Linkedin Url
The company's LinkedIn page belongs on the Salesforce Account record, not the Contact.
If you need it. Run a separate Apollo to Salesforce Accounts pass to land the company LinkedIn URL on the Account record.
- # Employees, Annual Revenue, Company Description, Founded Year
These are company-level data points. Salesforce Contacts have no native fields for them, they belong on the Salesforce Account record.
If you need it. Run a separate Apollo to Salesforce Accounts pass to land these on the Account record.
- Company Address, Company City, Company State, Company Country
This template fills the Contact's Mailing address from Apollo's person-location columns. The company-location block is a second address and there is no native place for it on the Contact.
If you need it. Land the company address on the Salesforce Account record in a separate pass if you need it.
- Lists
Salesforce Contacts have no native field for the Apollo list a row came from. The list name is useful for segmenting prospects by campaign or saved-search source.
If you need it. Create a custom Contact field in Salesforce called Apollo List, then open the column mapper and route Lists to it.
- Created Date
Salesforce Contacts have no native field for the date Apollo added the row to your account. The value is useful for filtering older prospects or sorting by recency.
If you need it. Create a custom Contact field in Salesforce (date type) called Apollo Created Date, then route Created Date to it in the column mapper.
- Account Owner
Salesforce Contacts have no native field for the Apollo user assigned to a row. Account Owner is an Apollo user, not a Salesforce user. The two are different identities and mapping them across needs a manual translation table.
If you need it. Create a custom Contact field in Salesforce called Apollo Owner if you want to preserve the source of the record. Or use it as a filter in Apollo before exporting, so each exported file is single-owner.
Formatting and cleanup
Apollo.io exports rarely match the format Salesforce Contacts expects. Fix these before you import.
- 1.Lowercases and trims email addresses
- 2.Standardizes phone numbers to international format (+1, +44, etc.)
- 3.Maps Mobile Phone directly to MobilePhone; fills Phone with the first available of Work Direct, Corporate, Other
- 4.Takes the first department from Apollo's comma-separated Departments list, so a single value lands in Salesforce's Department field
- 5.Maps Person Linkedin Url to the custom LinkedIn_URL__c Contact field
- 6.Title-cases name fields
- 7.Normalizes country names to a standard form
- 8.Trims whitespace and removes blank rows
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your Apollo.io export and download a clean, import-ready file for Salesforce Contacts.
Apollo.io to Salesforce Contacts FAQ
Why is the Email column filled with email_not_unlocked@domain.com?
That's Apollo's placeholder for records you haven't revealed on the free plan. The email isn't included in the export until you spend a credit to reveal it or upgrade your Apollo plan. Filter those rows out of the CSV before mapping, or reveal them in Apollo first.
How do I export from Apollo.io?
In Apollo, open your saved People search or list, select the records you want, then click Export. Apollo emails you a CSV when the file is ready. Upload that CSV to Operelio to map it to Salesforce contact fields.
Why Salesforce Contacts instead of Leads?
Contacts are the right destination when the person already belongs to an account you work, or when your team skips the Lead object. If you're importing cold prospects, the Apollo.io to Salesforce Leads template is the better fit for that. Both ship so you can pick at the destination picker.
How do Contacts link to Accounts?
This template creates Contact records. Salesforce Contacts associate to an Account rather than carrying a company name on the Contact itself, so the Company column is not mapped. After import, link each Contact to its Account in Salesforce, or run an Apollo to Salesforce Accounts pass first and match on company name.
Where does the Departments column go?
Apollo ships several departments per row, comma-separated. Salesforce's Department field holds one value, so the template takes the first listed department. Apollo does not order departments primary-first, so this is the first listed one, not necessarily the main one. To keep the full list, remove the split on the Department row in the column mapper.
Will this create duplicate contacts?
Salesforce checks for duplicates based on your org's matching rules. Review your duplicate settings in Salesforce Setup before importing, especially if you already have contacts from the same Apollo searches.