Every 10 minutes
Get Discord and Telegram alerts when Notion statuses change
When an item in your Notion database changes status, a message goes to Discord and Telegram saying what moved and where.
- Runs
- Every 10 minutes
- Apps
- Discord, Telegram
- AI
- Not needed
- Access
- send messages in both
Send this to your assistant
Create a ClickRuntime automation: every 10 minutes, check my Notion database for items whose status changed and post each change to Discord and Telegram.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small content team plans its articles in a Notion database, moving each one from Draft to Review to Published. Editors only notice a piece is ready for review when they open Notion, and writers do not know their article went live until someone tells them.
Posting each status change into the chat apps people actually keep open means the next person in line hears it is their turn right away, without polling Notion all day.
What you get out of it
Hand-offs happen sooner
When an item moves to Review, the reviewer hears about it within minutes. Work spends less time waiting for someone to notice it.
Only status changes are posted
Edits to the text or other fields are ignored. The messages stay focused on progress, so people keep reading them.
Reach people on the app they use
Some of the team live in Discord, others in Telegram on their phone. Posting to both means nobody has to change habits.
A running record of progress
The channel becomes a timeline of what moved and when. Scrolling back shows how long items sat in each stage.
How it works
What happens, step by step
Every 10 minutes, ClickRuntime looks for items in your Notion database that were edited recently.
It compares each item's status with the status it saw last time.
Items whose status did not change are skipped.
Each change, such as "Pricing page: Draft to Review", is posted to your Discord channel and Telegram chat.
Before it runs live
- Connect Discord
- Connect Telegram
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 Discord and Telegram steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, report_fetched
DATABASE_ID = "your-notion-database-id"
DISCORD_CHANNEL = "your-discord-channel-id"
TELEGRAM_CHAT = "your-telegram-chat-id"
@on_trigger
def run(event):
notion = {"Authorization": f"Bearer {credentials.secret('NOTION_TOKEN')}", "Notion-Version": "2022-06-28"}
pages = http.post(f"https://api.notion.com/v1/databases/{DATABASE_ID}/query", headers=notion,
json={"sorts": [{"timestamp": "last_edited_time", "direction": "descending"}], "page_size": 50}).json()["results"]
known = state.get("status") or {}
changes = []
for p in pages:
status = ((p["properties"].get("Status") or {}).get("status") or {}).get("name")
title = "".join(t["plain_text"] for t in p["properties"]["Name"]["title"]) or "Untitled"
if p["id"] in known and known[p["id"]] != status:
changes.append(f"{title}: {known[p['id']]} to {status}\n{p['url']}")
known[p["id"]] = status
report_fetched(len(changes))
if not changes:
return {"summary": "No status changes"}
for text in changes:
http.post(f"https://discord.com/api/v10/channels/{DISCORD_CHANNEL}/messages",
headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"}, json={"content": text})
http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage", json={"chat_id": TELEGRAM_CHAT, "text": text})
state.set("status", known)
return {"summary": f"{len(changes)} changes posted"}FAQ
Common questions
Which Notion property does it watch?
Is the first run going to post everything?
Does the Notion integration need access to the database?
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
Announce new blog posts on Discord and Telegram
Each article you publish is posted to your Discord server and Telegram channel with its title, link and a short teaser.
See how it worksSend new posts from a feed to Discord and Telegram
New posts from an account, subreddit or feed you follow appear in your Discord and Telegram channels within minutes.
See how it worksSend error alerts to Discord and Telegram
When a job or system fails, your team sees the details in Discord and you get them on Telegram, wherever you are.
See how it worksKeep exploring
Set up “Get Discord and Telegram alerts when Notion statuses change” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.