Every 5–15 minutes
Post Notion database changes to Slack
Your team hears when a project is added or its status changes, without checking Notion.
- Runs
- Every 5–15 minutes
- Apps
- Notion
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every 10 minutes, check my Notion Projects database and post to #projects in Slack when a new project is added or a project's Status changes, with the old and new status.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An operations manager tracks vendor onboarding in a Notion database, and three people update it throughout the day. A vendor's Status moves to Blocked, a contract owner gets reassigned, or a new request gets added. Nobody pings the channel, so a blocked vendor waits two days before anyone notices. Notion's own notifications are tied to mentions and comments, not to property updates.
Every few minutes, the database is queried in order of last edit time. Each item is compared with what was seen on the previous check, and any page that is new or whose status moved is posted to the Slack channel you choose, with its title, the new value and a link back to the page.
It works well for intake queues, bug trackers, hiring pipelines and any database where timing matters.
What you get out of it
Blocked items get attention sooner
A message in Slack the same quarter hour a vendor turns Blocked shortens the wait from days to minutes, which protects launch dates that depend on that vendor. The vendor can then be chased the same morning.
Everyone sees updates without opening Notion
Teammates who live in Slack get the news where they already look. That reduces the need for status meetings whose only purpose is to read through the database. The channel becomes the shared record of what moved and when.
New requests are never missed
A request added late on Friday gets announced right away, so it does not sit unseen until someone scrolls the table on Monday. Pages that were created while people were away are visible on return.
Clear who moved what
Each post shows the new status and a link, which makes it quick to open the page and see context, instead of asking in a thread what happened. The conversation about a change starts in the thread, next to the post.
Quiet when nothing happens
Only added or updated items are posted. Channels stay readable because there is no timer-based summary repeating unchanged rows. Alert fatigue is avoided, so people keep paying attention when something does post.
How it works
What happens, step by step
Every few minutes, ClickRuntime checks your Notion database for items that were recently edited.
It compares each item with what it saw last time, so it can tell new projects apart from status changes.
Anything it has already reported is skipped, so nothing is posted twice.
Each new project or status change is posted to your Slack channel, for example "Acme portal: In progress → Review".
Before it runs live
- Connect Notion and share the database you want it to use
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Notion steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, report_fetched, credentials, http, state, notify
NOTION = "https://api.notion.com/v1"
def headers():
return {"Authorization": f"Bearer {credentials.secret('NOTION_TOKEN')}", "Notion-Version": "2022-06-28"}
def query(db, body=None):
resp = http.post(f"{NOTION}/databases/{db}/query", headers=headers(), json=body or {})
resp.raise_for_status()
return resp.json()["results"]
def title(page, prop="Name"):
return "".join(t["plain_text"] for t in page["properties"][prop]["title"])
PROJECTS = "projects-database-id"
@on_trigger
def run(event):
pages = query(PROJECTS)
current = {p["id"]: [title(p), (p["properties"]["Status"]["select"] or {}).get("name", "")] for p in pages}
before = state.get("status")
if before is None: # first run: remember what's there
state.set("status", current)
changes = [] if before is None else [
f"New project: {name} ({status})" if pid not in before else f"{name}: {before[pid][1]} → {status}"
for pid, (name, status) in current.items() if pid not in before or before[pid][1] != status]
report_fetched(len(changes))
if not changes:
return {"summary": "No changes"}
notify.slack("\n".join(changes), channel="#projects")
state.set("status", current)
return {"changes": len(changes)}FAQ
Common questions
How quickly will I hear about an update?
Will it post the same item twice?
Can it watch only rows where Priority is High?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Export finished Notion pages to Markdown
When a page is marked ready, you get it as Markdown by email and the page is marked as exported.
See how it worksGet alerts when a Notion value goes out of range
When a reading or metric in your database passes your limit, you hear about it once, not on every check.
See how it worksSummarise and tag new feedback in Notion
Each new feedback row gets a summary, a sentiment and tags, so you can sort and filter it without reading every entry.
See how it worksKeep exploring
Set up “Post Notion database changes to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.