Hourly
Share new YouTube videos with a short summary
When a channel you follow uploads, your server gets the link and a three-line summary.
- Runs
- Hourly
- Apps
- Discord
- AI
- Yes, uses the built-in AI allowance
- Access
- Send Messages
Send this to your assistant
Create a ClickRuntime automation: every hour, check these YouTube channels for new videos and post each one to #videos on my Discord with a 3-line summary from its description.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Members of a server about a game, a programming language or a hobby follow a dozen YouTube channels, and a new upload gets mentioned hours later, if at all. Someone pastes a link without saying what it is, so people click, watch the first minute and leave. The community misses releases that matter, such as a patch-notes video, because no one was online when it went up.
Every hour the automation reads each channel's RSS feed, skips video IDs it has already seen, and ClickRuntime's built-in AI drafts a short summary from the title and description. It then posts the link and the summary in the Discord channel, so members can decide whether the video is worth their time.
It suits fan communities, learning groups and any server built around a handful of creators.
What you get out of it
New videos noticed within the hour
Hourly checks mean a release is in the channel soon after it goes live. Discussion starts while the video is still fresh, and members who would have heard about it a day later join the first conversation instead of the last.
Members can judge before clicking
A two-line summary tells people whether a video is a ten-minute tutorial or a long livestream replay. They watch what suits them, instead of clicking through everything and leaving after a minute because it was not what they expected.
No double posting
Tracking seen video IDs prevents the same upload from appearing twice, even if a feed returns old items again. A channel that repeats itself soon gets ignored, and this keeps the feed trustworthy for the people reading it.
Creators you choose
You list the channels that matter to your community, so the feed stays relevant. Adding a new creator or dropping one who has stopped posting is a one-line request to your AI assistant rather than a project.
No one has to play curator
The member who posted every video by hand is no longer on duty, and nothing is missed when they are away. The server keeps its reputation as the place where you hear about new releases first.
How it works
What happens, step by step
Every hour, ClickRuntime checks the YouTube channels you follow for new videos.
It skips videos it has already shared.
AI reads each new video's title and description and writes a one-line summary.
The title, summary and link are posted to your Discord channel.
Before it runs live
- Connect Discord
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
- 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 Discord steps into one automation
Under the hood
The code that runs this automation
import re
from clickruntime import on_trigger, http, credentials, ai, state, report_fetched
VIDEOS_CHANNEL = "VIDEOS_CHANNEL_ID"
YT_CHANNELS = ["UC_x5XG1OV2P6uZZ5FSM9Ttw"]
def discord(method, path, **kw):
r = http.request(method, f"https://discord.com/api/v10{path}",
headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"}, **kw)
r.raise_for_status()
return r.json() if r.content else None
@on_trigger
def run(event):
seen = set(state.get("seen") or [])
new = []
for cid in YT_CHANNELS:
feed = http.get("https://www.youtube.com/feeds/videos.xml", params={"channel_id": cid}).text
for vid, title, desc in re.findall(
r"<yt:videoId>(.*?)</yt:videoId>.*?<title>(.*?)</title>.*?<media:description>(.*?)</media:description>", feed, re.S):
if vid not in seen:
new.append((vid, title, desc))
report_fetched(len(new))
if not new:
return {"new": 0}
for vid, title, desc in new:
summary = ai.generate(f"Summarise in 3 short lines:\n{title}\n{desc[:2000]}", max_output_tokens=120).text
discord("POST", f"/channels/{VIDEOS_CHANNEL}/messages",
json={"content": f"**{title}**\n{summary}\nhttps://youtu.be/{vid}"})
seen.add(vid)
state.set("seen", list(seen)[-500:])
return {"new": len(new)}FAQ
Common questions
How do I find a YouTube channel's RSS feed?
Is the summary based on the video itself?
Does it post Shorts and livestreams too?
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
Answer questions in your help channel
People who mention your bot in #help get an answer within minutes, and bug reports are copied to the right channel.
See how it worksRemove spam and scams from your server
Clear spam is deleted within minutes, and borderline messages go to your mods to decide.
See how it worksGet a daily news digest in Discord
Each morning your server gets a short roundup of the top stories from the sites you follow.
See how it worksKeep exploring
Set up “Share new YouTube videos with a short summary” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.