Provide Real-time Updates for Notion Databases via Webhooks with Supabase
## Purpose This enables webhooks for nearly real-time updates (every 5 seconds) from Notion Databases. ## Problem Notion does not offer webhooks. Even worse, the “Last edited time” property, which we could use for polling, only updates every minute. This gives us a polling interval only as low as 2 minutes, and we still need to implement a comparing mechanism to detect changes. ## Solution This workflow caches states in between while doing efficient polling & comparing. It brings down the update latency from 2 minutes to 5 seconds and also provides the output of the changes only. ## Demo [](https://youtu.be/BROsXafy9Uw) ## How it works - Database Pages are frequently polled while filtered by a last modified timestamp for more efficiency. - Retrieved pages get compared with previously cached versions in Supabase. - Only new and changed pages are pushed to a registered webhook. ## Setup - Create a new project in Supabase and import the DB schema (provided through Gumroad). - Add a Last edited time property to your Notion Database, if it has none yet. - Define the dynamically generated settings_id from the settings table (Supabase) in the Globals node. - Define the Notion Database URL in the Globals node. - Define your custom Webhook URL in the last node where the results should be pushed to. - It is recommended to call this workflow using [this](https://n8n.io/workflows/2270-prevent-simultaneous-workflow-executions-with-redis/) template to prevent simultaneous workflow executions. - Set the Schedule trigger to every 5 seconds or less frequent. - More detailed instructions provided within the workflow file and the illustrated instructions provided during the download. ## Example output ```json [ { "action": "changed", "changes": { "property_modified_at": "2024-06-04T17:59:00.000Z", "property_priority": "important" }, "data": { "id": "ba761e03-7d6d-44c2-8e8d-c8a4fb930d0f", "name": "Try out n8n", "url": "https://www.notion.so/Try-out-n8n-ba761e037d6d44c28e8dc8a4fb930d0f", "property_todoist_id": "", "property_id": "ba761e037d6d44c28e8dc8a4fb930d0f", "property_modified_at": "2024-06-04T17:59:00.000Z", "property_status": "Backlog", "property_priority": "important", "property_due": { "start": "2024-06-05", "end": null, "time_zone": null }, "property_focus": false, "property_name": "Try out n8n" }, "updated_at": "2024-06-04T17:59:42.144+00:00" } ] ```
- Platform
- n8n
- Category
- Development & IT
- Price
- $14.99
- Creator
- Mario
- if
- set
- code
- noOp
- filter
- notion
- supabase
- aggregate
- stickyNote
- httpRequest
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Development & IT workflows
- Create daily historical AI videos with Gemini, fal.ai, Telegram and YouTube$14.99
- Advanced multi-agent AI personal assistant with 250+ task capabilities (WhatsApp + GPT)$2.99
- Send Organized Security CVE Digests from NVD with AI-Polished Summaries to Gmail$4.99
- Learn n8n basics in 3 easy steps ✨$14.99
- Automated multi-platform sales agent with RAG, CRM & payment processing$2.99
- Version Control n8n Workflows in GitLab with Custom and Organization$14.99
More from Mario
Need this deployed? We'll set it up for you.
Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.