How to import Apollo.io data into Salesforce Leads
Apollo.io exports people lists as CSV files. This template maps the export to Salesforce's standard lead fields: names, email, job title, company, website, industry, the person's location, 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. The Person Linkedin Url column maps to the custom LinkedIn_URL__c Lead field, so create that field on the Lead object in Salesforce before importing, or repoint the mapping in the column mapper. Lead Source is set to Apollo.io and Status to Open - Not Contacted on every row. Phones are standardized, emails are lowercased, and country names are normalized. On Apollo's free plan the Email column arrives with the placeholder email_not_unlocked@domain.com for locked records; the top FAQ covers what to do. Data Salesforce has no standard lead field for, like Seniority and Email Status, is listed in the Columns we don't use section.
Field-by-field mapping
This is the complete column mapping from Apollo.io to Salesforce Leads. The left column is the header in your CSV export. The right column is the Salesforce Leads field it should map to.
Before you start
This template's destination has 3 required fields that need attention before upload. You can still use this template. The steps below tell you what to add and where.
- Email
Salesforce Leads require Email when org-level validation is on. Apollo's free tier writes the placeholder email_not_unlocked@domain.com in the Email column for records you haven't spent credits to reveal; those rows pass Salesforce's required-field check but land with junk emails that won't deliver.
What to do. Reveal the contacts in Apollo and re-export, or filter rows with email_not_unlocked@domain.com out of your CSV before uploading.
- Last NameLastName
Salesforce requires Last Name on every lead. Apollo's people export ships a Last Name column on every row, so this is reliably populated; the caveat is when you've manually edited the export and blanked it out.
What to do. Scan your CSV for blank Last Name rows before uploading.
- Company
Salesforce requires Company on every lead. Apollo's people export ships a Company column on every row, so this is reliably populated.
What to do. Scan your CSV for blank Company rows before uploading. Fill any blanks with a placeholder ('Unknown').
| First Name | First NameFirstName | |
| Last Name | Last Name*LastName | |
| 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 Lead field that's often hidden in the default layout. If you don't see it, add MobilePhone to your Lead page layout in Salesforce setup before importing. TransformStandardized to international format (+1, +44, etc.) | |
| Work Direct Phone → Corporate Phone → Other Phone | Phone Salesforce Leads 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.) | |
| Company | Company* | |
| Website | Website Apollo ships the company website. Salesforce Leads store it on the Lead's Website field. | |
| Industry | Industry | |
| "Apollo.io" | Lead SourceLeadSource Set on every row. Change the value, or remove it, in the column mapper if your process records lead source differently. | |
| "Open - Not Contacted" | Lead StatusStatus Set on every row. This is Salesforce's standard new-lead status. If your org renamed its Lead Status picklist, change the value in the column mapper to match before you run the job. | |
| Person City | City Apollo ships both a person location and a company location. This template maps the person-location columns to the Lead's address fields. | |
| Person State | State/ProvinceState | |
| Person Country | Country | |
| Person Linkedin Url | LinkedIn URLLinkedIn_URL__c Maps to a custom Salesforce field called LinkedIn_URL__c. Create that field on the Lead object in Salesforce before importing, or open the mapping in Operelio and point the column at a different field instead. |
Required by Salesforce Leads.
Columns we don't use
Your Apollo.io export includes 18 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Salesforce Leads.
- Email Status
Salesforce Leads 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 Lead field if you want to filter on email quality in Salesforce.
- Seniority
Salesforce Leads 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 Lead field such as Seniority__c if you want seniority in Salesforce.
- Departments
Salesforce Leads have no native department field. Apollo ships several departments per row, comma-separated.
If you need it. Map it by hand to a custom Lead field called Departments__c if you want department in Salesforce.
- Corporate Phone, Other Phone
Salesforce Leads 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 Lead 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 Lead field.
- Annual Revenue
Salesforce Lead has an AnnualRevenue field at the API level, but Operelio's Salesforce Leads schema is the core lead field set and does not expose it.
If you need it. Map it by hand to a custom numeric Lead field, or land it on the Account record after the lead converts.
- Company Linkedin Url, Company Description, Founded Year
These are company-level data points. Salesforce Leads 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
Salesforce Leads have one address block, which this template fills from Apollo's person-location columns. The company-location block is a second address and there is no native place for it on the Lead.
If you need it. Land the company address on the Salesforce Account record in a separate pass if you need it.
- Lists
Salesforce Leads 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 Lead field in Salesforce called Apollo List, then open the column mapper and route Lists to it.
- Created Date
Salesforce Leads 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 Lead field in Salesforce (date type) called Apollo Created Date, then route Created Date to it in the column mapper.
- Account Owner
Salesforce Leads 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 Lead 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.
- # Employees
Salesforce Leads have no native employee-count field on the standard layout. Employee count is company-level data that belongs on the Salesforce Account record.
If you need it. Run a separate Apollo to Salesforce Accounts pass to land employee count on the Account record.
Formatting and cleanup
Apollo.io exports rarely match the format Salesforce Leads 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.Maps Person Linkedin Url to the custom LinkedIn_URL__c Lead field
- 5.Sets Lead Source to Apollo.io and Status to Open - Not Contacted on every row
- 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 Leads.
Apollo.io to Salesforce Leads 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, so they don't land in Salesforce as junk leads.
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, which can take a few minutes for large lists. Upload that CSV to Operelio to map it to Salesforce lead fields.
How does the template handle Apollo's four phone columns?
Apollo ships Mobile Phone, Work Direct Phone, Corporate Phone, and Other Phone. Mobile Phone maps directly to Salesforce's native MobilePhone field. The Phone field is filled from the first available of Work Direct, Corporate, and Other. All numbers are standardized to international format before import. MobilePhone is a standard Salesforce Lead field that's often hidden in the default layout; add it in Salesforce setup if you don't see it.
Why does the template set Lead Source and Status?
A freshly sourced Apollo list is a new lead from Apollo, so the template sets Lead Source to Apollo.io and Status to Open - Not Contacted on every row. Open - Not Contacted is Salesforce's standard new-lead status. If your org renamed its Lead Status picklist, change the value in the column mapper to match before you run the job.
Does this template handle Apollo's LinkedIn URLs?
Yes. The Person Linkedin Url column is mapped to a custom Salesforce field called LinkedIn_URL__c. Create that field on the Lead object in Salesforce before importing, or open the mapping in Operelio and point the column at a different field instead.
Will this create duplicate leads?
Salesforce checks for duplicates based on your org's matching rules. Review your duplicate settings in Salesforce Setup before importing to control how matches are handled, especially if you already have leads from the same Apollo searches.