Two databases. Constant drift. One bidirectional fix.
Mapped every field in Notion and WordPress, identified which needed to stay in sync, and defined the source of truth for each.
Designed the "sync source" field logic on paper before building anything — the most critical piece of any bidirectional sync.
Built the Zapier workflow to detect changes in Notion and push updates to WordPress via webhook trigger.
Built the Make scenario to capture registrations and edits from WordPress and write them back into the correct Notion database records.
Implemented the "sync source" field on every record. Each automation checks this field before firing to confirm it isn't responding to its own previous update.
Simulated rapid updates from both sides simultaneously to confirm loop prevention held under pressure before handing off to the client.
The client ran a multi-city training program and maintained their course catalog in both a Notion database and their public WordPress website. In theory, the two were supposed to mirror each other. In practice, a date change made in Notion wouldn't show up on the website for days, and registrations coming in through the site weren't reliably making it back into Notion. Staff were running manual reconciliation sessions every week — a process that was slow, error-prone, and entirely unsustainable as the program scaled.
The challenge with bidirectional syncs isn't connecting two systems — it's preventing them from triggering each other in an endless loop. I started by architecting the logic entirely on paper: mapping every field that needed to stay in sync, defining which system should be the source of truth for each field, and designing a loop-prevention mechanism before a single Zap was created.
The final build used Zapier for the straightforward Notion → WordPress trigger-action flow, and Make for the more complex conditional branching required on the WordPress → Notion side. The critical safeguard was a hidden "sync source" field added to every record in both systems. Before any automation fired, it checked this field to confirm the incoming change hadn't already originated from the other platform — giving each record a memory of where its last update came from and cutting the feedback loop entirely.
Weekly reconciliation became a thing of the past. The client's program database now stays accurate across both platforms in near real time. Staff update Notion and the website reflects it within minutes. Registrations from the site land in Notion automatically and cleanly. No manual work. No data drift.
Have a workflow that needs untangling? Let's talk.
Get in Touch