How to import HubSpot data into Salesforce Leads
Moving from HubSpot to Salesforce? This template maps 14 fields including name, email, phone, company, title, and full address to Salesforce lead properties. Lead Status carries over to Salesforce's Status picklist, and Lifecycle Stage lands in Description so reps see the HubSpot context. Two things to know before you start: Salesforce requires LastName and Company on every lead, and HubSpot doesn't require either, so contacts often have blanks. The Before you start section below explains how to handle both.
Field-by-field mapping
This is the complete column mapping from HubSpot 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 2 required fields that need attention before upload. You can still use this template. The steps below tell you what to add and where.
- Last NameLastName
Salesforce requires LastName on every lead. HubSpot doesn't enforce a Last Name, so contacts saved with only an email or only a first name leave the column blank, and Salesforce rejects those rows.
What to do. Before upload, fill any blank Last Name cells with a placeholder like 'Unknown' so every row passes Salesforce's import validation.
- Company
Salesforce requires Company on every lead. HubSpot's Company Name is optional and B2C contacts often leave it blank.
What to do. Before upload, fill blank Company Name cells with a placeholder like 'Individual'. Or set a default Company in Salesforce after import using bulk-edit on the new leads.
| First Name | First NameFirstName | |
| Last Name | Last Name*LastName | |
| Email TransformLowercased and trimmed | ||
| Phone Number | Phone TransformStandardized to international format (+1, +44, etc.) | |
| Company Name | Company* | |
| Job Title | Title | |
| Website URL | Website | |
| Street Address | Street | |
| City | City | |
| State/Region | State/ProvinceState | |
| Postal Code | Zip/Postal CodePostalCode | |
| Country/Region | Country | |
| Lifecycle Stage | Description HubSpot's lifecycle stage (subscriber, lead, MQL, SQL, opportunity, customer) is stored in Salesforce's Description field so reps see the HubSpot context. | |
| Lead Status | Lead StatusStatus HubSpot's Lead Status carries over to Salesforce's Lead Status picklist. Add any missing values to your Salesforce picklist before upload. |
Required by Salesforce Leads.
Formatting and cleanup
HubSpot 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.Stores HubSpot's Lifecycle Stage in Salesforce's Description field so the source context is preserved
- 4.Maps HubSpot's Lead Status to Salesforce's Status picklist
- 5.Renames HubSpot's 'State/Region' and 'Country/Region' headers to Salesforce's State and Country fields
Or skip the manual work
Operelio runs this cleanup and mapping for you. Upload your HubSpot export and download a clean, import-ready file for Salesforce Leads.
HubSpot to Salesforce Leads FAQ
How do I export contacts from HubSpot?
In HubSpot, go to Contacts, click the Actions menu, choose Export, select 'All properties' and CSV format, then download. HubSpot will email you the file when it's ready.
Where does Lifecycle Stage land in Salesforce?
Salesforce doesn't have a direct equivalent to HubSpot's lifecycle stage model. The template stores the HubSpot value in Salesforce's Description field so reps see the original stage on each lead. If you want stage as a sortable field, create a custom Salesforce picklist called HubSpot Lifecycle and re-map the column on a second run.
What happens to Lead Status?
HubSpot's Lead Status maps to Salesforce's Lead Status picklist. Salesforce will reject values that aren't in your picklist, so review HubSpot's status values and add any missing entries to Salesforce's picklist before upload.
Will custom HubSpot properties transfer?
This template maps the 14 standard fields listed above. Custom properties appear in the export but need manual mapping in Operelio to reach Salesforce.
What about deals, companies, and pipeline data?
This template handles contact records only. HubSpot deals, company records, and pipeline data require separate exports and different Salesforce import processes.
Will this create duplicate leads in Salesforce?
Salesforce checks for duplicates based on your org's matching rules. Review your duplicate settings before importing to control how matches are handled.