Introduction
I’ve been a huge fan of Notion for years. I’ve used it to manage my personal life, organize work in previous companies, and now rely on it daily while building my own startup. It’s one of those tools that keeps surprising me with how versatile and polished it is.
Notion has evolved from a simple note-taking tool into a powerful workspace builder - and with the introduction of Notion Automations, it’s possible to respond to changes inside databases with automated actions. One of these actions is sending a webhook, and that’s where MsgGO comes in.
In this article, I’ll walk through how to connect Notion with MsgGO using native webhooks, and why you might want to do this even though Notion already supports built-in notifications like Slack and email.
What Are Notion Automations?
Notion Automations allow you to trigger workflows when something happens inside a Notion database. You can set up automations like:
- When a new item is added
- When a status field changes
- When a due date arrives
- When a condition is met (e.g., priority is high + status is not done)
And then respond with actions such as:
- Sending a Slack message
- Sending an email
- Calling a webhook (external HTTP POST request)
The webhook option makes it easy to integrate Notion with MsgGO - no plugins, no extra tools.
Why Use MsgGO if Notion Supports Slack and Email?
That’s a fair question. Here’s where MsgGO adds value beyond what Notion natively offers:
- SMS delivery - Notion doesn’t support text messages, and SMS is still one of the best ways to get someone’s immediate attention.
- More integrations coming - We’re adding support for Microsoft Teams, Discord, Telegram, and more.
- User-controlled subscriptions - your teammates can choose which events they want to be notified about, and where. You define a single event webhook once, and they subscribe to it in the UI, selecting Slack, email, SMS, or all at once, without changing your code ever again.
- Templates & logic - Customize each notification with Twig templates, and apply conditions for who gets notified and when.
- Future-proofing with reports - Since MsgGO logs all events, you’ll soon be able to generate daily or weekly reports based on Notion activity, like status changes in tasks or updates to important fields.
How It Works
The general setup is simple:
- In Notion, create a database with your workflow (e.g., tasks, roadmap, bugs, requests, CMS).
- Add an automation triggered by a change (e.g., status moves to "Blocked").
- Use the webhook action and paste MsgGO inbox URL with your event name and API key.
- Notion allows you to define custom headers, so you can use them to pass an API key, or simply include it as a URL parameter.
- You can define exactly which properties Notion should send in the webhook payload. If you prefer not to send the full page content, just include the fields you need for your MsgGO template (e.g., title, status, priority). This gives you full control over what data is shared and how the final notification is generated.
- MsgGO receives the event and sends notifications via Slack, SMS, email, or more.
Example Use Cases
Notion is incredibly flexible, from product roadmaps to marketing calendars, but when it’s combined with MsgGO, its power multiplies. Below are some real-world scenarios showing how this integration brings clarity, speed, and automation into everyday workflows.
1. Incident Board Alerts for Engineering Teams
One powerful way to use Notion is as an incident board, where developers and DevOps log production issues or technical blockers.
In this setup, each new incident gets a row in the database. When someone updates the status of an item to Blocked
, it usually means something serious needs immediate attention. With MsgGO connected, this change instantly triggers two things:
- An SMS to the on-call engineer to make sure someone is aware and can act, even if they're away from Slack.
- A Slack notification to the infrastructure team’s channel, keeping the rest of the technical team in the loop.
This automated flow removes the delay of relying on someone manually pinging the team and helps reduce the time between incident detection and resolution.
2. Priority Escalation for Team Leads
In product or engineering teams, tasks and projects are often tracked in Notion databases that function as roadmaps or backlogs. Over time, priorities shift, and when a team member raises the urgency of an item to High
, it signals the need for a strategic decision.
With MsgGO listening to this database, you can automatically:
- Send an email to the team lead or product owner the moment a task’s priority increases.
- A Slack notification to the team’s channel, keeping the rest of the team in the loop.
This allows leadership to immediately assess whether other work should be re-prioritized, saving valuable time in fast-paced environments. It also prevents critical issues from getting buried in long lists of items that "someone will notice later."
3. Content Review Reminders for Marketing Teams
Marketing and content teams often use Notion as a planning board for social media campaigns, newsletters, or blog posts. Each piece of content moves through various stages, idea, draft, review, scheduled, published.
One of the biggest bottlenecks in such workflows is the review step. A draft is marked as ready for feedback, but no one notices for hours, and suddenly the publishing schedule slips.
By connecting MsgGO to your Notion content database, you can trigger:
-
A Slack message to the entire marketing channel when a piece moves to
Needs Review
. - An SMS to the assigned content lead or editor for high-priority posts.
This creates a real-time feedback loop without needing anyone to constantly monitor the board. It’s especially useful in remote teams where async workflows can unintentionally stall progress.
Step-by-Step: Connect Notion to MsgGO
Now that you've seen how MsgGO and Notion can work together across different teams, let’s build one of those integrations step by step. We’ll focus on the Social Media Planner use case, a typical workflow used by marketing teams to track content from idea to publication.
Our goal is simple: whenever someone marks a post as Needs Review
in Notion, MsgGO will automatically notify the right people, via Slack, SMS, or email, so the review process happens faster and the content calendar stays on schedule.
Step 1: Prepare Your MsgGO Event
-
Create a new event in MsgGO (e.g.,
social-media-planner
). -
Group it under
Marketing
. - Add delivery definitions for SMS, Slack, Email, etc.
- Use Twig to customize your message templates, making them easier to read and act on (we'll cover this in the next section).
Step 2: Get Your API Key
- Use a private API key in MsgGO.
-
Create a key named
Notion Automations
, and copy the value. - This key should be used in the webhook call for authentication.
Step 3: Configure the Webhook in Notion
- Open the Notion page containing your Social Media Planner database.
- Click the three-dot menu (···) in the top-right corner of the database view and select “Automation”.
-
Choose a trigger for the Status field and select the values you want to listen for (e.g.,
Needs Review
). - Set the action to Send Webhook.
-
In the URL field, enter:
https://msggo.io/inbox?event_name=social-media-planner
-
Add a custom header with:
-
Key:
X-MsgGO-Key
- Value: (your MsgGO private API key)
-
Key:
-
In the Body / Payload, select which properties from the Notion page you want to include (e.g.,
title
,status
,assignee
). These will be sent to MsgGO and made available in your message templates. - Click Save and activate the workflow.
Example Payload and Twig Template
When Notion sends a webhook to MsgGO, the payload contains useful information like the title of the post, its status, the author, and any custom properties you choose (depending on which fields you select during webhook setup).
You can view the exact event data received by MsgGO in the Inbox page. This view lets you inspect the raw payload, see when it was received, and confirm whether it matched any of your event definitions. It’s especially useful for debugging and refining your templates or matching rules.
Using this payload, you can build a more dynamic Twig template in MsgGO:
📝 New post ready for review
**Title**: {{ data.data.properties['Post name'].title[0].plain_text }}
**Author**: {{ data.data.properties['Post Author'].people[0].name }}
**Status**: {{ data.data.properties['Post Status'].status.name }}
**Platform**: {{ data.data.properties['Platform'].select.name | default('Not specified') }}
{% if data.data.properties['Scheduled Date'].date is defined %}
🗓️ Scheduled for: {{ data.data.properties['Scheduled Date'].date.start | date('Y-m-d H:i') }}
{% else %}
🗓️ No scheduled date yet.
{% endif %}
🔗 View in Notion: {{ data.data.url }}
This version uses:
-
the
default
filter to handle missing fields, -
an
if
condition for optional properties, -
and Twig’s
date
filter to format ISO date strings.
It gives you a clean and flexible notification layout across channels.
Did You Know We Use Notion as a Headless CMS?
Yup, our own documentation and blog at MsgGO are powered entirely by Notion.
Instead of using a traditional CMS, we created a simple Notion database with fields like Title
, Slug
, Published At
, Section
, and Status
. It’s clean, easy to manage, and fully under our control.
We wrote a lightweight script that pulls content from Notion using its public API and renders it directly on our website. This means we can make updates to our site just by editing a Notion page, no deployments, no admin dashboards, no code changes.
It gives us all the benefits of a CMS, version history, permissions, rich editing, without introducing another tool to learn or maintain. And it’s surprisingly fast to set up.
Want to learn how we built it?
👉 https://medium.com/@oofca/how-and-why-we-use-notion-as-a-headless-cms-for-msggo-53237df430b6
Wrap-up
Notion’s automation feature is powerful on its own, but integrating it with MsgGO gives you:
- Multi-channel delivery
- Access to SMS and other channels Notion doesn’t support
- A flexible notification system you can evolve over time
- The ability to build cross-tool reporting in the near future
If your team already uses Notion for task tracking, documentation, or request, this is one of the easiest ways to level up your alerts and communication without touching a line of backend code.
Give it a shot, and let me know what you end up building!