I’ve seen multiple questions about how to fire webhooks from Notion. Despite the recently added automation in the Notion platform, this feature has (so far) been overlooked. It’s a shame because this small tweak would open a world of possibilities for what Notion can do for customers.
Why Care About Notion WebHooks ?
Recently, Notion gave us Buttons, and then automation at the row and property level of databases, but neither one could fire a webhook.
That meant the only things we could automate were the limited options that Notion made available.
Platforms like Make.com, Zapier, and PipeDream give us much greater automation control, but they all run on polling timers that are disconnected from the Notion event.
If you poll too infrequently, responses are slow and it’s a bad experience in Notion.
If you poll too often, then you burn through credits or need more expensive paid tiers on your automation platform.
WebHooks would let us fire our automation only when we need it, but they are not yet available natively in Notion.
This post and video show how to get around that limitation.
Create Your Private Slack Account
The free tier is just fine, so long as you can create your own channels.
If you have access to a paid Slack account, that works too. However, in that case, you also have access to “Slack Apps” which supersede the outbound WebHooks tool covered here.
I’m hoping that Notion gives us native WebHooks before Slack completely deprecates outbound WebHooks.
Create a Slack Channel to Listen to Notion Events
Start with just one channel, and name it similar to the event that will be sending messages to the channel.
For example, #new-project-row, or #project-note-changed.
I’m going to work with a table to measure ingredients for recipes, so I’ll name my channel
The message that Notion sends to Slack will always include the current row title. In the case of an updated property, you’ll also get additional details like the old and new text.
Notion Automations Notify Slack
In Notion, add the native automation to a new row, so the trigger is a new page, and the event is notifying your Slack channel that you created above.
Unfortunately, there’s still a delay between 30-120 seconds between the event and when the event shows up in Slack. The delay appears to be on the Notion side, and there’s not much we can do about it at the moment.
Slack Calls the WebHook
Using the Outbound Webhook integration for Slack, we can monitor any channel and fire a webhook in response.
5. Automations Listen For WebHooks
The Make.com scenario is listening for the WebHook from Slack to activate.
The first thing it does is a search (rather than a poll) for any records that need to be updated.
If and only if there are records found, we then perform whatever action is required. Your automation can obviously be far more involved, but this is the basic framework.