To view the n8n flow demo and copy the JSON you need to purchase our Bundle... don't worry, it's FREE

Go to the BUNDLE

Provide Real-Time Updates for Notion Databases via Webhooks with Supabase

Purpose

This enables webhooks for nearly realtime updates (every 5 seconds) from Notion Databases.

Problem

Notion does not offer webhooks. Even worse, the “Last edited time” property, 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

Get real-time updates from Notion Databases

How it works

  • Database Pages are frequently polled while filtered by a last modified time stamp 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 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

 [
 {
 "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"
 }
 ]
Do you want to automate your business?

Let's talk about your project