Migrating from HubSpot to Salesforce is one of the highest-stakes projects a RevOps team will run. Get it right, and you unlock enterprise-grade customization. Get it wrong, and you spend six months cleaning up data issues while reps lose trust in the system. This playbook covers the practical execution - the decisions, sequencing, and traps that most migration guides skip.
Pre-Migration: Audit Before You Move¶
Before touching a single record, run a complete audit of your HubSpot environment:
- Export your data model - Document every property, custom object, and association
- Catalog active workflows - Identify which workflows are critical vs. legacy
- Inventory integrations - List every tool connected to HubSpot via API or native integration
- Measure data quality - Run completeness and duplicate reports; clean before you migrate
Rule of thumb: Never migrate dirty data. If your HubSpot data is 70% complete, it will be 70% complete in Salesforce - except now it’s harder to fix.
Field Mapping: The Core of Every Migration¶
HubSpot and Salesforce use fundamentally different data models. Mapping fields requires more than a spreadsheet - it requires translation decisions.
| HubSpot Concept | Salesforce Equivalent | Migration Notes |
|---|---|---|
| Contact properties | Contact fields | Map picklist values explicitly |
| Company properties | Account fields | Reconcile “Company” vs “Account” naming |
| Deals | Opportunities | Stage names rarely map 1:1 |
| Lifecycle Stage | Lead Status / Opp Stage | Requires logic split across objects |
| Custom properties | Custom fields | Check field type compatibility |
| Lists | Reports / List Views | Dynamic lists become report-based |
Critical decision: HubSpot’s lifecycle stages span Contacts and Deals. In Salesforce, this logic splits across Lead Status, Opportunity Stage, and potentially a custom field on Contact. Map this early - it affects every downstream automation.
Workflow Recreation Strategy¶
Do not try to rebuild every HubSpot workflow in Salesforce. Instead, follow this prioritization:
- Must-have - Lead routing, deal stage automation, notification triggers
- Should-have - Nurture enrollment, task creation, field updates
- Deprecate - Workflows with < 10 enrollments in the past 90 days
For each must-have workflow, document the trigger, conditions, and actions in a three-column format before rebuilding in Salesforce Flow.
Data Migration Sequencing¶
Order matters. Migrate objects in this sequence to preserve relationships:
- Users - Create all Salesforce users first (owners must exist before record assignment)
- Accounts - Companies become Accounts
- Contacts - Link to Accounts via Account ID
- Leads - Unconverted contacts without deal associations
- Opportunities - Map Deal stages to Opportunity stages
- Activities - Emails, calls, meetings (last 12–18 months only)
- Custom objects - Migrate last, after core relationships are validated
Common Pitfalls¶
- Skipping UAT - Run a pilot migration with 500 records before doing the full load
- Ignoring picklist mismatches - “Closed Won” in HubSpot might map to “Closed - Won” in Salesforce; this breaks reports
- Forgetting record ownership - Every record needs a valid owner; deactivated users cause import failures
- Going live on a Monday - Cut over mid-week so you have buffer days for fixes before the weekend
Key Takeaways¶
- Audit and clean your HubSpot data before migration - never migrate garbage
- Field mapping between HubSpot and Salesforce requires deliberate translation, not just column matching
- Sequence your data load to preserve object relationships
- Rebuild only the workflows that are actively driving value
- Run a pilot migration before the full cutover