YouTube Channel Digest Slack Bot Build (2026)
Daily cron checks YouTube channels for new uploads, summarizes transcripts with an LLM, posts 3-bullet digests to Slack. Teams actually read these, unlike RSS alerts.
An r/Slack post: "Set up a bot that posts YouTube video summaries to our team Slack and people actually read them." Score: 1. But the concept is solid: teams miss important YouTube content because nobody has time to watch 40-minute conference talks. A daily 3-bullet summary per video solves this.
The architecture
Daily cron checks watched channels for new uploads via the Scavio YouTube endpoint. For each new video, it extracts the auto-caption transcript, sends it to an LLM for a 3-bullet summary, and posts the summary to Slack via webhook. Total setup: one script, one cron job, three API calls per video.
import requests, os
key = os.environ["SCAVIO_API_KEY"]
# Step 1: Find new videos from a channel
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": key},
json={"query": "channel:@ThePrimeTimeagen", "platform": "youtube", "limit": 5})
videos = resp.json().get("results", [])
for v in videos:
# Step 2: Summarize transcript with LLM
transcript = v.get("transcript", v.get("snippet", ""))
summary = call_llm(f"3-bullet summary of this video transcript: {transcript}")
# Step 3: Post to Slack
requests.post(os.environ["SLACK_WEBHOOK"], json={
"blocks": [
{"type": "header", "text": {"type": "plain_text", "text": v["title"]}},
{"type": "section", "text": {"type": "mrkdwn", "text": summary}},
{"type": "section", "text": {"type": "mrkdwn", "text": f"<{v['url']}|Watch video>"}}
]
})Why this works when RSS alerts do not
RSS alerts tell you a video exists. They do not tell you what is in it. A 3-bullet summary lets the reader decide in 10 seconds whether to watch the full video. The conversion rate from "alert → watched" is much higher with summaries than with title-only notifications.
Scaling to multiple channels
Store a config list of channels and last-checked timestamps in SQLite or a JSON file. Process each channel in the daily cron. Cost: 1 Scavio credit per channel check + 1 LLM call per new video. For 20 channels producing 3 videos/day average, that is ~80 credits/month ($0.40) plus LLM costs.
Limitations
- Auto-captions have ~5-10% word error rate on technical content
- Videos without captions (rare on major channels) produce snippet-only summaries
- Summary quality depends on the LLM; Claude and GPT-4o handle technical content well