Troubleshooting CRM sync errors
Why CRM sync fails, where the symptoms show up, and what to do — covers token expiry, schema drift, rate limits, missing records and stuck initial syncs.
Most CRM sync issues fall into a small set of failure modes. This page maps each symptom to its cause and the fix. Sync errors don't have a dedicated page in bont — they surface as status badges on the integration card (Settings → Integrations → CRM), toast notifications when an active operation fails and stale counts on dashboards.
Where to look first
- The integration card at Settings → Integrations → CRM. A red badge on the connected card means bont has flagged the connection as unhealthy.
- Dashboard timestamps. Many views show a "Last synced" indicator. If it's hours old when it should be minutes, sync is degraded.
- Toasts. Operations triggered manually (e.g. opening a deal, refreshing a pipeline) toast a failure message when the underlying request errors.
Common symptoms and fixes
Card says Reconnect (or shows an auth error)
Token expired or was revoked. Click Reconnect on the card and re-approve the OAuth scopes. See Reconnecting or disconnecting an integration.
Initial sync seems stuck
- Give it time — very large CRMs can take a couple of hours on the first run.
- If you've been waiting longer than expected, check the integration card for a badge — an auth failure mid-sync looks like "stuck" but is actually unauthenticated.
- As a last resort, disconnect and reconnect. bont resumes from where it left off if the token was the only issue; a full re-sync runs if the connection identity changed.
A specific record didn't sync
- Field-level permissions — bont can only read what the connecting admin account can see. If the record uses a CRM permission set that hides certain fields from the admin, those fields show as empty in bont.
- Filters — pure bont and funky bont may apply Segment / Active filters that hide some records from view; check the segment definition on the source page.
- Custom-object records — bont covers standard CRM objects (contacts, accounts, deals, activities); fully custom objects don't sync.
Updates from bont aren't appearing in the CRM
- Two-way sync writes back as the connecting admin. If that admin lacks write permissions on the record, the write silently fails on the CRM side.
- Field-level validation rules in the CRM (required fields, picklist constraints) can reject writes. The toast in bont surfaces the underlying error — read it carefully; the message comes straight from the CRM API.
Rate-limit errors
bont throttles itself well below provider limits, but bulk operations (e.g. a large segment refresh) can hit limits transiently. The system retries with backoff automatically; if a job stays failed across several retries, contact support@bont.ai with the workspace name and rough time of the failure.
Schema changed in the CRM and bont didn't notice
bont re-reads the schema periodically, but renamed or deleted fields can take a few hours to reflect — especially if they were used in a field mapping. Open Mapping CRM fields to bont fields, confirm the dropdowns still list the expected CRM field, and remap if necessary.
Companies / contacts counts disagree with the CRM
- bont counts what's syncable under your plan's "active" definition. Inactive or archived records may not contribute.
- Salesforce sandbox vs production can return different totals — confirm which one is connected.
- Deduplication: bont's company entity merges by domain; the CRM may not, so totals diverge by however many duplicates the CRM kept.
When to escalate
Reach out to support@bont.ai when:
- You've reconnected and the card still shows an error after a fresh OAuth.
- A sync has been "in progress" for more than a few hours with no visible movement.
- Specific records sync inconsistently with no obvious permission cause.
- Numbers on Insights / Forecasting feel materially wrong after a remap.
Include the workspace name, the CRM provider, a couple of example record IDs (CRM-side), and the approximate time of the failure. Support can pull the upstream logs from there.