🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

YouTube to Slack, digest posts your team will read

Lisa Granqvist Partner Workflow Automation Expert

You check “just one” YouTube channel, then it turns into five. Next thing you know, you’re skimming timestamps, hunting for subtitles, and pasting messy notes into Slack that nobody reads.

This YouTube Slack digest automation hits marketing leads hardest, but enablement folks and busy founders feel it too. Instead of link dumps, your team gets clean takeaways that are actually scannable.

Below, you’ll see exactly how the workflow detects new uploads from a Google Sheet, summarizes them with AI, and posts a formatted Slack digest (without repeats).

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: YouTube to Slack, digest posts your team will read

The Problem: YouTube updates don’t turn into team knowledge

Keeping up with YouTube is easy when it’s one channel and you have spare time. In real teams, it’s competitors, partners, creators, and internal content, all posting whenever they feel like it. So you end up doing “research” in little frantic chunks throughout the day: open a video, scrub around, hope there are captions, grab a few points, then drop a link into Slack with a quick line like “worth watching.” That’s not alignment. That’s noise, and the important stuff gets buried.

It adds up fast. Here’s where it breaks down in the real world:

  • Someone has to manually check multiple channels, and it quietly steals about 2 hours a week.
  • Most Slack posts end up as raw links, which means teammates either ignore them or watch the whole video.
  • Highlights are inconsistent because each person summarizes differently (or not at all).
  • You re-share the same video twice because there’s no reliable “already processed” log.

The Solution: Automated YouTube digests delivered to Slack

This workflow turns YouTube monitoring into a repeatable, low-effort system. It runs on a schedule (every 10 minutes by default), reads your list of YouTube RSS feeds from Google Sheets, and checks each feed for newly published videos. When it spots something fresh, it pulls the title and description, then fetches subtitles so the workflow can summarize what the video actually says, not just what the thumbnail implies. After that, GPT-4o-mini generates a structured JSON summary and a more readable “mini-article,” and the workflow formats the result into Slack Block Kit so it’s easy to skim. Finally, it posts the digest into the Slack channel you choose and logs the video link back to Google Sheets so it won’t repeat the same update later.

The workflow starts with a scheduled run and a Google Sheet that acts as your channel control center. From there, HTTP requests and the YouTube API pull in video and subtitle data, and OpenAI produces the key takeaways. Slack receives a neat, standardized digest that your team can read in under a minute.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your team tracks 12 YouTube channels and each publishes about 2 videos a week. Manually, even a “quick check” is maybe 5 minutes per video to open it, scrub, and write a few bullets, plus another 2 minutes to post cleanly in Slack. That’s roughly 3 hours a week. With this workflow, you spend about 10 minutes once to add RSS URLs in Google Sheets, and after that the only time you spend is reading the digest in Slack (under a minute) and reacting when something matters.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store RSS feeds and processed links.
  • Slack to post digests into a channel or DM.
  • RapidAPI key (get it from RapidAPI for yt-api subtitles).
  • OpenAI API key (get it from your OpenAI dashboard).

Skill level: Intermediate. You’ll mostly connect accounts and paste keys, but you should be comfortable testing runs and reading simple errors.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A scheduled trigger runs automatically. By default it fires every 10 minutes, so new uploads get picked up quickly without anyone watching YouTube all day.

Google Sheets acts like your “source of truth.” The workflow reads a list of RSS feed URLs, then batches through them so it can check many channels without becoming fragile or slow.

New videos are detected and enriched. The RSS feed is fetched and parsed, “freshness” is checked, and then the YouTube API and RapidAPI subtitle endpoint provide title, description, and transcript text (plus chapter markers when available).

AI creates a human-readable digest, then Slack receives it. OpenAI returns a structured JSON summary, a formatter converts it into Slack Block Kit, and the message is posted. Finally, the workflow appends the processed link back into the “Video Links” sheet so you don’t get duplicates.

You can easily modify the schedule interval to match your team’s pace based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Run Trigger

Set the automation schedule and define the Slack-based management trigger for RSS source updates.

  1. Add Scheduled Run Trigger and set the interval rule to run every 10 minutes.
  2. Configure Slack Mention Trigger to listen for app_mention in the channel you want to manage RSS feeds from.
  3. Credential Required: Connect your slackApi credentials in Slack Mention Trigger.
⚠️ Common Pitfall: If the Slack Mention Trigger channel ID remains as [YOUR_ID], the bot will never receive mentions. Replace it with your actual channel ID.

Step 2: Connect Google Sheets

Configure the Google Sheets data sources that store RSS URLs and processed video links.

  1. In Fetch RSS Sources, set Document to YouTube RSS Tracker and Sheet to RSS Feed URLs.
  2. In Lookup Video Link, set Document to YouTube RSS Tracker and Sheet to Video Links, and set the filter YouTube Link to ={{ $json.link.href }}.
  3. In Append Video Log, set Operation to append and map YouTube Link to ={{ $('Verify New Videos').item.json.link.href }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials in Fetch RSS Sources, Lookup Video Link, and Append Video Log.
  5. For the AI tools Read Sheet Rows, Append Sheet Row, and Remove Sheet Row, connect googleSheetsOAuth2Api credentials in those tool nodes because they are invoked by RSS Sheet Assistant.
⚠️ Common Pitfall: Make sure the sheet names exactly match RSS Feed URLs and Video Links, or the lookup/append steps will silently fail.

Step 3: Configure RSS Retrieval and New Video Filtering

Pull RSS feeds in batches, convert XML to JSON, and filter out previously processed or old videos.

  1. Connect Fetch RSS Sources to Batch RSS Records and keep the batch node defaults to iterate through RSS URLs.
  2. In Retrieve RSS Feed, set URL to ={{ $json['RSS URL'] }}.
  3. Leave Convert RSS XML as-is to parse the RSS XML into JSON.
  4. In Evaluate New Publish, confirm the code sets runIntervalMinutes = 1000 so only recently published videos are flagged.
  5. In Verify New Videos, ensure the condition uses ={{ $json.newVideo }} with the “true” boolean operation.
  6. In Confirm Video Missing, keep the “empty object” check so only unprocessed videos proceed.
  7. Use Mark Link Processed to output Link is already processed back into Batch RSS Records for clean looping.

Step 4: Set Up Slack-Based RSS Source Management

Let Slack mentions add or remove channel RSS feeds using a RapidAPI lookup and AI-assisted sheet updates.

  1. In Resolve Channel ID, set URL to https://youtube138.p.rapidapi.com/channel/details and add query parameters id = ={{ $json.blocks[0].elements[0].elements[2].url || $json.attachments[0].from_url }}, hl = en, and gl = US.
  2. Credential Required: Connect your httpHeaderAuth credentials in Resolve Channel ID.
  3. In Compose RSS URL, set rss_feed_url to =https://www.youtube.com/feeds/videos.xml?channel_id={{ $json.channelId }}.
  4. In RSS Sheet Assistant, keep the Prompt set to =Check if {{ $json.rss_feed_url }} is already available in the sheets using `Read Sheet Rows` Google Sheets tool. If it's there, do nothing. If it's not in the sheet, then based on the user message {{ $('Slack Mention Trigger').item.json.text }} "add" or "remove" it to the sheets using `Append Sheet Row` and `Remove Sheet Row` Google Sheets tools accordingly..
  5. OpenAI Chat Engine is connected as the language model for RSS Sheet Assistant — ensure credentials are added to OpenAI Chat Engine.
⚠️ Common Pitfall: If the RapidAPI host header isn’t set (e.g., youtube138.p.rapidapi.com), Resolve Channel ID will return a 403 or empty response.

Step 5: Configure Transcript Retrieval and Chapter Parsing

Pull video details, fetch subtitles, and build the AI payload from full transcripts or chaptered segments.

  1. In Retrieve Video Info, set Resource to video, Operation to get, and Video ID to ={{ $('Verify New Videos').first().json.link.href.split("=")[1] }}.
  2. Credential Required: Connect your youTubeOAuth2Api credentials in Retrieve Video Info.
  3. In Request Subtitle List, set URL to https://yt-api.p.rapidapi.com/subtitles and query parameter id to ={{ $json.id }}.
  4. Credential Required: Connect your httpHeaderAuth credentials in Request Subtitle List.
  5. Keep Select Subtitle URL and Retrieve Captions as-is; Retrieve Captions uses URL ={{ $json.url }}.
  6. After Extract Chapter Times, Detect Chapter Marks outputs to both Merge Chapters Text and Merge Transcript Text in parallel.
  7. Keep Assemble AI Payload to structure chapter text with video_title and video_description from Retrieve Video Info.

Step 6: Set Up AI Summary and Slack Output

Generate an AI summary and send a formatted Slack message with the video link.

  1. In Create AI Summary, select the model gpt-4o-mini and keep the message prompt that references {{ $json.video_title }}, {{ $json.video_description }}, and {{ $json.merged_text }}.
  2. Credential Required: Connect your openAiApi credentials in Create AI Summary.
  3. In Compose Slack Blocks, keep the parser logic to extract JSON from Create AI Summary.
  4. In Send Slack Update, set Text to ={{ $json.blocks }} You can check the full video here 👉 {{ $('Verify New Videos').first().json.link.href }} and choose the target Channel.
  5. Credential Required: Connect your slackOAuth2Api credentials in Send Slack Update.
⚠️ Common Pitfall: If Compose Slack Blocks fails to parse JSON, check that Create AI Summary returns valid JSON (not markdown) before continuing.

Step 7: Test and Activate Your Workflow

Run a manual test to confirm RSS parsing, transcript retrieval, AI summaries, and Slack delivery before enabling production execution.

  1. Click Execute Workflow and verify that Fetch RSS Sources loads records and Batch RSS Records iterates through them.
  2. Confirm that a new video triggers Verify New Videos (true path), passes Confirm Video Missing, and writes to Append Video Log.
  3. Check that Create AI Summary returns a JSON response and Send Slack Update posts a formatted message with a working video link.
  4. Enable the workflow by toggling the Active switch so Scheduled Run Trigger runs on the live schedule.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Slack credentials can expire or need specific permissions. If things break, check your Slack app scopes (chat:write, channels:read, app_mention) and the Bot OAuth token used in the n8n Slack credential first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.

Frequently Asked Questions

How long does it take to set up this YouTube Slack digest automation?

About 30 minutes if your Slack app and keys are ready.

Do I need coding skills to automate YouTube Slack digest updates?

No. You’ll connect Google Sheets, Slack, RapidAPI, and OpenAI, then test a run.

Is n8n free to use for this YouTube Slack digest workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage and RapidAPI calls (the subtitles endpoint includes 300 free calls per month).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this YouTube Slack digest workflow for shorter summaries?

Yes, and it’s honestly one of the best tweaks to make. You can swap the OpenAI model or adjust the prompt in the OpenAI Chat/AI summary nodes to force a shorter output (for example, “3 bullets plus one takeaway”). Common customizations include changing the “freshness window” in the “If newly published” check, posting to a different Slack channel or DM, and extending the AI payload to include thumbnails or engagement stats.

Why is my Slack connection failing in this workflow?

Usually it’s the Slack app token or missing scopes. Confirm the Bot OAuth token in your n8n Slack credential is current, then re-check that chat:write is granted and the app is installed in the workspace (and invited to the target channel if needed). If you enabled Event Subscriptions for the mention trigger, also confirm the request URL is reachable and verified. Rate limiting is rare here, but it can happen if you track a lot of channels at once.

How many videos can this YouTube Slack digest automation handle?

Plenty for most small teams: dozens of channels and multiple new videos per day is normal.

Is this YouTube Slack digest automation better than using Zapier or Make?

For this specific job, n8n is usually the better fit because it handles batching, branching, and “don’t reprocess this link” logic without getting expensive. You also get deeper control over the HTTP requests needed for RSS parsing and the subtitle pull, which can be awkward in lighter automation tools. The tradeoff is setup: Zapier can feel simpler for tiny two-step zaps, but this isn’t that kind of workflow. If you’re on the fence, Talk to an automation expert and you’ll get a clear recommendation fast.

Your team gets the important parts of YouTube without living on YouTube. Set it up once, and let Slack deliver the briefings.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal