Hourly
Get an email when channels you follow post
New videos from your subscriptions arrive in one email with titles and links.
- Runs
- Hourly
- Apps
- YouTube
- AI
- Not needed
- Access
- OAuth youtube.readonly for subscriptions; API key for a public playlist
Send this to your assistant
Create a ClickRuntime automation: every hour, check the channels I'm subscribed to and email me any new videos with the title, channel and link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
The YouTube homepage is built to keep you watching, not to show you what you subscribed to. A channel you care about uploads a long interview, the algorithm shows you something else, and you find out two weeks later from a friend. Many people have given up on the subscriptions tab because it is cluttered with Shorts and clips.
Every hour, your subscriptions, or a specific playlist you give it, are read. The uploads playlist of each channel is checked, and video IDs not seen before are remembered so they appear only once. A single email then lists the new videos with titles and links.
It suits people who follow a handful of creators closely, researchers tracking channels and anyone who wants a quiet alternative to the feed. Your inbox becomes a quiet, ordered feed of exactly the channels you picked.
What you get out of it
You see uploads from channels you chose
The email contains videos from your subscriptions, not recommendations, so you decide what to watch instead of letting the algorithm pick. Choosing for yourself is a relief when the algorithm keeps pushing something else.
No more checking the app
You stop opening YouTube just in case, which removes a habit that often turns into an hour of unplanned scrolling. That small change returns time that used to disappear into the homepage.
Time-sensitive videos reach you early
Product reviews, news reactions and live-event recaps are valuable soon after release, and an hourly check puts them in front of you the same day. Prompt notice matters for videos that lose interest after a day or two.
Quiet channels are not forgotten
A channel that posts once a month is easy to lose track of, but any upload from it will appear in your email when it happens. That is useful for occasional but valuable creators you would otherwise forget.
It works for shared playlists too
Giving it a team's playlist means everyone can follow new additions by email, even if some people do not use YouTube regularly. A team can share the same email, so nobody has to reshare links in chat.
How it works
What happens, step by step
Every hour, ClickRuntime checks the latest uploads from the YouTube channels you subscribe to.
It skips any video it has already told you about.
If there are new videos, you get one email listing each with its channel, title and link.
Before it runs live
- 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
- 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 YouTube steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
YT = "https://www.googleapis.com/youtube/v3"
@on_trigger
def run(event):
h = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
subs = http.get(f"{YT}/subscriptions", headers=h, params={"part": "snippet", "mine": "true", "maxResults": 50}).json()["items"]
ids = ",".join(s["snippet"]["resourceId"]["channelId"] for s in subs)
channels = http.get(f"{YT}/channels", headers=h, params={"part": "contentDetails", "id": ids, "maxResults": 50}).json()["items"]
seen = set(state.get("seen") or [])
new = []
for ch in channels:
pl = ch["contentDetails"]["relatedPlaylists"]["uploads"]
for it in http.get(f"{YT}/playlistItems", headers=h, params={"part": "snippet", "playlistId": pl, "maxResults": 5}).json().get("items", []):
vid = it["snippet"]["resourceId"]["videoId"]
if vid not in seen:
new.append(f"{it['snippet']['channelTitle']}: {it['snippet']['title']}\nhttps://youtu.be/{vid}")
seen.add(vid)
report_fetched(len(new))
if not new:
return {"summary": "Nothing new"}
state.set("seen", list(seen)[-2000:])
notify.email_me(f"{len(new)} new videos", "\n\n".join(new))
return {"new": len(new)}FAQ
Common questions
Will I get an email every hour?
Does it include Shorts and live streams?
How many subscriptions can it handle?
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
Write descriptions, tags and chapters for new uploads
Each new video gets an AI-written description, tags and timestamped chapters from its captions, and you get an email showing what changed.
See how it worksAdd translated titles and descriptions to new videos
New uploads get their title and description in the languages you choose, added as YouTube localizations.
See how it worksReplace a link in every video description
One call swaps old text for new across all your descriptions and tells you how many videos changed.
See how it worksKeep exploring
Set up “Get an email when channels you follow post” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.