Built a bi-directional Notion database sync system that gives a business owner full visibility across all users while enforcing true data isolation through separate MASTER and RESTRICTED databases.


The Problem

Drawboard needed each team member to work in their own private Notion database while the owner maintained a single source of truth across all of them. Notion's native permissions don't support true data isolation. There was no way to let users see only their own records, sync changes both ways, or add new users without rebuilding the system each time.


What I Built

A two-way sync system between a private MASTER database and per-user RESTRICTED databases:


<aside>

Tech Stack & Features

Platform: Make (2 scenarios)

API: Notion REST API

Triggers: Notion native automations (webhooks)

Key modules: Notion native modules (inc. Make an API Call with raw JSON), Routers, Break & Ignore error handlers

Patterns: Upsert, loop guard, dynamic database lookup, ID write-back, soft delete, sequential processing

</aside>

<aside>

Documentation


SOP

System Architecture & Maintenance

Make Blueprints

</aside>


Screenshots

Master → Restricted Sync

image.png


Restricted → Master