Automation & Orchestration
Data synchronization: every field has one owner
Two copies of the truth drift apart
Most businesses keep the same customer in more than one system. A new phone number goes into one of them, a job update into another, and nobody is sure which copy to trust. Two-way syncs that copy everything everywhere make it worse: the last edit wins, wherever it came from.
Data synchronization starts by deciding ownership. Each field belongs to one system; changes flow outwards from there. Records are matched on agreed identifiers, conflicts are settled by rule and logged, deletions mean what you've agreed they mean, and a sync that fails retries in order without losing changes.
Who owns each field
Three changes
M.D. · phone changed in the CRM
- done
Change detected in the CRM
10:02
- done
CRM owns phone
- done
Job system updated
555-0199
- done
Change logged
The owner changed it, so it flowed out. Both systems agree within a minute.
M.D. · phone edited in the job system
- done
Change detected in the job system
14:05
- failed
Owner check
CRM owns phone
- done
Job system restored
555-0199
- done
Office told
with the edit, in case it was right
The edit didn't overwrite the owner. The office sees what was typed, and if the new number is right, it's entered in the CRM, where it belongs.
Three CRM changes, 11:00–11:40
- done
Changes queued
in order
- retrying
Job system unavailable
attempt 3
- done
Queue replayed in order
11:52
- done
Both systems agree
Nothing was lost and nothing arrived out of order. The changes waited until they could be applied.
Five decisions before anything syncs
01
Which records
Not everything
Only the records both systems need, such as active customers, not every contact ever entered.
02
Which owner
Field by field
Each field belongs to one system. Shared fields need an owner too, or they'll fight.
03
How records match
The same customer in both
An agreed identifier, such as the CRM's customer ID stored in the job system, never a name.
04
What wins a conflict
By rule
The owner wins; the other edit is logged and someone is told when it matters.
05
What deleting means
Archive, usually
A record deleted in one system is archived in the others, not erased, unless you decide otherwise.
What data synchronization hands off
In
Out
Worth building when the same customer lives in two systems
Good fit
- The same records are kept in two or more systems.
- They disagree often enough that people have stopped trusting one of them.
- You can say which system should own each field.
Not the right fit
- One system could hold the data and the other could read it directly. Then don't copy it.
- Nobody can agree which system owns what. Settle that first.
Questions about data synchronization
Can't we just turn on the built-in two-way sync?
Sometimes. Built-in syncs often let the last edit win, whichever system it came from. If that's acceptable for your fields, use it. If not, ownership rules are the difference.
How fast is it?
It depends on what each system allows. Where a system sends events, changes usually flow within moments; where it doesn't, a scheduled check picks them up.
What happens to records that already disagree?
A one-off reconciliation goes first: records are matched, differences listed, and the owner's values applied, with the cases that need a decision sent to a person.
What do you build it with?
Often n8n or Trigger.dev for the sync logic, with PostgreSQL holding the ownership map, match keys and change log. These are starting candidates, not requirements.