TL;DR
- A Salesforce-to-HubSpot migration translates between two different data models and behavior models. It is not a copy. Leads, record types, profiles, flows, Apex, validation rules, and roll-up fields each need a decision.
- The right partner reads your Salesforce org before quoting: objects, fields, flows, Apex, validation rules, record types, installed packages, and who calls your API.
- Look for both sides of the skill set. Salesforce admin and developer depth to understand the business logic hidden in your org, and HubSpot architecture depth to rebuild it properly.
- Test a partner on the known failure points: lead conversion history, stage history, activity data, managed-package dependencies, and report reconciliation.
- Ask for evidence: discovery deliverables, a test migration plan, a reconciliation method, security attestations, and a reference from a Salesforce migration.
At a glance
If you are searching for a Salesforce to HubSpot migration partner, you have probably moved past “should we?” and into “who do we trust with this?” Generic migration advice treats Salesforce as one more source CRM. It is not. After several years, a typical org holds business logic in at least five places: flows, Apex, validation rules, formula fields, and installed packages. None of it shows up in a data export.
This guide explains what makes Salesforce migrations hard, what a partner should handle in each area, and how to separate partners who have done this from partners who have done imports. If you are still defining scope, see our guides to the HubSpot migration RFP and HubSpot migration cost. For general selection criteria, read how to choose a HubSpot migration partner.
Why Salesforce-to-HubSpot Migrations Need More Than Data Transfer
A data transfer moves rows. A Salesforce org is rows plus behavior: validation rules, automation, permissions, integrations, and reports. Migrating only the rows leaves the behavior behind, and the loss is silent.
Two examples:
- A validation rule blocks anyone from closing a deal without a contract end date. After a rows-only migration, nothing blocks it, and renewal reporting slowly fills with gaps.
- A nightly flow recalculates Account Tier from ARR. If nobody rebuilds it, tiers freeze at their migration-day values, and territory and service rules built on tier drift out of date.
Neither shows up in a CSV, and nobody notices on go-live day. A real partner migrates behavior as well as records, which means reading your org rather than only mapping your fields.
The other half of the problem is design. HubSpot is built differently: a contact-centered model with lifecycle stages rather than a separate lead object, pipelines instead of record types, workflows instead of Apex. The goal is not to recreate Salesforce inside HubSpot. It is to carry over what the business needs and leave the accumulated clutter behind.
What Makes Salesforce Migration Complex
Most of the complexity comes from concepts that have no one-to-one equivalent:
|
Salesforce |
HubSpot equivalent |
Watch for |
|---|---|---|
|
Lead, Contact, Account, Opportunity |
Contact with lifecycle stage, Company, Deal |
HubSpot centers on contacts. Lead-to-contact conversion needs a deliberate mapping |
|
Converted leads |
Contact plus preserved conversion data |
Keep original lead source and conversion date as properties |
|
Record types and page layouts |
Pipelines, deal type properties, customized record views |
Different stages mean separate pipelines; the same stages usually need only a property |
|
Profiles, permission sets, role hierarchy |
Permission sets, teams, and on higher tiers field-level permissions and partitioning |
Role-hierarchy visibility has no direct match |
|
Flows, Process Builder, Workflow Rules |
Workflows |
Salesforce has been retiring Workflow Rules and Process Builder, so many orgs carry legacy automation |
|
Apex triggers and classes |
Workflows, custom code actions, or integrations |
No translation exists. Someone has to understand the intent |
|
Validation rules |
Required properties, property validation, workflow checks |
Some cross-field rules cannot be enforced at save the same way |
|
Formula and roll-up summary fields |
Calculated and rollup properties, where the tier allows |
Cross-object formulas often need redesign |
|
Master-detail and lookup relationships |
Associations with labels |
Cascade deletes and required parents do not carry over |
|
Campaigns and Campaign Influence |
HubSpot campaigns and attribution reporting |
Attribution models differ, so totals will not match exactly |
|
Products, Quotes, CPQ |
Products, line items, quotes |
CPQ pricing rules are a separate rebuild |
|
Cases |
Tickets in Service Hub |
Case history and entitlements need planning |
Org age and customization multiply all of this. A five-year-old org with 40 custom objects and 1,500 custom fields is a larger project than a young org with the same record count.
Salesforce Data Extraction and Migration: What Your Partner Must Get Right
Extracting data from Salesforce is more than a simple export. It requires careful planning around API limits, data relationships, historical records, and integration dependencies to ensure nothing critical is lost during migration to HubSpot.
A capable Salesforce to HubSpot migration partner should address the following areas before moving any data:
- API Limits and Extraction Planning: Salesforce Data Loader and Bulk API operations can compete with live integrations for API capacity. Your migration partner should schedule extraction jobs strategically to minimize disruption to production systems.
- Salesforce Record IDs: Preserve the original 18-character Salesforce ID as a custom property for every applicable record. This creates a reliable reference for reconciliation, incremental migrations, and reconnecting integrations.
- Migration Sequence and Associations: Establish the correct loading order based on object dependencies. Typically, companies and contacts are loaded before deals, followed by associations and related activities or files, with the sequence adjusted to accommodate dependencies. This helps prevent orphaned records and broken relationships.
- Lead Conversion History: Unconverted leads need a clearly defined mapping to HubSpot contacts, including relevant lifecycle stage and lead status information. For converted leads, preserve available conversion history and map the associated contact and company correctly. Original lead sources, ownership, and conversion dates should be retained wherever the source data and target structure allow.
- Picklist Value Mapping: Inactive Salesforce picklist values may still appear in historical records. Map these values to valid HubSpot properties before migration to prevent missing, blank, or incorrectly classified data.
- Duplicate Detection and Matching: HubSpot uses email addresses and other configured identifiers to help manage duplicate records. Define matching and deduplication rules in advance, particularly for contacts without email addresses and companies without reliable domain data.
- Record Ownership: Identify records assigned to inactive or departed Salesforce users. Establish a documented reassignment rule or ownership-mapping process before importing records into HubSpot.
- Activities and Engagement History: Plan how tasks, events, and email messages will be migrated and associated with the correct records. Einstein Activity Capture data requires particular attention because some captured activities may be stored outside standard Salesforce objects. Confirm what data is accessible, how it can be extracted, and whether any limitations apply.
- Files, Attachments, and Notes: Treat documents, attachments, and notes as a dedicated migration workstream. Validate file accessibility, record associations, storage requirements, and any size or format restrictions before transferring them.
Ensuring Data Integrity After Migration
A successful Salesforce to HubSpot migration goes beyond transferring records. Every object, association, and historical detail must be validated to ensure your new CRM reflects the original data accurately.
Your migration partner should establish a clear validation process that includes:
- Record Reconciliation: Compare record counts between Salesforce and HubSpot for every migrated object.
- Association Validation: Verify that contacts, companies, deals, and activities remain correctly linked.
- Historical Data Preservation: Check that lead conversion details, original timestamps, ownership, and activity history are retained wherever supported.
- Exception Handling: Identify missing records, field mismatches, duplicate entries, and failed imports, then resolve them before sign-off.
This final validation stage helps ensure your HubSpot environment is ready for business operations without compromising data accuracy or continuity.
Custom Objects, Automation & Business Logic
Migrating from Salesforce to HubSpot involves more than moving records and recreating workflows. Your Salesforce environment may contain custom objects, Apex code, validation rules, and approval processes that support critical business operations. Each needs to be assessed to determine what should be retained, simplified, redesigned, or replaced in HubSpot.
A capable Salesforce to HubSpot migration partner should address the following areas before rebuilding your CRM:
- Custom Object Mapping: Not every Salesforce custom object needs a direct equivalent in HubSpot. Evaluate whether each object has its own lifecycle, distinct reporting requirements, or complex relationships with other records. If it does, a HubSpot custom object may be appropriate, subject to subscription requirements. If the data simply describes a company, contact, or deal, properties on the parent record may be easier to maintain.
- Workflow and Automation Audit: Start by documenting existing Salesforce flows, process automations, and rules before deciding what to rebuild. Record each automation's trigger, purpose, ownership, and current status, then classify it as keep, simplify, retire, or redesign. This helps prevent redundant workflows and unnecessary complexity in HubSpot.
- Apex Code and Custom Logic: Salesforce Apex triggers and classes cannot be transferred directly to HubSpot. Each component must be reviewed to understand its business purpose, dependencies, and expected outcomes. Depending on the requirement, the logic may need to be recreated using HubSpot workflows, custom code actions, or external integrations. Your migration partner should have the Salesforce development expertise to assess the existing code and recommend an appropriate replacement.
- Validation Rules and Formula Fields: Salesforce validation rules and formulas may behave differently in HubSpot. Review each rule to determine whether it should be recreated using calculated properties, workflows, form validation, or another supported mechanism. Pay particular attention to rules that prevent invalid data from entering the CRM or influence downstream reporting.
- Approval Processes and Business Rules: Salesforce approval chains and record-level business rules may not have direct equivalents in HubSpot. Map the existing approval stages, conditions, approvers, and exception paths before deciding whether to use HubSpot's available approval capabilities, workflow-based processes, or a custom integration. The objective is to preserve the underlying business requirement, even when the implementation changes.
Validating Business Logic Before Go-Live
Recreating automation is only part of the migration. The new setup must also produce the expected business outcomes across real-world scenarios.
Before go-live, test critical workflows, custom code replacements, validation rules, and approval paths using representative records. Verify that triggers fire under the right conditions, records update correctly, exceptions are handled, and connected systems continue to work as expected.
Document any functionality that cannot be replicated exactly, along with the alternative approach and its operational implications. This ensures your HubSpot environment supports the business processes your team depends on without carrying forward unnecessary complexity.
Salesforce Integrations & Dependencies
The fastest way to find hidden dependencies is to ask who and what calls your Salesforce org:
|
Category |
Typical tools |
What to confirm |
|---|---|---|
|
Sales engagement |
Outreach, Salesloft |
Does it connect to HubSpot natively, and does it read Salesforce IDs? |
|
Revenue intelligence |
Gong, Clari |
Does history carry over, or does the tool restart? |
|
Enrichment |
ZoomInfo and similar |
Field mappings and write-back rules |
|
E-signature, CPQ, billing |
DocuSign, Conga, NetSuite, Stripe |
Two-way sync rules and which system owns billing status |
|
Support and customer success |
Zendesk, Gainsight |
Account matching keys |
|
Warehouse and BI |
Snowflake, Tableau |
New pipelines and report definitions |
|
Marketing |
Pardot, Marketing Cloud |
Overlap with HubSpot marketing and lead handoff |
Three items often get missed:
- Installed packages. Managed packages add their own objects and fields (look for namespace prefixes). Each needs a decision: migrate its data, replace it, or archive it.
- Connected apps and integration users. Review them in Salesforce to find every system with API access, including ones nobody remembers.
- Outbound messages, webhooks, and platform events. These push data out of Salesforce on triggers, and they stop when Salesforce does.
During a phased rollout, HubSpot’s native Salesforce integration can keep records in step while some teams are on each system. Treat it as a bridge. Define which fields sync, guard against sync loops, and set an end date. Sequence integration cutovers deliberately, and for ERP or billing links, avoid quarter-end close.
Reporting & Historical Data
Start with the reports themselves. Sort your Salesforce reports by last-run date. Reports nobody has opened in a year are candidates to retire, and the survivors become your rebuild list. Joined reports, cross-object formulas, and bucket fields usually need redesign in HubSpot’s report builder.
History raises specific issues:
- Stage history. Salesforce keeps field history for a limited window unless Field Audit Trail is licensed. Check what you actually have before anyone promises stage-duration or funnel-velocity reports in HubSpot.
- Attribution. Campaign Influence and HubSpot attribution use different models. Totals will differ, and the differences should be documented before anyone notices them in a board deck.
- Forecasting. HubSpot’s forecast tools work differently from Salesforce Collaborative Forecasts, so this is a process change, not only a data move.
- Timestamps and ownership. Preserving original created dates, close dates, and owners takes deliberate design.
Agree on a short list of tie-out metrics before migration: for example, closed-won amount by quarter, open pipeline by stage, and win rate, each with an owner and a tolerance. Run old and new reports side by side through at least one month-end close. Keep a full Salesforce export archived, and do not let the Salesforce contract lapse until the final reconciliation is signed off.
Security, Permissions & Governance
Salesforce access is layered: profiles, permission sets, role hierarchy, sharing rules, field-level security, and record-type access. HubSpot uses user permission sets and teams, plus field-level permissions and partitioning on higher tiers. The mapping is not one to one. A manager who sees all subordinate records through the role hierarchy needs an explicit design in HubSpot.
On the vendor side, ask for evidence rather than assurances:
- Current SOC 2 Type II or ISO 27001 reports, plus an NDA and data processing agreement. OneMetric is SOC 2 Type II compliant and holds ISO 27001.
- Named-individual access, multi-factor authentication, and least privilege on production data.
- Documented handling of exports: encrypted transfer, no local copies, and deletion of temporary files.
- A list of subprocessors and any offshore access.
Then set governance for the new system. Salesforce makes it easy to add fields, which is how orgs reach 1,500 of them. A simple rule helps: no new property without an owner and a stated purpose, reviewed on a regular schedule.
How to Evaluate a Salesforce-to-HubSpot Partner
Use this scorecard in vendor calls:
|
Criterion |
What to look for |
Red flag |
|---|---|---|
|
Salesforce depth |
Admins and developers who can read your flows and Apex |
Only HubSpot certifications |
|
HubSpot architecture |
Design of pipelines, objects, and permissions, not only field mapping |
“We map your fields across” |
|
Discovery before quoting |
Org review of objects, fields, automation, packages, and integrations |
A fixed price from a short call |
|
Data and activity handling |
A plan for leads, history, Einstein Activity Capture data, and files |
Silence on activities |
|
Testing and reconciliation |
Several test loads and a count-and-total reconciliation method |
One final run |
|
Integrations |
Named owners and a cutover sequence |
“We will connect your tools” |
|
Security |
Current attestations and documented data handling |
Verbal assurances |
|
Team and delivery |
Named lead, data, development, and QA working in parallel |
One person with a title |
|
Post-launch support |
Defined hypercare and response times |
“Support available” |
Partner badges tell you something. Check the firm’s HubSpot partner tier and Salesforce partner status. But delivered Salesforce migrations matter more. Ask for a reference from a project like yours, and ask a partner to walk through one of your own flows or automations in plain language during the sales process. It is the fastest test of dual-platform skill.
What good discovery produces. Before you sign a build contract, a serious partner should deliver:
- An object and field inventory with usage data
- An automation inventory with keep, simplify, retire, or redesign decisions
- An integration and installed-package inventory
- A data-quality profile (duplicates, blanks, inconsistent values)
- A target HubSpot architecture and field-mapping specification
- A risk register and a scoped estimate
OneMetric works on both platforms as a HubSpot Elite partner and a Salesforce partner, and details of our Salesforce to HubSpot migration approach are on our migration page. If you are weighing a solo expert against a team, see consultant vs agency.
Migration Questions to Ask Before You Sign
Choosing a Salesforce to HubSpot migration partner requires more than comparing quotes and delivery timelines. You need clarity on the scope of work, technical expertise, data security, and post-migration support before committing to a provider.
Use the following areas to evaluate whether a partner can manage your migration end to end.
Discovery and Technical Expertise
- Scope Assessment: What will your initial Salesforce audit cover, and what deliverables will we receive before the final estimate?
- Technical Capability: Does your team have hands-on experience reviewing Salesforce Apex code, flows, and complex business logic?
Data Migration and Validation
- Historical Data: How will you preserve lead conversion history, original timestamps, and record ownership?
- Activities and Files: What is your approach to migrating activities, attachments, files, and Einstein Activity Capture data?
- Test Migrations: How many test migrations are included, and how will you reconcile record counts, field values, and associations at each stage?
Automation and Integrations
- Undocumented Logic: How will you identify undocumented automation, hidden dependencies, and business rules embedded in our Salesforce environment?
- Integration Dependencies: Which existing integrations and installed packages need to be replaced, reconfigured, or rebuilt, and who will be responsible for the work?
Reporting and Business Continuity
- Report Migration: Which Salesforce reports and dashboards are included in the scope, and how will you validate their accuracy in HubSpot?
- Metric Reconciliation: How will you confirm that key business metrics remain consistent after migration, accounting for differences in reporting logic between the two platforms?
Security, Delivery, and Support
- Data Security: What security certifications or attestations can you provide, and how will our data be handled, retained, and securely deleted after the engagement?
- Team Accountability: Who will lead the project, and which team members will perform the actual migration work?
- Scope and Pricing: What is excluded from the proposal, and how will additional requirements or scope changes be estimated and approved?
- Post-Launch Support: What support is included after go-live, how long does it last, and how will migration-related issues be resolved?
The right migration partner should provide clear, documented answers to these questions before the project begins. A transparent scope, a defined validation process, and clear ownership of technical delivery help reduce unexpected costs, minimize disruption, and set your team up for a smoother transition to HubSpot.
How to Choose a CRM Migration Partner with Confidence
The best signal in a Salesforce to HubSpot CRM migration partner is how they approach the project before the contract. They ask detailed questions about your Salesforce environment, automation, integrations, and reporting requirements, and they are transparent about what still needs to be assessed.
A partner who quotes quickly based only on record volume is pricing a data import, not a complete CRM migration. You need a team that understands how your CRM operates and can preserve critical business logic, data relationships, and reporting accuracy throughout the transition.
When evaluating providers, look for measurable quality benchmarks, such a 100% reconciliation of migrated record counts, with discrepancies documented and resolved before sign-off. Compare partners on discovery quality, Salesforce and HubSpot expertise, testing, security standards, and post-launch support.
At OneMetric, we approach CRM migration as more than a data transfer. Our focus is on preserving critical business logic, validating data integrity, and ensuring your new CRM supports your existing workflows and long-term growth. By defining the scope, deliverables, and validation criteria upfront, we help businesses approach their CRM migration with greater clarity and confidence.
Need confidence in your numbers after a CRM move?
About the author
Himanshi Gaur Himanshi is a CS - Engineer, working across business operations, Revenue Operations, CRM strategy, and growth systems. She writes about HubSpot, Salesforce, CRM migrations, marketing operations, and the processes that help businesses streamline workflows and scale efficiently. Read more articles by Himanshi Gaur.
