When the HubSpot Salesforce integration stops syncing a record, HubSpot usually records why. The common causes are a permission the connected Salesforce user doesn't have, a picklist value that exists in one system only, a duplicate rule or validation rule in Salesforce, and records outside your inclusion segment.
Start on the Sync Health tab. In HubSpot settings, go to Integrations, then Connected Apps, click Salesforce and open the Data sync tab. Sync Health shows how many Salesforce API calls the integration used in the last 24 hours, plus a card for each type of sync error and how many records it affects. If a record has no error there, check that it's in your inclusion segment and that something has triggered a sync.
Why records don't sync between HubSpot and Salesforce
The sync is failing with an error
Click an error card to list those errors in a side panel. Click the number of records in the Affected Records column, then Actions, then Create a temporary view of HubSpot records, for a filtered list to work through. To get a CSV, click Export errors (CSV) at the top left of the errors list. The table further down sums up the main groups from HubSpot's guide to Salesforce sync errors.
The record is outside the inclusion segment
An inclusion segment limits which HubSpot records sync to Salesforce. Check it under the object's Sync rules, in the Limiting what syncs section. With no segment set, all HubSpot contacts sync. Only active segments can be used. Choosing a segment doesn't sync the contacts already in it. They sync the next time something triggers a sync, and a contact that joins the segment later triggers a sync by joining. If the criteria look right but a contact is missing from the segment, read active list not updating.
If Salesforce leads or contacts are set to create HubSpot contacts, HubSpot creates the contact even when it isn't in the segment. Later updates then don't sync either way until the contact meets the segment criteria (inclusion segments).
Nothing has triggered a sync yet
Installing the integration doesn't sync existing records. You import them, or they sync as triggers happen, such as a form submission, an update to a mapped field in either system, a new lead or contact, or an owner change. HubSpot also checks both systems for changes about every 15 minutes. A change to a Salesforce formula field doesn't trigger a sync, though a change to a mapped field on the same record that the formula uses does. A new field mapping doesn't copy existing values either, so resync or import after you add one. HubSpot lists the triggers in its article on importing and syncing Salesforce records.
The connected Salesforce user is missing access
Everything HubSpot does in Salesforce runs as the connected user, so that user's permissions decide what can sync. If they can't view leads, leads won't sync. HubSpot's connection requirements include a Salesforce edition with API access or Salesforce Professional, a system administrator, and profile permissions such as API Enabled, View Setup and Configuration, and Modify All on each object you sync. Login IP restrictions can also block it, because HubSpot uses dynamic IP addresses you can't allowlist. If Enforce IP Restrictions on Every Request is on, the integration can't connect, and HubSpot suggests a network IP range instead.
The integration is short on Salesforce API calls
On Sync Health, Limited by Salesforce shows what your Salesforce settings allow, Allocated to HubSpot shows the share you gave the integration, and the used figure covers the last 24 hours. One contact sync can take up to four API calls. Before you resync a whole segment, HubSpot asks for at least three free calls per member, so leave extra room.
Common Salesforce sync errors and what to do
| Error group | Examples | What to do |
|---|---|---|
| Permissions | Salesforce field permission, Insufficient Salesforce access | Give the integration user Read and Edit on the field, and check its profile permissions |
| Picklists | Mismatched options, Restricted picklist value, Inactive Salesforce owner | Make the Salesforce option API names match HubSpot's internal values, turn off Restrict picklist to the values defined in the value set in Salesforce, and reassign records to an active Salesforce user |
| Duplicates | Email already in use, Salesforce duplicate rule | Remove the email from the other HubSpot contact, or have a Salesforce admin review the matching rule and merge the records |
| Custom code | Salesforce flow, validation rule, automation | Work with your Salesforce admin, because the error starts in Salesforce |
| Associations | Waiting for account to sync, Association limit reached | Import Salesforce accounts, or remove some associated records |
| Property mappings | Type mismatch, Missing Salesforce ID | Map compatible field types, and send only real Salesforce IDs to lookup fields |
| Property values | String too long, Invalid email, Missing required value | Correct the value on the record, or raise the field length in Salesforce |
If you see a Duplicate id specified error, look for a custom mapping of a Salesforce ID field such as Lead ID or Contact ID and delete it. The integration manages those IDs itself.
How to fix Salesforce sync errors
- Open Sync Health and start with the error cards that affect the most records.
- Fix permissions in Salesforce first, since one gap can fail many records.
- For picklist errors, update the options, then hover over the field mapping and click Refresh to pull new Salesforce options into HubSpot.
- Correct the data on individual records, using the temporary view.
- In the error list, select the fixed errors and click Resync. You can bulk resync 100 at a time. For more, import from Salesforce or update a mapped property.
- Check one fixed record's Salesforce sync card, where Actions, then Resync, syncs it on demand. If the app was installed after Oct. 7, 2025, a super admin or a user with the Customize record page layout permission has to add the card to the record sidebar first.
How to stop it happening again
Turn on sync error notifications from Manage notifications on Sync Health. Add new reps to both systems with the same name and email, because only HubSpot owners that match an active Salesforce user's name and email sync to Salesforce. When a picklist changes in Salesforce, refresh the mapping the same day. If you once moved data with HubSpot Smart Transfer, turn its sync connections off before you use the integration, or you'll get duplicates. If HubSpot contacts sync to Salesforce as leads, read HubSpot's note on automatic company creation in the integration settings article, because converted leads can produce duplicate companies.
If the errors keep coming back, or you're not sure which system should win for each field, book a free 30-minute call and we can go through your Sync Health tab together.
Questions
Which HubSpot plans include the Salesforce integration?
As of October 2026, HubSpot lists it for Professional and Enterprise subscriptions of Marketing Hub, Sales Hub, Service Hub, Data Hub, Content Hub and Smart CRM. Resyncing a whole segment by hand needs Marketing Hub Professional or Enterprise.
Can I connect two HubSpot accounts to one Salesforce org?
Yes, with the integration installed in each HubSpot account. HubSpot recommends setting each one not to create HubSpot contacts automatically, or leads from one account can create contacts in the other.
Why did a new mapping overwrite a newer HubSpot value?
When a contact has no sync history for a field, the first sync takes the Salesforce value as the starting point. Depending on the sync rule, that can replace a more recent value in HubSpot (field mappings).
Did this fix it?
Good to hear. If something else in the portal looks off, the help centre has more fixes.
Some problems need someone to look inside the portal. Book a free 30-minute call and show me what's happening. If it needs work, you get a written scope and one fixed price.