Multi-Platform Sync Guide
When your business uses three or more platforms, syncing data across all of them requires careful planning. This guide walks you through setting up a hub-and-spoke model to keep data consistent everywhere.
Overview
Goal: Sync contacts, deals, or other records across multiple platforms (e.g., HubSpot + Jobber + QuickBooks) using one system as the central source of truth.
What You'll Achieve:
- A single "hub" system that owns the master record
- Spoke systems that stay in sync with the hub
- Consistent field formats across all platforms
- Clear conflict resolution rules
Time Required: 30-45 minutes per spoke connection
The Hub-and-Spoke Model
Instead of creating mappings between every pair of systems (which grows exponentially), designate one platform as the hub:
┌─────────┐
│ Jobber │
└────▲─────┘
│
┌───────────┐ ┌────┴─────┐ ┌──────────────┐
│ Pipedrive │◄──►│ HubSpot │◄──►│ QuickBooks │
└───────────┘ │ (Hub) │ └──────────────┘
└────┬─────┘
│
┌────▼─────┐
│Salesforce│
└──────────┘
Why not connect everything to everything?
With 4 platforms, direct connections require 6 mappings. With 5 platforms, you need 10. The hub-and-spoke model keeps it linear: each spoke only maps to the hub.
Step 1: Choose Your Hub
Pick the platform that best fits as your central system:
| Hub Candidate | Best When |
|---|---|
| CRM (HubSpot, Salesforce, Pipedrive) | Customer data is primary; sales team drives data entry |
| Field service (Jobber) | Operations-heavy; field teams own address and contact data |
| Accounting (QuickBooks, Xero) | Financial data drives everything; invoicing is the source of truth |
General rule: Choose the platform where data is created first or updated most frequently.
Step 2: Plan Your Mappings
For each spoke, decide what data flows and in which direction:
Example: HubSpot (Hub) with Jobber + QuickBooks
HubSpot ↔ Jobber:
- Contacts ↔ Clients (bidirectional)
- Deals → Jobs (one-way)
- See the HubSpot + Jobber guide for details
HubSpot → QuickBooks:
- Contacts → Customers (one-way)
- Deals → Invoices (one-way, on "Closed Won")
Jobber → HubSpot:
- Job status updates → Deal stage updates
Step 3: Standardize Field Formats
With multiple systems, format consistency is critical. Apply the same transformations across all spoke mappings:
Phone Numbers
Use the phone_e164 transform on every mapping that includes phone fields. This guarantees all systems store phones in the same format regardless of how they were entered.
Hub (HubSpot): +15551234567 (E.164)
Spoke 1 (Jobber): +15551234567 (same)
Spoke 2 (QB): +15551234567 (same)
Email Addresses
Apply lowercase and trim transforms to email fields across all mappings so matching works reliably.
Addresses
Pick a consistent approach (field-by-field or single-line) and use it for every spoke. See the Address Mapping guide for details.
Step 4: Configure Matching
Records must be matched reliably across all systems. Use the same matching field everywhere:
Recommended: Email address (with lowercase transform)
- Set email as the Matching Field in every mapping
- Enable Case Insensitive Matching
- Consider storing hub record IDs in custom fields on each spoke for fallback matching
Cross-Reference IDs
For reliable matching, store the hub's record ID in each spoke system:
HubSpot Contact ID → Jobber custom field "hubspot_id"
HubSpot Contact ID → QuickBooks custom field "hubspot_id"
This prevents duplicates when email addresses change.
Step 5: Set Up Conflict Resolution
With multiple systems writing data, conflicts are inevitable. Establish clear ownership:
Field-Level Ownership
| Field | Owner | Rationale |
|---|---|---|
| Email, Phone | Hub (CRM) | Sales team verifies contact info |
| Service address | Jobber | Field teams verify on-site |
| Billing address | QuickBooks | Accounting verifies for invoicing |
| Deal/Job status | Last Write Wins | Both teams update actively |
See Conflict Resolution for configuration details.
Step 6: Sequence Your Syncs
Order matters when multiple mappings depend on each other:
- First: Sync contacts/clients between hub and all spokes
- Second: Sync deals/jobs (these need existing contacts)
- Third: Sync financial records (these need existing contacts and deals)
Scheduling Recommendations
- Hub ↔ Primary spoke: Every 15 minutes or real-time (webhooks)
- Hub → Secondary spokes: Hourly
- Status updates back to hub: Every 15 minutes
Stagger schedules to avoid overlapping syncs that could cause race conditions.
Step 7: Test the Full Chain
Before going live with all spokes:
- Test each spoke independently — Verify hub ↔ spoke sync works in isolation
- Test the chain — Create a record in the hub and verify it appears in all spokes
- Test updates — Modify a record in one spoke and verify it flows through the hub to other spokes
- Test conflicts — Update the same record in two spokes simultaneously and verify resolution
Common Pitfalls
Circular Updates
Problem: Hub updates Spoke A → Spoke A triggers webhook → Hub syncs again → infinite loop
Solution: FluxCascade tracks record versions and skips records that haven't actually changed since the last sync. Enable Change Detection in your mapping settings.
Stale Data Overwriting Fresh Data
Problem: A slow-running hourly sync overwrites a change made minutes ago by a faster sync.
Solution:
- Use consistent sync frequencies across related mappings
- Enable timestamp-based conflict resolution
- Consider webhook-triggered syncs for time-sensitive data
Duplicate Records
Problem: The same contact gets created in a spoke before the hub sync runs.
Solution:
- Always create records in the hub first
- Use matching fields that exist across all systems (email)
- Run an initial deduplication before enabling multi-platform sync
Scaling Beyond 5 Platforms
For large multi-platform setups:
- Group by data domain — Customer data hub vs. financial data hub
- Use connection groups — Organize related connections in FluxCascade
- Monitor sync health — Check the Syncs page regularly for error trends
- Document your architecture — Keep a diagram of which systems connect and who owns what
Next Steps
- HubSpot + Jobber Guide — Set up your first hub-spoke connection
- Conflict Resolution — Configure field ownership rules
- Scheduling — Fine-tune sync timing
- Webhooks — Enable real-time sync for critical data