Daily YouTube Digest
Track new videos from channels you actually want to follow — YouTube buries them in feed, this digest surfaces them all every morning.
Knowledge & Researcheasy~20m setup
- Tools
web_fetchmemory_search- Channels
telegram- Uses
cron
YouTube subscriptions are theoretically the way to keep up with creators you like. In practice, the recommendation algorithm shows you what it wants — sometimes a creator you love hasn't appeared in your feed for weeks despite uploading. RSS feeds for YouTube channels still exist; combine them with a daily digest and you reclaim control.
What it does
- Pulls new videos from channels you specify (last 24h)
- Skips Shorts unless you want them (most users don't)
- Ranks by interest match (your topics in memory)
- Optional: fetches transcript via youtube-dl + your own STT, summarises
- Single Telegram message per day
What you'll need
- Web fetch for YouTube RSS endpoints
- A list of channels with their channel IDs
- Optional:
yt-dlpinstalled for transcripts (pip install yt-dlp) - Cron
Setup
1. Find channel IDs
YouTube channel IDs aren't visible in URLs — they're typically
UC... strings. To find one for a channel:
Send to Flowly
Fetch https://www.youtube.com/<@handle> and extract the
"channelId" / "externalId" from the page source.
The agent does this once per channel; results get stored.
2. Configure your channel list
Send to Flowly
Remember (tag "youtube-channels"):
- Lex Fridman: UCSHZKyawb77ixDdsGog4iWA
- 3Blue1Brown: UCYO_jab_esuFRV4b17AJtAw
- Two Minute Papers: UCbfYPyITQ-7l4upoX8nvctg
- (your channels)
For each: name, channel_id, weight (1-10 trustworthiness for ranking
ties), include_shorts (default false).
3. Schedule the digest
Send to Flowly
Cron "youtube-digest" daily at 8 AM:
For each channel in youtube-channels:
1. Fetch https://www.youtube.com/feeds/videos.xml?channel_id=<id>
2. Take videos uploaded in last 24h (or 72h on Mondays — to catch weekend uploads)
3. Skip Shorts unless include_shorts=true (Shorts have <60s duration in metadata)
For each video:
- Score:
* Title match against my interests (memory "research-topics" or "interests")
* Channel weight
* Length (< 5 min: -2, 5-30 min: 0, 30+ min: +1, deep dives are signal)
- Drop scores < 5
- Optional: if score >= 8, fetch transcript via yt-dlp and summarise in 3 lines
Take top 8, format Telegram message:
📺 Today's videos (8)
🎯 Two Minute Papers — "What if LLMs could see?" (12 min, score 9)
3-line summary if loaded
<link>
...
If nothing scores above 5, send: "Quiet day — 0 videos worth your time."
Tips
- Weight matters more than you think. A B-tier channel uploading daily will swamp the digest. Set their weight low (3-4) so they only surface when title strongly matches interests.
- Transcripts cost time. yt-dlp + summarise adds ~30s per video. Only do it for high scorers — title alone is usually enough to decide whether to watch.
- Include_shorts is rarely worth true. Shorts are designed for algorithmic feed, not for digest. Default off.
- Catch-up Monday. Set the lookback window to 72h on Mondays so you don't miss weekend uploads from your favourite channels.
- Pair with watch-later memory. Let the agent log "watched: <id>" so you can ask "what did I save 2 weeks ago about LLM agents that I haven't watched?"