Why HubSpot activities show up wrong in Salesforce & how to correct them
Syncing activities between HubSpot and Salesforce can be hugely helpful (when it’s working correctly).
Done wrong, misconfigurations, missing permissions, or unexpected behavior can undermine trust in your data.
Below is a clear breakdown of how to set it up first, what usually breaks, and how to fix it.
How to set up HubSpot → Salesforce activity sync
- Create/assign an integration user in Salesforce
- Use a dedicated Salesforce user (not a personal license).
- The profile/permission set should include:
- Tasks & Events (read, create, edit, delete)
- Contacts/Leads object access
- “API Enabled”
- Connect Salesforce in HubSpot
- Go to Settings → Integrations → Connected Apps → Salesforce.
- Authenticate with the integration user.
- Enable Activity Sync
- Under the Activities tab, toggle on the event types you want to sync (forms, marketing emails, sales emails, meetings, calls, notes, etc.).
- Map HubSpot activity types to the right Salesforce Task Type so they land in the right categories.
- Check field mappings
- Make sure Salesforce required fields have corresponding HubSpot properties (or fallbacks).
- Confirm data types align (e.g. picklists vs text, dates vs strings).
- Test before rollout
- Create a test contact in HubSpot, trigger each type of activity, and confirm it shows up correctly in Salesforce (task type, status, and owner).
With that baseline in place, you’ll avoid a lot of the headaches that cause sync errors.
What HubSpot & Salesforce sync can do in 2025
HubSpot supports syncing many kinds of activities into Salesforce as tasks, so your Salesforce side can see things like
- Form submissions
- Marketing email sends/opens/clicks
- Sales email sends/opens, replies
- Meetings scheduled
- Calls made
- Notes created
- Sales content viewed
- Tasks created in HubSpot
- Events from installed integrations
Some activity syncs are time-limited: marketing email events only sync if they occurred within 30 days of the contact being synced. Form submissions up to 1 year back.
Newer HubSpot accounts (Super Admins) may also opt into a beta for bidirectional syncing of associations (tickets, tasks, custom objects), which can affect how activities relate across objects.
Common break points + fixes
The most common issue teams hit is when the Activities tab in HubSpot shows an error and you can’t toggle Salesforce task sync on.
That almost always comes down to the Salesforce integration user missing permissions.
Fix: In Salesforce, update the integration user’s Profile or Permission Set to give full Task and Activity permissions (read, create, edit, delete). Check the “Type” field under Task settings, then wait 15–30 minutes for HubSpot to refresh.
Another issue is when activities don’t show up as open tasks in Salesforce.
By default, HubSpot will sometimes create closed tasks unless they’re explicitly open tasks for a rep to complete.
Fix: Revisit the Timeline sync settings in HubSpot and map task types correctly. In some cases, you’ll need to adjust how your workflows or automations create tasks so they arrive with the right status.
You might also notice that older activities simply don’t sync. That’s not a bug, HubSpot limits activity history based on when the contact started syncing.
- Marketing email events: only within 30 days of the contact being added.
- Form submissions: only within a year.
If you need older records, you’ll have to import them manually or re-trigger campaigns.
Another common complaint is when tasks land under the integration user instead of the right rep. This happens because the HubSpot activity is tied to a user that doesn’t exist or isn’t mapped in Salesforce.
Fix: Audit your user mappings: make sure HubSpot users are properly synced with Salesforce users, disable outdated ones, and configure workflows so ownership assigns to the right person.
Finally, there are general sync errors. These can come from Salesforce validation rules, mismatched field types, missing required fields, or API limits being hit.
Fix: Start with HubSpot’s Sync Health dashboard. It will show you error cards for each failed record. From there, check field mappings, relax or update Salesforce validation rules, and confirm your integration user has API Enabled and enough allocation to keep up with sync demand.
Setup checklist: what to configure first so you avoid headaches
- Integration user
- Dedicated Salesforce user (or service/integration user).
- Permission set or profile grants needed access: Tasks & Events, Object permissions for Contacts, Leads etc., “API Enabled.”
- Enable activity sync settings in HubSpot
- Go to Settings → Integrations → Connected Apps → Salesforce → Activities tab.
- Toggle the event types you want to sync.
- Map Salesforce Task Type where needed so things are categorized correctly in Salesforce.
- Field & property mappings
- Ensure required Salesforce fields are mapped or that fallback values exist.
- Confirm data types match (picklists, dates, text, etc.).
- Handle any custom fields or custom objects you need.
- API limits & sync health
- In HubSpot, check Sync Health → API call usage, sync errors.
- If Salesforce is limiting API usage (or HubSpot’s allocations), adjust accordingly.
- Regularly monitor error cards and fix promptly.
- Test with real records
- Create test contacts, trigger each type of activity.
- Confirm they show in Salesforce as tasks, assigned correctly, with correct status.
- Check whether older activities show up (given limits).
- Roll out carefully
- Start toggling important activity types first, not everything at once.
- Communicate to sales/marketing so they don’t expect data before it’s stable.
- Document ownership: who owns fixing errors, reviewing sync health, maintaining the integration.
Things that still can’t be done / caveats
Some limitations are worth keeping in mind.
Activity owners don’t always sync perfectly; if a HubSpot user isn’t mapped to Salesforce, tasks default to the integration user.
Historical data from before a contact was syncing (or before toggles were enabled) won’t import automatically.
Deletion is also inconsistent: removing tasks or events in Salesforce doesn’t always clear them from HubSpot, depending on your mapping and deletion settings.
And finally, automation, validation rules, or custom flows in Salesforce can block syncs in ways that aren’t obvious.
Also worth bookmarking: HubSpot’s guide to managing your Salesforce integration settings. It walks through how to monitor API usage and stay on top of sync errors.
Your next step
If your HubSpot ↔ Salesforce activity sync isn’t behaving, go through the setup steps and checklist above. Most breakages come down to permissions, incorrect mapping, or toggled-off activity types.
If what you’ve got is more complicated (multiple custom objects, heavy automation, big volumes of data), or you’re seeing too many errors, that’s when you might want deeper help.
Let us know: we handle large HubSpot-Salesforce sync projects, cleanup, migration, and optimizing for scale.