Hourly
Get new videos from your favourite YouTube channels with AI summaries
New videos from the channels you follow arrive on Telegram and by email, each with a short summary so you know which to watch.
- Runs
- Hourly
- Apps
- Gmail, Telegram
- AI
- Yes, uses the built-in AI allowance
- Access
- Telegram bot token; Gmail gmail.send
Send this to your assistant
Create a ClickRuntime automation: every hour, check my favourite YouTube channels for new videos and send each one with an AI summary to my Telegram and email.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A marketing lead follows a handful of YouTube channels on ads, analytics and her industry. The home feed buries new uploads under recommendations, and she finds out about the useful ones a week late from a colleague.
Getting each new upload from those channels, with a summary of what it covers, lets her decide in seconds whether to watch now, later or not at all. The feed works for her rather than for the recommendation system.
What you get out of it
Only the channels you chose
Videos arrive from your list, not from what the platform wants to promote. Nothing gets lost in the home feed.
Decide before you click
A short summary tells you what a video covers. You can skip the ones that are not relevant without watching the first few minutes.
Where you already look
Telegram for a quick glance on your phone, email for a record you can search. Both arrive at once.
Keep up with your field
Talks, product updates and tutorials reach you the hour they are published, which matters when news moves fast.
How it works
What happens, step by step
Every hour, ClickRuntime checks the YouTube channels you chose for new uploads.
It skips any video it has already sent you.
AI writes a two-sentence summary of each new video from its title and description.
Each video link and summary is sent to your Telegram and to your email.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- 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 Gmail and Telegram steps into one automation
Under the hood
The code that runs this automation
import base64
from email.message import EmailMessage
import feedparser
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai, state, report_fetched
CHANNELS, CHAT_ID = ["UCxxxxxxxxxxxxxxxxxxxxxx"], "your-telegram-chat-id"
@on_trigger
def run(event):
seen = set(state.get("seen") or [])
new = [e for c in CHANNELS for e in feedparser.parse(http.get(f"https://www.youtube.com/feeds/videos.xml?channel_id={c}").text).entries
if e.link not in seen]
report_fetched(len(new))
if not new:
return {"sent": 0}
gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
token = credentials.secret("TELEGRAM_BOT_TOKEN")
for e in new:
summary = ai.generate(f"Summarise this video in two sentences:\n{e.title}\n{e.get('summary', '')}", max_output_tokens=150).text
text = f"{e.author}: {e.title}\n{summary}\n{e.link}"
http.post(f"https://api.telegram.org/bot{token}/sendMessage", json={"chat_id": CHAT_ID, "text": text})
msg = EmailMessage()
msg["To"], msg["Subject"] = "me", f"New video: {e.title}"
msg.set_content(text)
gmail.users().messages().send(userId="me", body={"raw": base64.urlsafe_b64encode(msg.as_bytes()).decode()}).execute()
seen.add(e.link)
state.set("seen", list(seen)[-500:])
return {"sent": len(new)}FAQ
Common questions
How do I add a channel?
What is the summary based on?
Will a video be sent 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 a morning newsletter digest on Telegram
Yesterday's newsletters arrive as one short digest on Telegram at 7am, as text or a voice message.
See how it worksClear out old promotional emails every night
Old promotions that are truly junk move to trash each night, and you get a short Telegram report of what went.
See how it worksMonitor your sites and SSL certificates with Telegram alerts
Your websites are checked every 5 minutes and their certificates daily, and you hear on Telegram and by email when something is wrong.
See how it worksKeep exploring
Set up “Get new videos from your favourite YouTube channels with AI summaries” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.