Skip to content

Every 30 minutes

Get new YouTube uploads from your favourite channels in Telegram

Every new video from the channels you follow is posted to your Telegram chat or channel with its title and link.

Runs
Every 30 minutes
Apps
Telegram, YouTube
AI
Not needed
Access
API key; bot token

Send this to your assistant

Create a ClickRuntime automation: every 30 minutes, check these YouTube channels for new videos and post each new one to my Telegram channel with its title and link.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A community runs a Telegram channel for fans of a handful of creators. Members want to know the moment a new video drops. The admins currently post the links by hand, which means delays overnight and missed uploads at weekends.

Posting each new upload automatically keeps the community channel current around the clock, and lets admins spend their time on conversation instead of links.

What you get out of it

  • Never miss an upload

    New videos appear in Telegram within half an hour, day or night.

  • Admins get their time back

    Nobody has to watch the channels and copy links across.

  • Each video posted once

    Videos already shared are remembered, so the channel never gets duplicates.

  • Works for any public channel

    You can follow your own channel, partners or creators you admire.

How it works

What happens, step by step

  1. Every 30 minutes, ClickRuntime checks the latest uploads of each channel you listed.

  2. It skips videos it has already posted.

  3. Each new video is sent to your Telegram chat or channel with its title and link.

  4. It remembers the videos it has posted, so each one is shared once.

Before it runs live

  • Connect Telegram
  • Connect YouTube

What you get

RunsEvery 30 minutes
Get new YouTube uploads from your favourite channels in Telegramtoday, 9:00Succeeded
Telegram · Channel🎬 Acme Workshop: Building a standing desk from one sheet of plywood https://youtu.be/Pk4Lm3Nb2Vc

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Telegram and YouTube steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
new_videos_from_a_channel_posted_to_telegram.pyexample
from clickruntime import on_trigger, report_fetched, http, credentials, state

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"]

UPLOADS = ["UUxxxxxxxxxxxxxxxxxxxxxx", "UUyyyyyyyyyyyyyyyyyyyyyy"]

@on_trigger
def run(event):
    seen = set(state.get("seen") or [])
    new = []
    for playlist in UPLOADS:
        for item in yt("playlistItems", part="snippet", playlistId=playlist, maxResults=5):
            s = item["snippet"]
            if s["resourceId"]["videoId"] not in seen:
                new.append(s)
    report_fetched(len(new))
    if not new:
        return {"summary": "No new videos"}
    for s in reversed(new):
        vid = s["resourceId"]["videoId"]
        tg("sendMessage", chat_id=CHAT_ID, text=f"🎬 {s['channelTitle']}: {s['title']}\nhttps://youtu.be/{vid}")
        seen.add(vid)
    state.set("seen", sorted(seen)[-3000:])
    return {"posted": len(new)}

FAQ

Common questions

How quickly do new videos appear?
Within about 30 minutes of being published. You can check more often if you need to.
Can it post to a group as well as a channel?
Yes. Any chat your bot is a member of can receive the posts.
Does it include Shorts and live streams?
It includes everything in the channel's uploads list. You can ask it to skip Shorts or live streams.
What permissions does it need?
API key; bot token. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get new YouTube uploads from your favourite channels in Telegram” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.