CRM migration

Migrate from Freshsales to HubSpot

Field-level mapping, validation, and rollback between Freshsales and HubSpot. We move data and schema; workflows are rebuilt natively in HubSpot.

Freshsales logo

Freshsales

Source

HubSpot

Destination

HubSpot logo

Compatibility

100%

10 of 10

objects map 1:1 between Freshsales and HubSpot.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Try the reverse

HubSpot
Freshsales

Overview

What this migration involves

Freshsales organizes its CRM around a Lead-Contact-Account-Opportunity model with a contact lifecycle stage property, deal pipelines with configurable stages, built-in Freddy AI scoring, and a product catalog with deal line items. HubSpot uses a unified Contact object with a lifecycle_stage property, deals with drag-and-drop pipeline stages, and a slightly different convention for product-to-deal linking via line items. FlitStack AI extracts Freshsales data via its REST API, normalizes field names and value pick-lists across all objects, maps lifecycle stages to HubSpot's lifecycle_stage property, preserves the product catalog as line items, and delivers a sample migration with field-level diff before the full run. Our migration engine handles owner resolution by email lookup, date-field preservation as custom properties, and deal stage value-mapping per pipeline. Workflows, sequences, and Freddy AI scoring models must be rebuilt in HubSpot — we export Freshsales workflow definitions as JSON and provide a rebuild reference document so your admin can reconstruct automation logic in HubSpot workflows and sequences after migration completes.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

Freshsales logo

Freshsales

What's pushing teams away

  • The UI is described as difficult to navigate with poor documentation on integrations, and reporting lacks the depth available in HubSpot.
  • AI features like Freddy AI scoring and deal predictions are locked behind the Pro $39/user/month tier despite heavy marketing of AI capabilities.
  • Bot sessions are limited to 500 one-time with no monthly refresh, and phone calls incur per-minute charges that add up for global teams.
  • Post-migration from Freshsales Classic, outgoing emails are disabled, workflows and sequences do not execute, and DNS records must be reconfigured.

Choosing

HubSpot logo

HubSpot

What's pulling them in

  • Lowest barrier to entry of any major CRM — the free tier with unlimited contacts lets teams validate fit before committing to a paid plan, according to G2 and Capterra reviewers.
  • Native integration between the CRM and sales engagement tools (sequences, email tracking, dialer) means no separate sync configuration, a theme across G2 Sales Hub reviews.
  • Pipeline visualization, deal tracking, and automated workflows are consistently praised as intuitive and easy to set up without developer involvement.
  • Strong onboarding for new team members — reviewers on Capterra and G2 highlight how quickly new reps become productive without formal training.
  • The HubSpot platform ecosystem (Marketing, Sales, Service, CMS hubs) allows growing companies to consolidate tools without building new integrations.

Object mapping

How Freshsales objects map to HubSpot

Each row shows how a Freshsales object lands in HubSpot, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

Freshsales

Lead

maps to

HubSpot

Contact

1:1
Fully supported

Freshsales Lead maps to HubSpot Contact. Unconverted Freshsales leads land as HubSpot contacts directly. The Freshsales lead_status field maps to HubSpot's hs_lead_status property via value-mapping. Original lead create date is preserved as a custom datetime field since HubSpot overwrites CreatedDate at import time.

Freshsales

Contact

maps to

HubSpot

Contact

1:1
Fully supported

One-to-one mapping. Freshsales contacts transfer as HubSpot contacts with name, email, phone, job title, and address fields preserved. The Freshsales lifecycle_stage property becomes a HubSpot custom property since HubSpot's native lifecycle_stage model differs. Freddy AI score migrates as a custom number property.

Freshsales

Account

maps to

HubSpot

Company

1:1
Fully supported

Freshsales Account maps to HubSpot Company. Company name, domain, industry, employee count, and annual revenue transfer directly as matching HubSpot properties. Freshsales parent_account_id maps to HubSpot's parent_company_id for hierarchy preservation between parent and subsidiary companies. N:N contact-to-account associations in Freshsales collapse to HubSpot's primary company association per contact, so each contact retains one primary company link in HubSpot.

Freshsales

Deal

maps to

HubSpot

Deal

1:1
Fully supported

Freshsales deal maps to HubSpot deal. Deal name, amount, close date, owner, and create date all transfer. Pipeline stages map via value-mapping to HubSpot deal stages — teams using multiple Freshsales pipelines should note that HubSpot Starter supports one pipeline; additional pipelines require Enterprise licensing.

Freshsales

Pipeline

maps to

HubSpot

Pipeline (Deal)

1:1
Fully supported

Freshsales pipelines become HubSpot deal pipelines. When Freshsales has multiple pipelines, we map each to a separate HubSpot pipeline on Enterprise tier or consolidate into stages within a single pipeline on Starter/Professional tier. Stage ordering, probability percentages, and forecast categories transfer as deal stage metadata. Pipeline consolidation decisions are made during the discovery phase before migration mapping is finalized.

Freshsales

Lifecycle Stage

maps to

HubSpot

lifecycle_stage (Custom Property)

1:1
Fully supported

HubSpot has no direct equivalent to Freshsales lifecycle stage values. We create a custom lifecycle_stage property in HubSpot and migrate the original values as a pick-list. Stage-change history is preserved as a custom audit text field. Sales teams should rebuild stage-progression logic in HubSpot workflows after migration.

Freshsales

Activity (Call / Email / Meeting / Note)

maps to

HubSpot

Engagement (Calls, Emails, Meetings) / Note

1:1
Fully supported

Freshsales call logs, emails, meetings, and notes attach to their parent contact record in HubSpot as engagements. Original timestamps, owners, and direction metadata (inbound/outbound for calls) are preserved during transfer. Meeting start/end times and duration transfer to HubSpot's meeting engagement record format, including location and invitee details where available.

Freshsales

Product

maps to

HubSpot

Product + Line Item

1:1
Fully supported

Freshsales products migrate as HubSpot Products with name, description, and price preserved. Freshsales deal_products (quantity, discount, unit price) map to HubSpot deal line items linked to the deal record. Product associations between line items and the parent Product record are established during migration so HubSpot reporting can roll up product revenue. Bundled or composite product relationships require manual reconstruction in HubSpot's product bundles feature after migration.

Freshsales

Custom Object

maps to

HubSpot

Custom Object

1:1
Fully supported

Freshsales custom objects (Enterprise tier) map 1:1 to HubSpot custom objects (Professional/Enterprise tier). N:N associations between custom objects and standard objects in Freshsales require HubSpot custom associations, which we configure during migration. Custom object schemas must be reviewed for compatibility with HubSpot's custom object field type restrictions.

Freshsales

Attachment / File

maps to

HubSpot

HubSpot Files

1:1
Fully supported

Freshsales file attachments on contacts, accounts, and deals re-upload to HubSpot Files and attach to the corresponding record. Files larger than 25MB are flagged before migration — teams should split or compress oversized files. Inline images embedded in Freshsales notes download and rehost during migration.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

Freshsales logo

Freshsales gotchas

Medium

Freddy AI is Pro-tier only despite heavy marketing

High

Post-migration emails and sequences are disabled

Medium

Bot session credits are a one-time 500-session allocation

Medium

Phone credits charged per minute with no cap

Low

File storage limits scale with plan tier

HubSpot logo

HubSpot gotchas

High

Marketing Contacts billing model is migration-critical

High

Feature tier gating is not visible until onboarding

Medium

Mandatory onboarding fees inflate year-one cost

Medium

HubSpot CSV importer cannot migrate engagements or attachments

Medium

Custom objects require Enterprise and a pre-existing schema

Pair-specific challenges

  • Freddy AI contact scoring has no native HubSpot equivalent

    Freshsales Freddy AI contact scoring generates a numeric score stored on the contact record. HubSpot has no built-in AI scoring engine at the CRM level — predictive lead scoring requires a separate paid add-on on top of HubSpot's base subscription. We migrate the historical score as a custom number field (freddy_ai_score__c) so historical score data is preserved. However, the scoring model itself — which behaviors drive points up or down — must be rebuilt in HubSpot's workflow-based scoring or a third-party enrichment tool. This is a high-severity gotcha for teams whose sales process relies on Freddy AI to prioritize outreach.

  • Multiple Freshsales pipelines require HubSpot Enterprise licensing or pipeline consolidation

    Freshsales supports multiple parallel deal pipelines with independent stage sets on the same account — a common configuration for teams managing different product lines or business units. HubSpot Sales Hub Starter and Professional support one deal pipeline. Multiple pipelines require HubSpot Sales Hub Enterprise. We flag every Freshsales pipeline during the discovery phase. If your team uses more than one pipeline, either upgrade to HubSpot Enterprise before migration or consolidate pipelines into a single pipeline with grouped stages — each option affects the migration mapping and requires a decision before the migration runs.

  • Lifecycle stage migration preserves values but not progression logic

    Freshsales lifecycle stages track how a contact progresses through the sales funnel — Subscriber, Lead, MQL, SQL, Customer, Evangelist. HubSpot has its own lifecycle_stage property with a default set of values. We map Freshsales lifecycle values to a custom property, preserving the original values for each contact. However, the stage-transition triggers that advance contacts through stages in Freshsales (workflows, form submissions, email opens) do not migrate. Your team needs to rebuild lifecycle-progression logic in HubSpot workflows using enrollment criteria. Without this rebuild, contacts imported with a Customer lifecycle stage will not auto-advance on future activities.

  • File attachments exceeding 25MB require pre-migration handling

    Freshsales stores files up to 100GB per user on Enterprise tier. HubSpot enforces a 25MB per-file limit on file attachments during import. We flag every Freshsales file attachment over 25MB before the migration runs. Options include splitting large files into smaller chunks, compressing images, or archiving oversized files to a linked storage URL referenced in a custom text field on the record. This is not automatic — teams need to decide on an archival strategy before migration day.

  • Deal product line items require product catalog pre-setup in HubSpot

    Freshsales links products to deals via deal_products with quantity, unit price, and discount per line. HubSpot links products to deals through the Products object and line items. The Freshsales product catalog must exist as HubSpot Products before deal line items can link correctly. If products do not exist in HubSpot at migration time, deal line items land as orphaned text values. We create the product catalog in HubSpot as part of the migration plan — but product descriptions, pricing, and bundles require an admin review step before we can finalize the mapping.

Migration approach

Six steps for a successful Freshsales to HubSpot data migration

  1. Export and audit Freshsales data via API

    FlitStack AI connects to Freshsales via its REST API using scoped read credentials. We export all standard objects (leads, contacts, accounts, deals, pipeline stages, products, activities) and any custom objects present on your account. During export, we run a data quality audit: flag duplicate contacts, identify missing required fields, and surface any field values that will not map cleanly to HubSpot's property types. This audit report goes to your team before the migration plan is finalized.

  2. Map Freshsales objects and properties to HubSpot schema

    We create a detailed mapping document for every object and property in your Freshsales account. Lifecycle stages map to a custom lifecycle_stage property in HubSpot. Freddy AI scores map to a custom number field. Deal pipelines map to HubSpot deal pipelines or stage groups depending on your target HubSpot tier. Products map to the HubSpot Products object. Each mapping is reviewed with your team and validated against HubSpot's property type restrictions before any data moves.

  3. Run a sample migration with field-level diff

    A representative sample — typically 50-200 records spanning contacts, accounts, deals, and a few activities — migrates into your HubSpot account before the full run. We generate a field-level diff between the source Freshsales record and the destination HubSpot record so you can verify lifecycle stage mapping, deal stage mapping, owner resolution, and file attachment handling. Any mapping corrections are applied before the full migration commits.

  4. Execute full migration with delta-pickup window

    The full migration runs against HubSpot using bulk API operations with batched record processing for efficiency. A delta-pickup window (typically 24-48 hours) captures any records created or modified in Freshsales during the migration and cutover period to ensure HubSpot reflects your final Freshsales state at go-live. Every operation is logged in a detailed audit report with record counts, error details, and skipped records. One-click rollback is available if reconciliation identifies data integrity issues. After rollback verification, your team can decommission the Freshsales account.

Platform deep dives

Context on both ends of the pair

Freshsales logo

Freshsales

Source

Strengths

  • Generous free tier for small teams with core CRM functionality without per-seat costs.
  • All-in-one sales CRM with built-in telephony, chat, and email reducing third-party tool dependency.
  • Freddy AI contact scoring and deal predictions available on Pro tier.
  • Multiple pipeline views with Kanban and list options across all plans.

Weaknesses

  • Reports lack depth compared to competitors like HubSpot, with limited customization options.
  • Integration setup is poorly documented with no clear guides for connecting third-party tools.
  • AI features gated behind $39/user/month Pro tier despite marketing emphasis on Freddy AI.
  • Bot sessions limited to 500 one-time allocation with no monthly refresh.
HubSpot logo

HubSpot

Destination

Strengths

  • Genuinely useful free CRM tier with no seat limit on contact records.
  • All-in-one sales engagement layer (sequences, email tracking, calling, dialer) embedded natively in the CRM, eliminating a separate integration.
  • Intuitive interface and fast onboarding for individual reps, per G2 and Capterra reviews.
  • Workflow automation triggers across contacts, deals, and tickets with a visual builder.
  • API coverage for all standard objects including custom objects at Enterprise tier.

Weaknesses

  • Pricing model is contact-based at the marketing layer — importing all records as marketing contacts can multiply the monthly bill by 4×.
  • Feature tier cliffs are frequent surprises: sequences, calling, advanced reporting, and quoting are all gated, often requiring plan upgrades mid-implementation.
  • Mandatory onboarding fees at Professional ($1,500) and Enterprise ($3,500) are not prominently disclosed on the pricing page.
  • API rate limits are restrictive for bulk migration — burst limits of 100-200 req/10sec and search endpoint limits of 4 req/sec require careful job queuing.
  • Custom objects, additional pipelines, and advanced forecasting are Enterprise-only, making cost projections difficult for growing teams.

Complexity grading

How hard is this migration?

Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across Freshsales and HubSpot.

  • Object compatibility

    B

    2 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    Freshsales: Not publicly documented on Freshworks CRM; Freshdesk docs reference rate limits but Freshsales-specific limits are undocumented.

  • Data volume sensitivity

    B

    Freshsales doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your Freshsales to HubSpot migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about Freshsales to HubSpot data migrations

Answers to the questions buyers ask most during Freshsales to HubSpot migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your Freshsales to HubSpot migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most Freshsales-to-HubSpot migrations complete in 48-72 hours of clock time for under 50,000 records. Larger datasets with 500k+ records, multiple deal pipelines, or Enterprise-tier custom objects extend to 5-7 days. The longest step is pipeline consolidation planning and lifecycle-stage mapping configuration before any data moves. HubSpot Enterprise licensing must be in place before migration if your Freshsales account uses multiple pipelines.

Adjacent paths

Related migrations to explore

Ready when you are

Move from Freshsales.
Land in HubSpot, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day