Portmux
CRM → CRM MIGRATION

Salesforce to HubSpot
migration service.

Portmux is a Salesforce to HubSpot migration service that moves your accounts, opportunities, custom objects, and activity history into HubSpot with full field-level mapping and zero data loss. From $12K. One go-live date.

Salesforce to HubSpot is the most common CRM migration we deliver. The data models look similar on the surface, but the work lives in the differences: Salesforce's Lead vs Contact split, Account hierarchies, OpportunityLineItems with custom price books, and a decade of Activity History tied to specific User IDs that don't exist in HubSpot yet. We map every record, every relationship, and every attachment so your reps log into HubSpot on day one and find the same pipeline they had on Friday.

FIG. SALESFORCE → HUBSPOT
SOURCE
Salesforce
CRM
DESTINATION
HubSpot
CRM
4–6
Weeks typical
0ms
Cutover downtime
$12k
Starting fee
§ WHAT WE MIGRATE

Every object, every field.
From Salesforce, into HubSpot.

Salesforce has a richer object model than HubSpot, including Leads, custom objects, and OpportunityLineItems with discrete price books. We map each one to the closest HubSpot equivalent, sometimes a native object, sometimes a custom object, and document every transform decision in your mapping doc.
Contacts

All Contact records with custom fields, including merged Lead-to-Contact records and their original LeadSource attribution.

Accounts → Companies

Account records mapped to HubSpot Companies, with parent/child Account hierarchies preserved as company associations.

Opportunities → Deals

Opportunities mapped to Deals, with stage history, probability, ForecastCategory, and OpportunityLineItems flattened to line items.

Leads

Open Leads imported as HubSpot Contacts with a "Lead" lifecycle stage; converted Leads merged to existing Contacts.

Custom Objects

Salesforce custom objects (e.g. Project__c, Subscription__c) recreated as HubSpot custom objects with all relationships intact.

Activity History

Tasks, Events, EmailMessages, and Logged Calls migrated to the HubSpot timeline with original timestamps and owners.

Attachments & Files

ContentDocuments, Attachments, and ContentVersions transferred to HubSpot Files with associations to source records.

Notes

Salesforce Notes and ContentNotes moved to HubSpot Notes on the parent Contact, Company, or Deal.

Users & Owners

Salesforce Users matched to HubSpot Users by email; ownership of every record preserved or reassigned per your rules.

Reports & Dashboards

Critical Salesforce reports rebuilt as HubSpot saved views and reports; legacy Reports archived as exports.

Workflows & Process Builder

Active Salesforce automations re-implemented as HubSpot Workflows where possible; complex Apex flagged for redesign.

Email Templates

Salesforce Email Templates and Lightning Email Templates ported to HubSpot Marketing Email templates.

§ HOW THIS MIGRATION RUNS

Three steps. One go-live date.

01
CONNECT

Plug into Salesforce.

We connect to your Salesforce org via OAuth using a read-only Connected App. Bulk API 2.0 indexes every standard and custom object, including Field-Level Security and Validation Rules. You see a complete schema map within 48 hours, including every custom field, picklist, and lookup relationship.

02
MAP

Map to HubSpot.

Our engineers draft a field-level mapping document covering every Salesforce object you want migrated. Picklist values are unified, custom objects are mirrored in HubSpot, and Lead-vs-Contact merge logic is defined per your dedup rules. Nothing is written until your team signs off.

03
CUTOVER

Flip the connection.

We dual-write to HubSpot for a rehearsal week so your team can validate workflows, sequences, and reports against live data. On cutover day, we redirect SFDC integrations to HubSpot, run a final Bulk API delta, and deliver a row-level reconciliation report.

§ WHERE IT GETS HARD

Salesforce to HubSpot isn't a button.

Every migration has its own gotchas. Here's what we plan for on this specific path.

● 01

Lead vs Contact merge logic

Salesforce splits unconverted Leads from Contacts. HubSpot has only Contacts with lifecycle stages. We define the exact dedup rule for matching converted Leads to existing Contacts, and decide what happens to open Leads owned by inactive users.

● 02

Custom Objects don't auto-map

Salesforce custom objects (Project__c, Subscription__c, etc.) need to be recreated as HubSpot custom objects with the right associations. Each junction object becomes a separate associations table. We handle the API quota math.

● 03

Activity History API limits

Salesforce Activity History is queryable but rate-limited and has a 24-month default retention via UI. We use the EventLogFile and Bulk API to extract the full Task, Event, and EmailMessage history without throttling your production org.

● 04

OpportunityLineItems flattening

Salesforce OLIs reference a PricebookEntry which references a Product2. HubSpot Line Items are simpler. We flatten the price book hierarchy into denormalized line items while preserving discount and quantity history.

§ STARTING PRICE

Salesforce to HubSpot from $12K.

Single-system migrations like Salesforce to HubSpot run as Track A engagements: one source, one destination, up to 1M records, 4–6 weeks. Final price depends on object volume, custom field count, and integrations, scoped on a 20-minute call before any commitment. See full pricing →

TRACK A
FROM$12K
4–6 weeks · 1 source → 1 destination · up to 1M records
Get a quote
§ QUESTIONS

Salesforce → HubSpot, asked.

How long does a Salesforce to HubSpot migration take? +
Most Salesforce to HubSpot migrations run 4–6 weeks from kickoff to cutover. The pace is set by your team's availability for mapping review and UAT. Org size matters less than custom object complexity, an org with 500K Contacts and zero custom objects often runs faster than one with 50K Contacts and 12 custom objects.
Will I lose Activity History during the migration? +
No. We extract Tasks, Events, EmailMessages, and Logged Calls from Salesforce via Bulk API and load them onto the HubSpot timeline with original timestamps, owners (matched by email), and parent record associations. Reps log into HubSpot and see the same activity they saw in Salesforce.
Can I keep both Salesforce and HubSpot running during the switch? +
Yes. We run a dual-write rehearsal phase where every new lead, opportunity, and activity in Salesforce is mirrored to HubSpot in near real time. Your team can validate the destination against live data for 1–2 weeks before cutover. The source stays authoritative until you sign off.
What happens to Salesforce Reports and Dashboards? +
We rebuild your most-used Reports as HubSpot saved views and reports. Custom report types, joined reports, and Reports with cross-object filters often need to be re-imagined in HubSpot's reporting model. The full Reports library is exported and archived for audit reference.
Do you migrate Salesforce custom objects to HubSpot custom objects? +
Yes. Every custom object you want kept is recreated as a HubSpot custom object with the same fields, picklist values, and associations. We handle the API quota math, HubSpot custom objects have a property limit and rate limits we plan around during loading.
NEXT CUTOVER

Book a 20-minute
scoping call.

Tell us what's in the source, where it's going, SaaS or custom, and when you need to be live. You'll walk away with a scoped quote, a named engineer, and a go-live date.

§ RELATED MIGRATIONS