ScavioScavio
ProductPricingDocs
Sign InGet Started
  1. Home
  2. Workflows
  3. YouTube to Slack Summary Workflow
Workflow

YouTube to Slack Summary Workflow

Cron-driven workflow: pull new YouTube videos from a channel, extract transcripts, summarize with an LLM, post digest to Slack.

Start FreeAPI Docs

Overview

Watch a YouTube channel for new uploads, pull metadata and auto-captions via Scavio YouTube endpoint, summarize with GPT/Claude, post to a Slack channel on a daily schedule.

Trigger

Daily cron (e.g. 08:00 UTC)

Schedule

Daily cron

Workflow Steps

1

Query Scavio YouTube endpoint for channel

POST /api/v1/search with platform=youtube and the channel name or topic query.

2

Filter new videos since last run

Compare publish dates against a last_seen timestamp stored in SQLite or Redis.

3

Extract transcript for each new video

Use Scavio extract endpoint or YouTube auto-captions field from the search result.

4

Summarize with LLM

Send transcript to Claude or GPT with a system prompt: '3-bullet summary, key takeaways, any action items.'

5

Post to Slack via webhook

Format as a Slack Block Kit message with video title, thumbnail URL, and summary bullets.

6

Update last_seen timestamp

Persist the latest publish date so next run skips already-processed videos.

Python Implementation

Python
import requests, os, json

key = os.environ["SCAVIO_API_KEY"]
resp = requests.post("https://api.scavio.dev/api/v1/search",
    headers={"x-api-key": key},
    json={"query": "channel:@3blue1brown", "platform": "youtube", "limit": 5})
videos = resp.json().get("results", [])

for v in videos:
    summary = call_llm(v.get("transcript", v["snippet"]))
    requests.post(os.environ["SLACK_WEBHOOK"],
        json={"text": f"*{v['title']}*\n{summary}\n{v['url']}"})

JavaScript Implementation

JavaScript
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
  method: "POST",
  headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({ query: "channel:@3blue1brown", platform: "youtube", limit: 5 })
});
const { results } = await resp.json();
for (const v of results) {
  const summary = await callLLM(v.transcript ?? v.snippet);
  await fetch(process.env.SLACK_WEBHOOK, {
    method: "POST", body: JSON.stringify({ text: `*${v.title}*\n${summary}\n${v.url}` })
  });
}

Platforms Used

YouTube

Video search with transcripts and metadata

Frequently Asked Questions

Watch a YouTube channel for new uploads, pull metadata and auto-captions via Scavio YouTube endpoint, summarize with GPT/Claude, post to a Slack channel on a daily schedule.

This workflow uses a daily cron (e.g. 08:00 utc). Daily cron.

This workflow uses the following Scavio platforms: youtube. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 50 credits on signup with no credit card required. That is enough to test and validate this workflow before scaling it.

YouTube to Slack Summary Workflow

Cron-driven workflow: pull new YouTube videos from a channel, extract transcripts, summarize with an LLM, post digest to Slack.

Get Your API KeyRead the Docs
ScavioScavio

Real-time search API for AI agents. Search every platform, not just Google.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative

Tools

  • JSON Formatter
  • cURL to Code
  • Token Counter
  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy