Auto-Post Notion Page Updates as Discord Changelog Messages
Whenever a Notion database page is updated, this workflow automatically posts a formatted changelog message to a Discord channel. Community managers save time and never miss announcing product or content updates.
- 1
Set up the Schedule Trigger to poll Notion
Add a
Schedule Triggernode and set it to run every 15 minutes. Because Notion does not offer native webhooks for page updates, this polling approach checks for recent changes regularly. Adjust the interval underTrigger Intervalto match how quickly you need updates posted. - 2
Query Notion for recently edited pages
Add a
Notionnode set to theDatabase: Get Manyoperation. Enter yourDatabase IDfrom the Notion URL. UnderFilter, add a condition on thelast_edited_timeproperty usingis on or afterand set the value to{{ new Date(Date.now() - 15 * 60 * 1000).toISOString() }}so only pages edited in the last 15 minutes are returned. Connect your Notion credential in theCredentialfield. - 3
Filter out unchanged or irrelevant pages
Add an
IFnode to check that results exist. Set the condition to{{ $json.id }}is not empty. This prevents the workflow from posting to Discord when no pages were recently updated. Connect theTRUEbranch to the next node. - 4
Format the changelog message
Add a
Setnode to build the Discord message fields. Create a field namedmessagewith the value**Changelog Update** :page_facing_up: **Title:** {{ $json.properties.Name.title[0].plain_text }} **Updated:** {{ $json.last_edited_time }} **View Page:** {{ $json.url }}. This produces a clean, readable Discord message for each updated page. - 5
Post the changelog to Discord
Add an
HTTP Requestnode to send the message via a Discord webhook. SetMethodtoPOST, paste your Discord webhook URL into theURLfield, setBody Content TypetoJSON, and add aBody Parameternamedcontentwith value{{ $json.message }}. To get a webhook URL, go to your Discord channel settings, select Integrations, and create a new Webhook.
Frequently asked questions
What if multiple pages are updated at the same time?
The Notion node returns all recently edited pages and n8n processes each as a separate item, so a Discord message is posted for every updated page in that polling window.
Can I include custom Notion properties like version number or author?
Yes. In the Set node, reference additional properties using expressions like `{{ $json.properties.Version.rich_text[0].plain_text }}`. Just make sure those properties exist in your Notion database.
How do I avoid duplicate posts if the workflow runs again before content changes?
The IF node filters pages edited within the last 15 minutes, matching your poll interval. As long as the Schedule Trigger interval matches the filter window, you will not see duplicates for the same edit.