Table of contents

Show all table of contents

TL;DR

Reps judge a Freshsales move by whether they can pick up where they left off: the right stage, amount, last call, and next task on day one. Deals, activities, and lead scoring each need their own handling, and the scoring model cannot move at all because it is an AI model that lives inside Freshsales.

Map pipelines and stage probabilities first, and let HubSpot set probability from the stage. Import tasks, appointments, notes, and calls with their original dates, owners, and associations. Keep the last score in a custom property for reference, rebuild scoring in HubSpot, and plan test exports carefully because Freshsales limits how often you can run them.

At a glance

Area

What to consider

Pipelines

Recreate each pipeline in use, map Won and Lost to the closed stages, and copy stage probabilities so forecasts stay comparable.

Deal probability

Avoid importing it per deal, since HubSpot stops updating it from the stage once it is imported or edited.

Close dates

Check a sample of closed deals, because HubSpot sets the close date to the day a deal moves into a closed stage.

Sales activities

Map appointments to meetings, and custom activity types to meetings or calls with a property that holds the original type.

Lead scoring

Keep the last contact score in a custom property, rebuild engagement or fit scoring in HubSpot, then retire the old value.

Export limits

Plan test exports carefully, since Freshsales restricts how often an export can run, especially over the full time range.

Sales teams judge a CRM move by one thing: can they pick up where they left off? On the first day in HubSpot, a rep expects to open a deal and see the right stage, the right amount, the last call and the next task. A Freshsales to HubSpot migration that moves the records but loses the activity timeline or scrambles the pipeline fails that test, even if every contact arrived.

This guide covers why teams move from Freshsales to HubSpot, what Freshsales data can be migrated, how to map deals and pipelines, how to migrate tasks, notes and sales activities, what happens to lead scoring and automation, and how to validate the result before reps go live.

Why Migrate from Freshsales to HubSpot?

Freshsales is a capable sales CRM, and many teams outgrow it for reasons that have little to do with its core features. The usual trigger is that sales is no longer working alone.

  • Marketing in the same system: When marketing already runs on HubSpot, keeping sales in Freshsales means two contact databases and a sync between them. Moving sales into HubSpot gives one record per customer.
  • Service and success: Teams that want tickets, onboarding and renewals attached to the same company records benefit from one shared CRM.
  • Reporting across the funnel: Revenue by campaign, source to close conversion and customer lifetime value are easier to report when every stage sits in one system.
  • Ecosystem: HubSpot's app marketplace and native tools often replace several point integrations.

A Freshsales CRM migration is also a good time to simplify. Old pipelines, unused custom fields and sales activity types that nobody logs anymore do not need to come across. Every item you leave behind is one less thing to map and test.

What Freshsales Data Can Be Migrated?

Freshsales provides a full data export. Its support documentation explains that you export data from Admin Settings, Account Settings, by choosing a time period and the records to include, and that the export arrives as a Zip file by email. Freshsales lists contacts, activities, deals, sales activities, user information, email logs and email conversations among the data you can export. It also notes that you can export CRM data up to five times a day, and over the full time range only once, so plan test exports carefully.

Freshsales data

HubSpot destination

Notes

Contacts

Contacts

Email is HubSpot's main deduplication key

Accounts

Companies

Domain is HubSpot's deduplication key

Deals

Deals

Map pipelines and stages first

Tasks

Tasks

Keep due date, owner and status

Appointments (meetings)

Meetings

Keep start time and attendees

Notes

Notes

Associate with the right record

Custom sales activities

Calls, meetings, notes, or a custom property

See the activities section

Email conversations

Email activities

Check what the export contains

Contact score

Custom property, for reference

Scoring logic is rebuilt, not migrated

Workflows and sequences

Rebuilt in HubSpot

Logic does not migrate


Before mapping, confirm the export covers every module you need. If anything is missing from the bulk export, such as files or a specific activity type, plan another route, such as module level exports or the Freshsales API, before the project timeline is fixed.

For the Freshsales contacts to HubSpot step, start with clean data. Merge duplicate contacts in Freshsales before export where you can, and make sure every contact has an email or another unique identifier. Store the Freshsales record ID on every HubSpot record in a unique-value property. It is the key that links deals, activities and associations later, and it lets you reimport failed rows without duplicates.

Users come before records. Every Freshsales user who owns contacts, deals or activities should exist as a HubSpot user before import, so ownership is assigned correctly. For users who have left, decide whether their records go to a manager, a shared placeholder user or the territory's new owner. Write the rule down, because it affects every owner based report after go-live.

Mapping Deals and Sales Pipelines

Deals are where reps feel the migration most, so map them carefully. Freshsales supports multiple deal pipelines, with limits by plan that its documentation lists as 1 on Growth, 10 on Pro and 25 on Enterprise. Each pipeline has its own stages, starting with New, Won and Lost, and each stage can carry a probability.

HubSpot deal pipelines work in a similar way. Each pipeline has stages, each stage has a win probability, and HubSpot calculates a weighted amount from the deal amount and its probability. HubSpot's pipeline limits also vary by subscription, so confirm your plan allows the number of pipelines you need.

Work through the Freshsales deals migration in this order:

  • Pipelines: Recreate each Freshsales pipeline that is still in use as a HubSpot deal pipeline. Merge pipelines that differ only in name.
  • Stages: Map each Freshsales stage to a HubSpot stage, keeping the order. Map Won and Lost to HubSpot's closed won and closed lost stages.
  • Probabilities: Copy each stage probability to the matching HubSpot stage, so weighted forecasts stay comparable.
  • Deal fields: Map amount, expected close date, owner, source, lost reason and custom fields to HubSpot deal properties. Create every dropdown option before import.
  • Associations: Link each deal to its contacts and account. Import companies and contacts first, then deals with the Freshsales IDs of their related records.

Freshsales deal field

HubSpot deal property

Notes

Deal name

Deal name

Required

Deal value

Amount

Check currency

Pipeline and stage

Pipeline and deal stage

Map by meaning

Expected close date

Close date

Keep original dates on closed deals

Owner

Deal owner

User must exist in HubSpot

Probability

Deal probability (by stage)

Avoid importing it per deal

Lost reason

Closed lost reason

Create options before import

Contacts and account

Deal associations

Match on Freshsales IDs


Two details catch many teams. First, Freshsales notes that individual deal probabilities can be changed by hand. HubSpot notes that importing or editing deal probability stops it from updating automatically when the stage changes, so let HubSpot set probability from the stage unless you need per deal values. Second, HubSpot sets the close date to the current day when a deal moves to a closed stage, so check a sample of imported closed deals to confirm their original close dates survived.

Migrating Tasks, Notes, and Sales Activities

The activity timeline is what reps rely on to remember where a deal stands. Freshsales describes sales activities as a record of meetings and conversations with prospects and their results. It includes default activity types, such as tasks and appointments, and lets admins on Pro plans and above create custom activity types with their own outcomes.

HubSpot's import tool supports activities. HubSpot notes that its multiple object import can create emails, meetings, notes and tasks, and can create and update calls, and that emails, meetings and notes must be associated with an object. That makes the mapping straightforward for default types:

  • Tasks: HubSpot tasks, with subject, due date, owner and status. Import open tasks with care, because they will appear in reps' task queues.
  • Appointments: HubSpot meetings, with start and end time, attendees and outcome.
  • Notes: HubSpot notes, associated with the contact, company or deal they belong to.
  • Calls: HubSpot calls, with outcome and duration where the data exists.
  • Email conversations: HubSpot email activities, with their original timestamps.

Custom sales activity types need a decision. A Freshsales activity type such as "Demo" or "Site visit" usually maps to a HubSpot meeting or call with a property that records the original type. HubSpot calls and meetings also carry an outcome, which can hold the Freshsales activity outcome.

Keep three things on every imported activity: the original date, the owner who logged it, and its associations. Without the date, the timeline reads in the wrong order. Without the owner, activity reports break. Without associations, the activity is invisible on the record where reps look for it.

Decide how far back to go. Many teams migrate full activity history for open deals and active customers, and a shorter window for closed or inactive records.

Handling Lead Scoring and Automation

Freshsales lead scoring does not migrate as logic. Freshsales describes its contact scoring as AI driven: Freddy calculates scores from historical contact properties, engagement and web and in-app activity, with scores from 0 to 99, and admins can tune the scoring signals. That model lives inside Freshsales, and HubSpot cannot import it.

What you can do is preserve the current values and rebuild the scoring in HubSpot:

  • Keep the last score: Import the Freshsales score into a custom number property, such as "Freshsales score at migration". It gives reps continuity in the first weeks and a baseline to compare against.
  • Rebuild in HubSpot: HubSpot's lead scoring tool supports engagement scores, fit scores and combined scores. HubSpot notes that contact scores need Marketing Hub, company scores need Marketing Hub or Sales Hub, and deal scores need Sales Hub, all on Professional or Enterprise.
  • Use thresholds: HubSpot groups scores into thresholds, such as High, Medium and Low, or A1 to C3 for combined scores, which makes routing and segments easier.
  • Retire the old score: Once the HubSpot score is tuned, stop using the imported value so reps do not compare two different models.

Engagement history affects the new score. A fresh HubSpot engagement score only sees activity that happened in HubSpot, or that was imported as activity. Expect scores to settle over the first few weeks as new engagement builds up.

Automation follows the same rule. Freshsales workflows, sequences and assignment rules are logic, not data. List each one, decide whether it is still needed, and rebuild it as a HubSpot workflow, sequence or rotation rule. Turn new workflows on only after the data is imported, so they do not fire on thousands of migrated records at once.

Post-Migration Validation

Validation proves that HubSpot matches Freshsales. Base it on counts and comparisons, not on scrolling through records that look fine.

Check

How to run it

Pass condition

Record counts

Compare Freshsales exports to HubSpot counts per object

Counts match, minus agreed exclusions

Duplicates

Search on email, domain and Freshsales IDs

No unexpected duplicates

Pipeline totals

Deal count and amount per pipeline and stage

Matches Freshsales

Closed deals

Closed won amount by month

Matches by month

Associations

Sample deals for contacts and company

All links present

Activities

Count tasks, meetings, calls and notes per owner

Counts match

Timeline

Open sampled deals and compare timelines

Activities in the right order and record

Scores

Compare imported score property to Freshsales

Values match


Ask a few reps to review their own deals before go-live. They will spot a missing call or a wrong stage faster than any report. Fix the mapping, not the records, then reimport affected rows using the Freshsales ID as the identifier.

Plan the cutover so reps never work in two systems at once. A common pattern is to migrate historical data first while the team keeps selling in Freshsales, then pick a cutover day, freeze Freshsales, run a final delta migration of records changed since the first run, and switch email and calendar connections to HubSpot. Keep Freshsales read-only for a few weeks so anyone can check a record if something looks wrong, then retire it.

Conclusion

A successful Freshsales move rests on a handful of decisions: which pipelines and stages to keep, how stage probabilities carry over, how default and custom sales activities appear in HubSpot, and how lead scoring and automation are rebuilt rather than copied. Import companies and contacts first, keep the Freshsales ID on every record, and validate pipeline totals and timelines with the reps who own them.

Start with a test import of a few hundred records across every pipeline and activity type, and fix the mapping before the full run. For broader help, from data model to go-live, OneMetric's HubSpot CRM migration services support each step. 

Summarize and analyze this article with:

Frequently Asked Questions

Yes. Freshsales lets admins export contacts, deals, sales activities, email conversations and more, and that data can be imported into HubSpot contacts, companies, deals and activities. Workflows, sequences and scoring models are rebuilt rather than migrated.

Yes. Each Freshsales pipeline is recreated as a HubSpot deal pipeline with matching stages and probabilities, then deals are imported with their amounts, close dates, owners and associations. Let HubSpot set deal probability from the stage unless you need per deal values.

They are rebuilt. Freshsales contact scoring is an AI model that cannot be imported, so keep the last score in a custom property for reference and build new engagement, fit or combined scores in HubSpot's lead scoring tool.

Yes. Tasks, appointments, notes, calls and email conversations can be imported as HubSpot activities with their original dates, owners and associations. Custom Freshsales activity types usually become meetings or calls with a property that records the original type.

 

Relatable? We should definitely talk.

All that we’ll cover when we speak:

  • How to measure and multiply the ROI of your HubSpot investment
  • How can you integrate systems to eliminate data silos and make HubSpot the Single source of truth for your GTM teams
  • Your current GTM motions and future roadmap
  • Challenges that you face with your HubSpot
  • What would 'wins' look like for you
Book Meeting