Skip to content

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.

ModeIdentifier UsedBest For
System of RecordSOR Primary Key + External ID fieldCentralized identity with one authoritative system
External IDShared External ID fieldDecentralized systems with user-defined identifiers

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.

  • 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

When a record is created in the System of Record:

  1. The record syncs to the non-SOR system
  2. The external ID field in the non-SOR system is set to the SOR’s primary key
PostgreSQL (SOR): INSERT → id=123
Salesforce: CREATE → external_id=123
  • 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

Example use cases:

  • PostgreSQL as the SOR, syncing customer data to Salesforce
  • Your application database as the SOR, syncing to analytics systems

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.

  • Both systems have an external ID field
  • Records are matched solely by this shared identifier
  • Records without an external ID are not synced

Records with an external ID sync normally:

PostgreSQL: INSERT external_id='CUST-001'
Salesforce: CREATE with external_id='CUST-001'
  • 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

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

AspectSystem of RecordExternal ID
Identity AuthorityOne system (SOR)Neither (shared)
Primary Key UsageSOR PK is source of truthNot used for matching
External ID RequiredOnly in non-SOR systemIn both systems
Records Without IDAuto-assigned from SORNot synced
Best ForCentralized identityDecentralized/shared identity