Every 2 hours
Save relevant RSS articles to Notion with Telegram alerts
Articles from your feeds that match your topics are saved to Notion with a summary, and the best ones are sent to you on Telegram.
- Runs
- Every 2 hours
- Apps
- Notion, Telegram
- AI
- Yes, uses the built-in AI allowance
- Access
- Notion write; bot token
Send this to your assistant
Create a ClickRuntime automation: every 2 hours, check my RSS feeds, keep the articles relevant to my topics, save them with summaries to my Notion Reading database and send me the top ones on Telegram.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A content lead at a marketing agency follows two dozen industry blogs and newsletters to find material for client posts and her own newsletter. A feed reader shows everything, most of it irrelevant, and the good articles get lost before she has time to read them.
Filtering feeds by topic, saving the relevant articles with summaries to Notion and pinging only the best ones turns a firehose into a short reading list. Content marketers, analysts, newsletter writers and researchers use it to keep up with their field in a fraction of the time.
What you get out of it
Only the articles that matter
Each new article is checked against your topics and the rest are dropped. You read a handful of relevant pieces instead of scrolling past hundreds.
A searchable library in Notion
Every saved article has a summary, source and link in your Notion database. When you write about a subject, the research is already collected.
The important ones reach you fast
The top articles are sent to Telegram as they appear. Timely stories can be shared with clients or used in a post the same day.
Summaries save reading time
A short summary tells you whether an article is worth opening. You decide in seconds rather than reading the first few paragraphs of each one.
How it works
What happens, step by step
Every 2 hours, ClickRuntime reads each of your RSS feeds.
It skips articles it has already checked.
AI decides which new articles match your topics, scores them and writes a short summary for each.
Relevant articles are saved to your Notion Reading database, and the highest-scoring ones are sent to you on Telegram.
Before it runs live
- Connect Notion and share the database you want it to use
- 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
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Notion and Telegram steps into one automation
Under the hood
The code that runs this automation
import feedparser
from clickruntime import on_trigger, credentials, http, state, ai, report_fetched
FEEDS = ["https://example.com/feed.xml", "https://blog.example.org/rss"]
TOPICS, DATABASE_ID, CHAT_ID = "retail media, privacy regulation, B2B pricing", "your-database-id", "your-chat-id"
SCHEMA = {"type": "array", "items": {"type": "object", "properties": {"n": {"type": "integer"}, "score": {"type": "integer"},
"summary": {"type": "string"}}, "required": ["n", "score", "summary"]}}
@on_trigger
def run(event):
seen = set(state.get("seen") or [])
items = [e for f in FEEDS for e in feedparser.parse(http.get(f).content).entries if e.link not in seen]
report_fetched(len(items))
if not items:
return {"summary": "Nothing new"}
listing = "\n".join(f"{i}. {e.title}: {e.get('summary', '')[:300]}" for i, e in enumerate(items[:40]))
picks = ai.generate(f"Topics: {TOPICS}\nReturn only articles relevant to the topics, with a 0-10 score and one-sentence summary:\n{listing}",
max_output_tokens=1500, json_schema=SCHEMA).json
for p in picks:
e = items[p["n"]]
http.post("https://api.notion.com/v1/pages", headers={"Authorization": f"Bearer {credentials.connection('notion', 'work')}",
"Notion-Version": "2022-06-28"}, json={"parent": {"database_id": DATABASE_ID}, "properties": {
"Name": {"title": [{"text": {"content": e.title[:200]}}]}, "URL": {"url": e.link},
"Summary": {"rich_text": [{"text": {"content": p["summary"]}}]}, "Score": {"number": p["score"]}}})
top = [f"{items[p['n']].title}\n{items[p['n']].link}" for p in sorted(picks, key=lambda p: -p["score"])[:3] if p["score"] >= 7]
if top:
http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage",
json={"chat_id": CHAT_ID, "text": "Worth reading:\n\n" + "\n\n".join(top)})
state.set("seen", (list(seen) + [e.link for e in items])[-2000:])
return {"new": len(items), "saved": len(picks)}
FAQ
Common questions
How do I set my topics?
What decides which articles go to Telegram?
Will I see the same article twice?
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
Get Telegram nudges for stale leads in your Notion CRM
Every weekday morning, leads you have not contacted in 7 days are sent to you on Telegram, each with a suggested follow-up message.
See how it worksCheck SSL expiry for domains in Notion and warn on Telegram
Every domain in your Notion database is checked daily, its expiry date is updated, and you get a Telegram message for any expiring within 14 days.
See how it worksGet your Notion tasks as a Telegram digest
Each morning or each Sunday evening, your upcoming Notion tasks arrive on Telegram, grouped the way you plan.
See how it worksKeep exploring
Set up “Save relevant RSS articles to Notion with Telegram alerts” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.