Skip to content

Migration guide · CRM Platform

HubSpot to Salesforce migration

HubSpotSalesforce

Short answer

A HubSpot to Salesforce migration moves companies, contacts, deals, tickets and activity into Salesforce accounts, contacts, opportunities and cases, and rebuilds workflows as Salesforce flows. Firms usually move when they need deeper customization, an industry data model such as Financial Services Cloud, or enterprise-scale reporting and security.

Why firms make this move

HubSpot is fast to adopt, but some firms reach the point where they need complex processes, granular sharing, industry objects or integrations with core systems that Salesforce handles better. Many keep HubSpot for marketing and move sales and service to Salesforce, connected by the native connector.

Deciding what stays in HubSpot and what moves is the first design decision.

What moves

  • Companies, contacts and their associations
  • Deals, pipelines and line items
  • Tickets and conversations
  • Emails, calls, meetings, notes and tasks
  • Custom objects and properties

How the data maps

FromTo
CompanyAccount
ContactContact or person account
DealOpportunity
TicketCase
WorkflowFlow
Custom objectCustom object

See the field-by-field map ↓  ·  Migration architecture ↓

What to watch out for

  • Lifecycle stages that need a Salesforce equivalent
  • Associations that become lookups or junction objects
  • Marketing data if HubSpot marketing is retired
  • Sharing model design that HubSpot did not need

How Vantage Point runs the migration

  1. Discovery and data inventory: what exists, what is clean, what is worth moving
  2. Target design: objects, record types, households or companies, ownership and security
  3. Field-by-field data mapping document, signed off by business owners
  4. Cleanup and deduplication before the move, not after
  5. Test loads into a sandbox with reconciliation reports
  6. User acceptance testing with real scenarios
  7. Cutover: final delta load, integrations switched, old system set to read-only
  8. Hypercare and adoption support

Typical timeline

Typically 8 to 14 weeks, depending on whether HubSpot marketing stays.

Frequently asked questions

Should we keep HubSpot for marketing?

Often, yes. Many firms run HubSpot marketing on a Salesforce CRM using the native connector.

What about Financial Services Cloud?

If you are a financial firm, migrating directly into FSC gives you households, financial accounts and action plans from day one.

Last reviewed October 2, 2026 by the Vantage Point team. Browse all migration paths →

Migration architecture

How data flows: HubSpot to Salesforce migration

CRM Middleware / connector layer Connected system
What syncs between systems
FromToWhatDirectionTimingHow
HubSpotSalesforcevia Extract, clean & map Accounts, contacts, opportunities & activity → one-way test loads, then final deltamigration tooling
HubSpotSalesforcevia HubSpot–Salesforce connector Ongoing marketing dataIf HubSpot stays as the marketing platform. ⇄ two-way real-timenative connector

A typical pattern, simplified. Your design depends on licenses, data ownership and volumes, which we settle in discovery.

Field-level map

HubSpot to Salesforce: field by field

25 mappings we start from on this migration, 17 of which need a transform, a lookup or a decision. Every project gets its own signed-off version; this is the baseline.

FromToHowNotes
Companyname AccountName req direct
Companydomain AccountWebsite direct
Companyaddress / city / state / zip / country AccountBillingStreet / City / State / PostalCode / Country direct
Companyindustry AccountIndustry picklist map
CompanyParent company association AccountParentId lookup Load accounts first, then set ParentId in a second pass.
Companyhubspot_owner_id AccountOwnerId req lookup Match users by email.
Companyhs_object_id AccountHubSpot_Company_ID__c (external ID) req direct Use as the upsert key for associations and delta loads.
Contactfirstname / lastname / email Contact or LeadFirstName / LastName / Email req direct Contacts with a company become Contacts; the rest usually become Leads.
Contactlifecyclestage Lead / ContactStatus or custom stage field req derive Lifecycle stage decides Lead or Contact and sets the starting status.
Contacths_lead_status LeadStatus picklist map
ContactPrimary company association ContactAccountId req lookup
ContactSubscription status Contact / LeadHasOptedOutOfEmail req derive Opted out of all email → true. Per-type preferences need custom fields or a consent object.
Contacths_object_id Contact / LeadHubSpot_Contact_ID__c (external ID) req direct
Dealdealname / amount / closedate OpportunityName / Amount / CloseDate req direct
Dealpipeline OpportunityRecordTypeId / sales process req derive
Dealdealstage OpportunityStageName req picklist map Map closed-won and closed-lost stages explicitly.
DealCompany association OpportunityAccountId req lookup Salesforce opportunities need an account.
DealContact associations + labels OpportunityContactRoleContactId / Role association
Line itemhs_product_id / quantity / price OpportunityLineItemPricebookEntryId / Quantity / UnitPrice lookup Set up products and the price book first.
Ticketsubject / content / hs_pipeline_stage CaseSubject / Description / Status picklist map
Task / Meeting / CallEngagements Task / EventSubject / ActivityDate / WhoId / WhatId association Calls usually load as completed Tasks with a call type.
Notehs_note_body ContentNoteContent direct
Custom objectCustom properties Custom objectCustom fields manual review
WorkflowAutomation FlowRecord-triggered flow rebuild
Marketing email engagementOpens / clicks Campaign member or activityStatus manual review Usually kept in HubSpot if it stays the marketing platform.

Field names are the platforms' standard API names; your org's custom fields are mapped during discovery. What the "How" labels mean

How labels
direct
Value copies across unchanged.
picklist map
Each source value is mapped to a target value.
lookup
Matched to an existing record, such as a user by email.
association
Becomes a relationship between records, loaded in a later pass.
derive
Calculated or cleaned during the load.
split / concat
One field becomes several, or several become one.
rebuild
Configuration or automation that is rebuilt rather than moved.
drop
Not migrated, deliberately.
manual review
Needs a decision with your team before the load.