Fix HubSpot → Salesforce Sync Issues (Not Working, Errors, Duplicates)
Diagnose and resolve common sync problems. We've documented the 7 most common issues, their root causes, and exactly how to fix them. See step-by-step fixes for duplicates, missing fields, rate limit errors, and connection issues.
Record Owner flips back and forth between HubSpot Owner and Salesforce Owner every 5 minutes.
Also searched as: "HubSpot Salesforce record owner flips back and forth between hubspot owner and salesforce owner every 5 minutes."
#1 Bi-directional Owner Sync Conflict 80% likely
📋 How to Diagnose
- 1. Both systems set to 'Sync'.
- 2. HubSpot workflow assigns Round Robin.
- 3. Salesforce assignment rule assigns Territory.
- 4. They fight forever.
✓ Solution
Pick ONE source of truth (e.g. Salesforce Territory). Set HubSpot mapping to 'Use Salesforce value' (one-way).
⏱️ Est. time: 15 min
Use A2X → ->Sync Error: 'INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST'
Also searched as: "HubSpot Salesforce sync error: 'invalid_or_null_for_restricted_picklist'"
#1 API Name mismatch (Case Sensitive) 95% likely
📋 How to Diagnose
- 1. Salesforce Picklist API Name: 'New_York'
- 2. HubSpot Internal Value: 'New York'
- 3. Mismatch causes hard failure.
✓ Solution
Update HubSpot Property options to match Salesforce API Names exactly.
⏱️ Est. time: 10 min
Same contact syncs twice to Salesforce, creating duplicate Accounts or Contacts with slight email variations
Also searched as: "HubSpot Salesforce same contact syncs twice to salesforce, creating duplicate accounts or contacts with slight email variations"
#1 Duplicate Detection Disabled or Misconfigured 90% likely
📋 How to Diagnose
- 1. Salesforce > Setup > Admin > Duplicate Rules > Check if 'Block All Duplicates' is enabled
- 2. HubSpot Sync Settings > Check 'Duplicate Handling' mode (Merge? Update existing?)
- 3. Search Salesforce for contacts with same email but different record IDs
✓ Solution
Enable Salesforce Duplicate Prevention. In HubSpot, set duplicate matching to use 'Email' as unique identifier. Or use Make to validate record doesn't exist before syncing.
⏱️ Est. time: 25 min
Use Make → ->HubSpot custom objects (Deals with nested Line Items) can't sync to Salesforce; data structure mismatch causes failed syncs
Also searched as: "HubSpot Salesforce hubspot custom objects (deals with nested line items) can't sync to salesforce; data structure mismatch causes failed syncs"
#1 Salesforce Custom Object Schema Doesn't Match HubSpot Structure 100% likely
📋 How to Diagnose
- 1. HubSpot > CRM > Objects > Check custom object schema (e.g., Order > Line Items)
- 2. Salesforce > Setup > Objects and Fields > Check if equivalent custom object exists
- 3. Verify relationship setup (parent-child) matches HubSpot hierarchy
✓ Solution
If custom object doesn't exist in Salesforce, create it and establish lookup relationships. Or simplify: flatten HubSpot nested data into Salesforce's Opportunity + OpportunityLineItem structure using Make.
⏱️ Est. time: 60 min
Use Make → ->Leads are automatically routed from HubSpot to Salesforce without sales director approval, causing misaligned territories
Also searched as: "HubSpot Salesforce leads are automatically routed from hubspot to salesforce without sales director approval, causing misaligned territories"
#1 Direct Lead Sync Without Review 100% likely
📋 How to Diagnose
- 1. Current integration routes leads immediately
- 2. No validation step to ensure lead is routed to the correct sales territory
✓ Solution
Use Relay.app to add a sales director approval step: When lead is created in HubSpot → Sales director gets Slack notification to approve routing → Only sync to Salesforce if approved.
⏱️ Est. time: 30 min
Use A2X → ->HubSpot 'Address' (single field) maps to Salesforce 'Billing Address' (Street, City, State, Zip); missing pieces break address validation
Also searched as: "HubSpot Salesforce hubspot 'address' (single field) maps to salesforce 'billing address' (street, city, state, zip); missing pieces break address validation"
#1 Single-Field to Multi-Field Mapping 100% likely
📋 How to Diagnose
- 1. HubSpot > Properties > 'Address' field (single text field)
- 2. Salesforce > Account Fields > 'Billing Street', 'Billing City', 'Billing State', 'Billing Postal Code' (separate fields)
- 3. Sync pushes full address to 'Billing Street' only, leaving City/State/Zip empty
✓ Solution
Use Make or Zapier to parse HubSpot address string and split into Salesforce compound fields. Or create a HubSpot workflow that populates separate Street/City/State/Zip properties before sync.
⏱️ Est. time: 45 min
Use Make → ->HubSpot Date field syncs as String to Salesforce; filters break ('Last Activity after 2024' doesn't work)
Also searched as: "HubSpot Salesforce hubspot date field syncs as string to salesforce; filters break ('last activity after 2024' doesn't work)"
#1 Field Data Type Incompatibility 100% likely
📋 How to Diagnose
- 1. HubSpot > Properties > Check field type (Date? DateTime? Text?)
- 2. Salesforce > Custom Fields > Check target field type
- 3. Check sync logs for type conversion warnings
✓ Solution
Ensure HubSpot and Salesforce field types match. HubSpot Date → Salesforce Date field. Or use Make to convert types explicitly (e.g. 'YYYY-MM-DD' string to Salesforce Date format).
⏱️ Est. time: 20 min
Use Make → ->Ready to automate? We have a template for you.
Copy this HubSpot → Salesforce blueprint, open Make.com, paste it into the canvas, and your workflow is ready to configure.
{
"name": "HubSpot → Salesforce Sync",
"flow": [
{
"id": 1,
"module": "hubspot:WatchContacts",
"version": 1,
"parameters": {},
"mapper": {},
"metadata": {
"designer": {
"x": 0,
"y": 0
},
"restore": {},
"expect": [
{
"name": "body",
"type": "text",
"label": "Body"
}
]
}
},
{
"id": 2,
"module": "salesforce:CreateRecord",
"version": 1,
"parameters": {},
"mapper": {},
"metadata": {
"designer": {
"x": 300,
"y": 0
}
}
}
],
"metadata": {
"instant": false,
"version": 1,
"scenario": {
"roundtrips": 1,
"maxErrors": 3,
"autoCommit": true,
"sequential": false
}
}
} Blueprint copied to clipboard — open Make.com and paste it into the canvas to activate your workflow.
Step 1: Try the Official Integration
Direct connection
Start with the native integration if available. It's usually the most reliable, but may have limitations.
View Setup GuideFree with your subscription
Step 2: Use Make for Custom Flows
No code automation
Create custom integration workflows with Make's visual designer. It works with almost any API.
Try Make Free ->1000 ops/mo free. No credit card.
Step 3: Self-Hosted with n8n
Full data control
Need complete data privacy? n8n is open-source and self-hostable. Build custom integrations with full control over your data.
Try n8n Free ->Open source. Self-host or cloud. Unlimited ops.
Step 4: Add Human Review
Approval automation
Relay adds human-in-the-loop approvals, Slack/Teams alerts, and conditional logic to your automation.
Try Relay Free ->1000 actions/mo free. No credit card.