HubSpotHubSpotFreshsales ContactsFreshsales Contacts11 fields

How to import HubSpot data into Freshsales

Moving from HubSpot to Freshsales? This template maps 11 fields including name, email, phone, company, title, and the full address to Freshsales's snake_case contact fields. Freshsales requires last_name on every contact; HubSpot doesn't, so the Before you start section below explains how to handle blanks.

Try it freeNo credit card needed

Field-by-field mapping

This is the complete column mapping from HubSpot to Freshsales. The left column is the header in your CSV export. The right column is the Freshsales field it should map to.

Before you start

This template's destination has a required field that needs attention before upload. You can still use this template. The steps below tell you what to add and where.

  • Last Namelast_name

    Freshsales requires last_name on every contact. HubSpot doesn't require it, so contacts often have blanks.

    What to do. Before upload, fill any blank Last Name cells with a placeholder like 'Unknown' so every row passes Freshsales's import validation.

HubSpotHubSpot columnFreshsales ContactsFreshsales field
First NameFirst Namefirst_name
Last NameLast Name*last_name
EmailEmailemail

TransformLowercased and trimmed

Phone NumberWork Numberwork_number

Freshsales splits phone into Work and Mobile. HubSpot only exports one phone column, so we map it to Work by default.

TransformStandardized to international format (+1, +44, etc.)

Company NameCompany Namecompany_name
Job TitleJob Titlejob_title
Street AddressAddressaddress
CityCitycity
State/RegionStatestate
Postal CodeZip Codezipcode
Country/RegionCountrycountry

Required by Freshsales.

Columns we don't use

Your HubSpot export includes 3 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in Freshsales.

Website URL

Freshsales doesn't have a Website field on contacts by default. Websites live on the Account record in Freshsales's data model.

If you need it. Add a custom URL field on the Freshsales Contact called Website, or update the Account record's website after import.

Lifecycle Stage, Lead Status

Freshsales uses its own Lifecycle Stage field on contacts, but the values are set per-org and may not match HubSpot's exactly. Lead Status doesn't have a direct contact-level equivalent.

If you need it. After import, map HubSpot's Lifecycle Stage to Freshsales's Lifecycle Stage manually. For Lead Status, add a custom picklist on the Freshsales Contact with values matching your HubSpot setup.

Formatting and cleanup

HubSpot exports rarely match the format Freshsales expects. Fix these before you import.

  1. 1.Lowercases and trims email addresses
  2. 2.Standardizes phone numbers to international format (+1, +44, etc.)
  3. 3.Renames HubSpot columns to Freshsales's snake_case API names
  4. 4.Maps Phone Number to Freshsales's work_number field by default
  5. 5.Maps HubSpot's address block to Freshsales's address, city, state, zipcode, 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 Freshsales.

Try it free

HubSpot to Freshsales 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.

Why does Phone Number go to work_number?

Freshsales splits phone numbers into Work and Mobile. HubSpot only exports one phone column without labeling it, so we default to work_number. Remap to mobile_number after upload if your HubSpot phones are consistently mobile numbers.

Freshsales requires last_name. What if my HubSpot contacts have blanks?

The 'Before you start' banner above explains the workaround: fill blank Last Name cells with 'Unknown' before upload so every row passes Freshsales's import validation.

Will this create duplicate contacts in Freshsales?

Freshsales uses email as the unique identifier on contacts. Contacts with matching emails update the existing record. New emails create new contacts.

What about HubSpot Deals and Companies?

This template handles HubSpot Contacts only. HubSpot Companies map to Freshsales Accounts, and HubSpot Deals map to Freshsales Deals. Both require separate exports and different mapping templates.