Community · n8n

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.

difficulty Beginnersetup 30 minresult Every Notion page update triggers a clean, readable Discord message in your changelog channel within seconds.
  1. 1

    Set up the Schedule Trigger to poll Notion

    Add a Schedule Trigger node 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 under Trigger Interval to match how quickly you need updates posted.

  2. 2

    Query Notion for recently edited pages

    Add a Notion node set to the Database: Get Many operation. Enter your Database ID from the Notion URL. Under Filter, add a condition on the last_edited_time property using is on or after and 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 the Credential field.

  3. 3

    Filter out unchanged or irrelevant pages

    Add an IF node 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 the TRUE branch to the next node.

  4. 4

    Format the changelog message

    Add a Set node to build the Discord message fields. Create a field named message with 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. 5

    Post the changelog to Discord

    Add an HTTP Request node to send the message via a Discord webhook. Set Method to POST, paste your Discord webhook URL into the URL field, set Body Content Type to JSON, and add a Body Parameter named content with 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.

About this recipe. Recipes on FlowRecipesHub are written for business owners, not developers, and are tested before publishing — how recipes get made. Some ingredient links are affiliate links that cost you nothing — full disclosure.