Daily
Get a morning news digest from feeds and YouTube in Telegram
Each morning Telegram brings you a short AI digest of new videos and headlines on the topics you follow.
- Runs
- Daily
- Apps
- Telegram, YouTube
- AI
- Yes, uses the built-in AI allowance
- Access
- API key; bot token
Send this to your assistant
Create a ClickRuntime automation: every morning at 7am, collect new videos from my YouTube channels and headlines from my RSS feeds from the last day, have AI write a short digest grouped by topic, and send it to my Telegram.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An analyst tracks an industry through a mix of news sites, blogs and YouTube channels. Every morning they open a dozen tabs and skim for anything important. Most days there is nothing, but on the days there is, they cannot afford to miss it.
One digest that pulls everything together and groups it by topic replaces the morning tab-opening with a two-minute read in Telegram.
What you get out of it
Everything in one place
Videos and articles arrive together, grouped by topic, instead of across a dozen sites.
A two-minute read
AI keeps the digest short and points out what is genuinely new.
Links when you want more
Every item links to the source, so you can dig into the ones that matter.
Your own sources
You choose the feeds and channels, so the digest reflects your field, not a news app's idea of it.
How it works
What happens, step by step
Every morning, ClickRuntime reads your RSS feeds and the latest uploads from your YouTube channels.
It keeps only items published in the last day.
AI writes a short digest grouped by topic, with a link for each item.
The digest is sent to you on Telegram.
Before it runs live
- Connect Telegram
- Connect YouTube
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 Telegram and YouTube steps into one automation
Under the hood
The code that runs this automation
import time
import feedparser
from clickruntime import on_trigger, http, credentials, ai
YT = "https://www.googleapis.com/youtube/v3"
def yt(path, **params):
return http.get(f"{YT}/{path}", params={**params, "key": credentials.secret("YOUTUBE_API_KEY")}).json().get("items", [])
CHAT_ID = "123456789"
def tg(method, **params):
r = http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/{method}", json=params)
return r.raise_for_status() or r.json()["result"]
FEEDS = ["https://www.example.com/feed", "https://blog.example.org/rss"]
UPLOADS = ["UUxxxxxxxxxxxxxxxxxxxxxx"]
@on_trigger
def run(event):
cutoff = time.time() - 86400
items = []
for url in FEEDS:
for e in feedparser.parse(http.get(url).content).entries:
if e.get("published_parsed") and time.mktime(e.published_parsed) > cutoff:
items.append(f"[article] {e.title} {e.link}")
for pl in UPLOADS:
for i in yt("playlistItems", part="snippet", playlistId=pl, maxResults=5):
if i["snippet"]["publishedAt"] >= time.strftime("%Y-%m-%dT%H:%M:%S", time.gmtime(cutoff)):
items.append(f"[video] {i['snippet']['channelTitle']}: {i['snippet']['title']} https://youtu.be/{i['snippet']['resourceId']['videoId']}")
digest = ai.generate("\n".join(items[:150]) or "Nothing new.", system="Write a short morning digest grouped by topic. "
"One line per item with its link. Under 250 words.", max_output_tokens=700).text
tg("sendMessage", chat_id=CHAT_ID, text=digest[:4000], disable_web_page_preview=True)
return {"items": len(items)}FAQ
Common questions
Which sources can it read?
Can it watch competitors?
What if a day is quiet?
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
Build a daily playlist from your favourite channels
Each morning a fresh YouTube playlist of the last day's videos from channels you choose is created, and the link lands in Telegram.
See how it worksSend a YouTube link to Telegram and get a summary back
Share a YouTube link with your Telegram bot and it replies with a short summary and the key points.
See how it worksUpload finished Shorts to YouTube and hear about it on Telegram
When your video tool finishes a Short, it goes up to YouTube with an AI-written title and Telegram tells you it is live.
See how it worksKeep exploring
Set up “Get a morning news digest from feeds and YouTube in Telegram” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.