[object Object]

Operations Hub data sync is HubSpot’s iPaaS-lite. It’s good. It’s also lulling — teams flip on a sync, walk away, and discover broken records six weeks later. Here are the edge cases to handle before they bite.

Two-way sync needs a tie-breaker rule

When the same field updates in both systems within the sync window, who wins? Default is “most recent edit,” which sounds fair and isn’t. A user clicks save in HubSpot at 10:00:01 right after Salesforce wrote at 10:00:00 and the HubSpot value wipes the Salesforce update.

Fix: pick a system-of-record per field type. Contact phone = Salesforce wins. Contact lifecycle = HubSpot wins. Document the rule per field, configure in the sync settings.

Historical sync doesn’t apply current rules

The initial backfill ignores some of your filter rules. A “sync only contacts with email” filter applies to net-new but not historical. Your HubSpot portal will fill with 50,000 contactless records the first hour. Run a cleanup workflow ready before turning sync on.

Picklist sync drift

If Salesforce has a picklist value Lead Source = Trade Show 2025 and HubSpot has Lead Source = Trade_Show_2025, the sync creates a third value Trade Show 2025 in HubSpot, and now you have two. Pre-align picklists before flipping sync. Audit every quarter.

Custom object field types don’t always map

A Salesforce Currency(18,2) field maps cleanly to a HubSpot Number with currency formatting. A MultiSelectPicklist does not — it serializes as a delimited string. Your downstream HubSpot list filters can’t query “contains” on the string properly. Plan for property splits or workflow normalization.

Rate limiting under bulk operations

A Salesforce dataloader update of 100,000 records will exceed Operations Hub’s incoming sync rate. Records will sync over hours, in chunks, with no clear indicator of where you are in the queue. Schedule bulk loads outside campaign send windows.

Errored records don’t auto-retry forever

After three sync failures, a record is parked in the error queue and won’t retry without manual action. Schedule a weekly review of Sync Errors in the integration settings. Build a Slack notification when error count exceeds a threshold:

Trigger: Daily 8am
Filter: sync_error_count > 50
Action: Webhook to #data-ops

Don’t sync activity history

Sync the contact, the deal, the company. Don’t sync the activity timeline. The volume is enormous, the value is low, and the sync queue chokes. Use point-in-time integrations or BI tools for activity replay.

What to do this week

Document the tie-breaker rule per synced field. Audit picklist alignment for the top 10 properties. Set up error-count alerting before the next quarterly bulk load.

[object Object]
Share