Apollo.ioApollo.ioSalesforce ContactsSalesforce Contacts12 fields

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.

Try it freeNo credit card needed

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.

Apollo.ioApollo.io columnSalesforce ContactsSalesforce Contacts field
First NameFirst NameFirstName
Last NameLast Name*LastName

Salesforce requires a Last Name on every Contact. The company column is mapped to Account Name, so each Contact is linked to its Account as it lands.

TitleTitle
EmailEmail

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 PhoneMobile 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 PhonePhone

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 → firstDepartment

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 CityMailing 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 StateMailing StateMailingState
Person CountryMailing CountryMailingCountry
Person Linkedin UrlLinkedIn 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.

CompanyAccount NameAccountName

Matched to an existing Salesforce Account by name, or a new one is created and the Contact is linked to it. A Salesforce Contact has no company field of its own, so this is what puts the person against the right company.

Required by Salesforce Contacts.

Columns we don't use

Your Apollo.io export includes 19 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Salesforce Contacts.

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. If the column holds the rep's email address, point the push at it as the owner column and Operelio matches it to a user in your CRM. Apollo often exports a user's name rather than an address, and a name has nothing to match on; those rows still push, without an owner, and the result says which ones.

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 first.

  1. 1.Matches Company to an existing Salesforce Account, or creates one, and links the Contact to it
  2. 2.Lowercases and trims email addresses
  3. 3.Standardizes phone numbers to international format (+1, +44, etc.)
  4. 4.Maps Mobile Phone directly to MobilePhone; fills Phone with the first available of Work Direct, Corporate, Other
  5. 5.Takes the first department from Apollo's comma-separated Departments list, so a single value lands in Salesforce's Department field
  6. 6.Maps Person Linkedin Url to the custom LinkedIn_URL__c Contact field
  7. 7.Title-cases name fields
  8. 8.Normalizes country names to a standard form
  9. 9.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 file for Salesforce Contacts, or connect Salesforce and push the records straight in. You see what will be created and updated before anything is written.

Try it free

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?

The company column is mapped to Account Name. On a push, Operelio looks for a Salesforce Account with that name, creates one if there isn't a match, and sets the Contact's Account to it. A Salesforce Contact has no company field of its own, so this is what stops people landing with nothing against them. The report before the push says how many Accounts it will need to create.

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?

Not if you push from Operelio. A push matches on email before anything is written: a match updates the existing record, anything else is created, and the report shows you the split first. If you import the file through Salesforce instead, its own rules decide. 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.