Sync Modes
When configuring data synchronization between two systems, you can choose between two primary sync modes: System of Record and External ID. Both modes support bidirectional sync, but differ in how records are matched and how identifiers are managed.
Overview
Section titled “Overview”| Mode | Identifier Used | Best For |
|---|---|---|
| System of Record | SOR Primary Key + External ID field | Centralized identity with one authoritative system |
| External ID | Shared External ID field | Decentralized systems with user-defined identifiers |
System of Record (SOR) Mode
Section titled “System of Record (SOR) Mode”In System of Record mode, one system is designated as the authoritative source for record identity. The SOR’s primary key becomes the universal identifier used to match records across systems.
How Identifiers Work
Section titled “How Identifiers Work”- The primary key of the System of Record is the unique identifier for matching
- An external ID field in the non-SOR system stores the SOR’s primary key
Record Creation
Section titled “Record Creation”When a record is created in the System of Record:
- The record syncs to the non-SOR system
- The external ID field in the non-SOR system is set to the SOR’s primary key
PostgreSQL (SOR): INSERT → id=123Salesforce: CREATE → external_id=123When a record is created in the non-SOR system:
- The record syncs to the SOR, which generates a primary key
- The external ID field in the non-SOR system is updated to match
Salesforce: INSERT → sf_id=001xxxPostgreSQL (SOR): CREATE → id=456Salesforce: UPDATE external_id=456Updates & Deletes
Section titled “Updates & Deletes”- Updates in either system are matched using the SOR primary key (via the external ID field)
- Deletes are propagated bidirectionally using the same matching logic
- Changes flow in both directions while maintaining the SOR as the identity authority
When to Use SOR Mode
Section titled “When to Use SOR Mode”Example use cases:
- PostgreSQL as the SOR, syncing customer data to Salesforce
- Your application database as the SOR, syncing to analytics systems
External ID Mode
Section titled “External ID Mode”In External ID mode, both systems use a shared external identifier to match records. Neither system is inherently authoritative - the external ID is the universal key.
How Identifiers Work
Section titled “How Identifiers Work”- Both systems have an external ID field
- Records are matched solely by this shared identifier
- Records without an external ID are not synced
Record Creation
Section titled “Record Creation”Records with an external ID sync normally:
PostgreSQL: INSERT external_id='CUST-001'Salesforce: CREATE with external_id='CUST-001'Records without an external ID are not synced until one is assigned:
PostgreSQL: INSERT external_id=NULL→ Record is NOT synced
PostgreSQL: UPDATE external_id='CUST-002'→ Now syncs to SalesforceUpdates & Deletes
Section titled “Updates & Deletes”- Updates are matched and synced using the external ID field in both systems
- Deletes are propagated using the external ID for matching
- Both systems are treated equally - no hierarchy
When to Use External ID Mode
Section titled “When to Use External ID Mode”Example use cases:
- Syncing between two systems that both create records
- Using business-meaningful IDs (e.g.,
CUST-001,ORD-2024-001) - Integrating legacy systems with existing identifier schemes
Comparison Summary
Section titled “Comparison Summary”| Aspect | System of Record | External ID |
|---|---|---|
| Identity Authority | One system (SOR) | Neither (shared) |
| Primary Key Usage | SOR PK is source of truth | Not used for matching |
| External ID Required | Only in non-SOR system | In both systems |
| Records Without ID | Auto-assigned from SOR | Not synced |
| Best For | Centralized identity | Decentralized/shared identity |
Choosing the Right Mode
Section titled “Choosing the Right Mode”Next Steps
Section titled “Next Steps”- Getting Started Guide - Set up your first sync
- Field Mapping - Configure how fields map between systems