Why Does My Salesforce Sync Keep Failing? 7 Causes and Fixes
- Get link
- X
- Other Apps
If you're asking "why does my Salesforce sync keep failing," the cause usually sits in one of three places: the connection, your API limit, or the records themselves. The error log tells you which. Here's how to read it and fix the cause, so you stop hitting retry on the same failure.
Quick answer
- Everything stopped? Look at the connection, the API limit, or the sync user's access.
- Only some records fail? Look at validation rules, automation, picklists, duplicates, or field permissions.
- It fails, then works, then fails? Look at record locks or a new app that shares your API limit.
- Keeps coming back after a fix? Something still produces bad data or too many calls. Find the source, not just the failed record.
I haven't run these fixes myself. This guide is built from what I read in Salesforce, HubSpot, and Adobe Marketo documentation on November 2, 2026. The sorting by symptom is my own.
Start with one question: did everything fail, or just some records?
This one split saves the most time. A full stop points to the connection or the org. A partial failure points to data or rules on specific records.
Open your sync tool's error log first and copy the exact error text. Then match it here.
| What you see | Likely cause |
|---|---|
| INVALID_SESSION_ID or a reconnect prompt | Login or token problem |
| REQUEST_LIMIT_EXCEEDED or an API limit notice | Too many calls |
| UNABLE_TO_LOCK_ROW | Something else is editing the record |
| Permission or "insufficient access" errors | Sync user lacks access |
| Picklist, required field, or invalid value errors | The data doesn't fit Salesforce's rules |
When the whole Salesforce sync stops
You hit an API limit
Salesforce caps total API calls per org in a 24-hour period. The cap is shared across the whole org, not per user. So your sync competes with every other connected tool, including installed managed packages.
On Enterprise Edition, the cap is 100,000 plus 1,000 calls per Salesforce license, plus any add-ons. Salesforce's own example: 15 licenses gives 115,000 calls a day.
- Check usage: In Setup, open System Overview and find API Usage.
- Get warned early: Search Setup for API Usage Notifications and set an email alert.
- Find the heavy user: Ask which tool grew lately. A new app can eat the budget your sync needs.
- Cut the calls: Reduce sync frequency or the number of fields and objects you sync.
One detail most guides miss: Salesforce documents REQUEST_LIMIT_EXCEEDED for concurrent long-running calls too. A production org allows 25 calls of 20 seconds or longer at once. So you can see this error while your daily count looks fine. Check for slow, long calls before you buy more capacity.
Waiting often works. HubSpot says its usage view uses a rolling 24-hour window and syncing typically resumes when the limit resets. That fixes today, not next week.
The connection expired or got revoked
An INVALID_SESSION_ID error means Salesforce won't accept the session your tool is using. Reconnecting the integration is the usual first step. If it keeps returning, look at the connected app.
- Refresh token policy: The default is valid until revoked. If an admin set a time limit or an inactivity limit, the tool must log in again when the token runs out.
- Revoked token: A user or admin can revoke tokens on the user's detail page or in OAuth Connected Apps Usage.
- Missing permission: One Salesforce Help article traces this error to a connected app without the refresh_token, offline_access permission.
The sync user lost access
Many syncs run as one integration user. If someone edits that user's profile, the sync can fail overnight. HubSpot's guide lists these suspension reasons:
- API access disabled: The user needs the API Enabled permission. Then re-enter the credentials.
- Object permissions missing: The user needs Read and Edit on each synced object.
- Org locked or unavailable: This is often temporary. Check status.salesforce.com.
When only some records fail
The sync works, but certain records bounce. HubSpot sorts these failures into groups that apply well beyond HubSpot:
- Custom code: A validation rule, flow, or other automation rejected the update. Ask your Salesforce admin which rule fired.
- Picklists: The value doesn't match an allowed option in the other system.
- Required or invalid values: A required field is blank, a value is too long, or an email is malformed.
- Duplicates: A Salesforce duplicate rule blocked the record.
- Field permissions: The sync user can see the object but can't edit that field.
- Mappings: Two mapped fields have different types.
These errors repeat because retrying sends the same bad value. Nothing changes until the record, the rule, or the mapping changes.
When it fails randomly: record locks
UNABLE_TO_LOCK_ROW looks scary but has a plain meaning. Two things tried to change the same record at once. Salesforce Help says a transaction waits up to 10 seconds for a lock before it throws this error.
Common triggers include Apex triggers, Bulk API imports, and master-detail updates. Updating a child record locks its parent too, so many children under one parent can collide.
Salesforce says a few of these can be handled with retries. If they're frequent, try these:
- Reduce the Bulk API batch size.
- Process in Serial mode instead of Parallel.
- Sort records by parent ID so children stay together.
- Don't schedule big imports during your sync window.
Adobe's Marketo article says that sync retries a few times and then moves on. If the errors become common, it suggests asking your admin about new API integrations or AppExchange packages. That's a good question for any connector.
Why your Salesforce sync keeps failing after you fix it
If the same error returns, you probably fixed one record and left the source alone. Run this check:
- Export the errors and group them by type. Fix the biggest group first.
- Ask what changed lately: a new rule, a new picklist value, a new app, or a profile edit.
- Fix the source, such as the form that lets bad values in.
- Resync a small set and confirm it passes.
- Resync the rest, then set up alerts.
In HubSpot, you can resync up to 100 errors at a time from Sync Health. For more, its guide says to import the records or update a mapped property.
Retry or fix: a simple rule
- Retry locks, short outages, and API limits that just reset.
- Fix first permissions, picklists, validation rules, duplicates, and mappings.
Common mistakes to avoid
- Using a real employee as the sync user. Their role or status changes can break the sync.
- Loosening a validation rule for everyone just to clear errors. You may let bad data in.
- Buying more API calls first. Salesforce itself advises reviewing and reducing usage before you buy.
- Syncing every field. More fields mean more chances for a mismatch, so sync only what people use.
If your tool stack keeps growing, my Zapier vs Make vs n8n comparison can help you choose what should connect. My no-code client onboarding guide shows a simple flow. Still picking a CRM? Read HubSpot vs Pipedrive for small sales teams.
FAQ
Why does my Salesforce sync fail with no error alert?
Some tools skip or queue failed records instead of stopping. Check the sync error log and turn on notifications. HubSpot offers instant, daily, or weekly alerts.
How do I check my Salesforce API usage?
In Setup, open System Overview and look at API Usage. You can also set API Usage Notifications to email you at a chosen percentage.
What happens if I go over the daily API limit?
Salesforce says paid orgs may go over by a certain amount, up to a hard cap. It says not to rely on this. Trial orgs, Developer Edition, and sandboxes don't get it.
Does Salesforce sync run after a limit resets?
HubSpot says its sync typically resumes on its own when capacity returns. Other tools may differ, so check your connector's docs.
Is UNABLE_TO_LOCK_ROW a data problem?
No. It's a timing conflict. The record was busy for too long. Your data can be perfectly fine.
Sources
All read on November 2, 2026.
- Salesforce Developers, API Request Limits and Allocations
- Salesforce Help, Unable to lock row error
- Salesforce Developers, Record-Level Locking
- Salesforce Developers, Organize Data to Minimize Lock Contention
- Salesforce Help, Manage OAuth Access Policies for a Connected App
- Salesforce Help, Invalid Session ID error with OAuth 2.0
- HubSpot Knowledge Base, Resolve Salesforce integration sync errors
- HubSpot Knowledge Base, Resolve Salesforce integration suspension errors
- Adobe Experience League, Salesforce sync error UNABLE_TO_LOCK_ROW
Last updated: November 2, 2026
- Get link
- X
- Other Apps
Comments
Post a Comment