← Back to Portfolio
Muhammad Nawaz
Case Study 02

Bidirectional Notion ↔ Website Sync

Two databases. Constant drift. One bidirectional fix.

Zapier Notion API WordPress Make
2 Systems Kept in Sync
~0 Min Manual Reconciliation Per Week (was 3+ hrs)
Real-Time Propagation Across Both Platforms

The Problem vs. The Outcome

Before
  • Course catalog maintained manually in both Notion and WordPress
  • Date or detail changes in Notion took days to appear on the website
  • Registrations from the site weren't reliably making it back into Notion
  • Staff running weekly manual reconciliation sessions
  • Risk of showing outdated program info to the public
After
  • Updates in Notion propagate to WordPress automatically within minutes
  • Website registrations write back to Notion in real time
  • Loop-prevention logic ensures no record triggers itself twice
  • Zero manual reconciliation required
  • Program data is always accurate on both platforms simultaneously

How It Was Built

Step 1

Audit Both Systems

Mapped every field in Notion and WordPress, identified which needed to stay in sync, and defined the source of truth for each.

Step 2

Design Loop Prevention

Designed the "sync source" field logic on paper before building anything — the most critical piece of any bidirectional sync.

Step 3

Notion → WordPress Flow

Built the Zapier workflow to detect changes in Notion and push updates to WordPress via webhook trigger.

Step 4

WordPress → Notion Flow

Built the Make scenario to capture registrations and edits from WordPress and write them back into the correct Notion database records.

Step 5

Sync Source Safeguard

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.

Step 6

Stress Test

Simulated rapid updates from both sides simultaneously to confirm loop prevention held under pressure before handing off to the client.

Project Timeline

Day 1–2: Full audit of both databases and field mapping
Documented every field and sync requirements.
Day 3: Loop-prevention architecture design
Defined sync source logic on paper.
Day 4–6: Notion → WordPress Zapier workflow build
Webhook-triggered updates to the site.
Day 7–9: WordPress → Notion Make scenario build
Registrations and edits writing back to Notion.
Day 10: Sync source safeguard implementation
Field and checks in place on every record.
Day 11–14: Stress testing, edge cases, documentation, and handoff
Validation and client training.

Full Breakdown

The Problem

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 Approach

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 Build

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.

The Result

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