YouTube meets Discord for smarter video announcements
You upload a new YouTube video… and then the “announcement” part turns into a small chore. Find the link, write a teaser, paste it into Discord, fix formatting, realize you forgot it yesterday, repeat.
This YouTube Discord automation hits community managers hardest, but creators trying to grow a server feel it too. Even a marketing lead managing a content calendar ends up doing the same copy-paste dance. The outcome is simple: every new upload gets posted to Discord automatically, with an AI summary that actually helps people decide to click.
Below you’ll see how the workflow runs, what you need to connect, and what kind of time (and missed engagement) it saves once it’s live.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: YouTube meets Discord for smarter video announcements
flowchart LR
subgraph sg0["YouTube Feed Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "YouTube Feed Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Fetch Caption List"]
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Select English Captions", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Download Caption File"]
n4@{ icon: "mdi:cog", form: "rounded", label: "Extract Caption Text", pos: "b", h: 48 }
n5@{ icon: "mdi:robot", form: "rounded", label: "Generate Summary Points", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/discord.svg' width='40' height='40' /></div><br/>Send Discord Update"]
n3 --> n4
n2 --> n3
n1 --> n2
n0 --> n1
n4 --> n5
n5 --> n6
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n5 ai
class n1,n3 api
classDef customIcon fill:none,stroke:none
class n1,n3,n6 customIcon
The Problem: Discord announcements turn into manual busywork
Discord communities go quiet for one reason more than any other: posting consistently is annoying. You might upload to YouTube on a schedule, but the Discord post depends on someone remembering. Then there’s the awkward part where you don’t want to dump a raw link with “new vid!” because it looks spammy, but writing a mini-summary every time takes real attention. Captions exist, sure, yet nobody has time to read them and pull out the good bits. And when announcements are inconsistent, members stop checking the channel entirely.
It adds up fast. Here’s where it usually breaks down.
- Posting the link is quick, but writing a decent teaser can take about 10 minutes per upload.
- When you skip a post (or post late), the “new uploads” channel becomes unreliable, so people mute it.
- Manual formatting is surprisingly error-prone: wrong link, missing title, or a preview that looks messy.
- As your content volume grows, you either hire help or accept that promotion will be inconsistent.
The Solution: Auto-post every upload with an AI summary
This workflow watches your YouTube channel for new uploads, pulls the captions, and turns that raw text into a clean set of summary points using OpenAI. When a new video appears, n8n fetches the available caption tracks, selects the English captions, downloads the caption file, and extracts the actual transcript text. Then the AI model generates a concise, readable recap (the kind you would write if you had the time). Finally, it posts a nicely formatted announcement to your Discord channel via webhook, including the title, link, and summary so members know what they’re clicking into.
The workflow starts with a YouTube RSS trigger. From there, it retrieves captions, extracts the transcript, and generates summary points with OpenAI. The last step sends a Discord update that feels human-written, minus the effort.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you publish 3 videos a week. Manually, a decent Discord post (link, title, a few bullets that aren’t fluff) is maybe 10 minutes each, plus another 5 minutes when you tweak formatting or fix a preview. That’s roughly 45 minutes a week, and honestly it’s the kind of task that gets pushed to “later.” With this workflow, the trigger is instant, captions + summarization run in the background, and the Discord post appears automatically once processing finishes. You spend close to zero minutes posting, and your server stays updated every time.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- YouTube to detect uploads and access captions.
- Discord to publish announcements via webhook.
- OpenAI API key (get it from your OpenAI API dashboard)
Skill level: Beginner. You’ll paste a channel ID, connect OpenAI, and drop in a Discord webhook URL.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
A new upload triggers everything. n8n monitors your channel via the YouTube RSS feed, so a fresh video automatically kicks off the workflow.
Captions get pulled and cleaned up. The workflow requests the caption list through YouTube, picks the English track, downloads the caption file, then extracts plain transcript text you can actually summarize.
OpenAI generates summary points. Instead of dumping a wall of text, the AI produces concise bullets that highlight the video’s key ideas (the “TL;DW” your community wants).
Discord gets a ready-to-read announcement. The final message includes the title, link, and AI summary, posted straight into your chosen channel using a Discord webhook.
You can easily modify the Discord message format to match your brand voice based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the RSS Feed Trigger
Set up the workflow to detect new videos from a YouTube channel feed.
- Add and open YouTube Feed Trigger.
- Set Feed URL to
https://www.youtube.com/feeds/videos.xml?channel_id=UC08Fah8EIryeOZRkjBRohcQ. - Set the polling schedule to Every Minute (as configured).
Step 2: Connect YouTube Caption Retrieval
Fetch available captions for the new video and select the English track.
- Open Fetch Caption List and set URL to
https://www.googleapis.com/youtube/v3/captions. - Enable Send Query and add query parameters: videoId =
{{ $json.id.match(/(?:[^:]*:){2}\s*(.*)/)[1] }}, and part =snippet. - Credential Required: Connect your youTubeOAuth2Api credentials in Fetch Caption List.
- In Select English Captions, add an assignment named caption (type: object) with value
{{ $jmespath( $json.items, "[?snippet.language == 'en'] | [0]" ) }}. - Open Download Caption File and set URL to
https://www.googleapis.com/youtube/v3/captions/{{ $json.caption.id }}. - Credential Required: Connect your youTubeOAuth2Api credentials in Download Caption File.
Step 3: Set Up Transcript Processing and AI Summary
Extract the transcript text and generate a three-point summary using OpenAI.
- Open Extract Caption Text and set Operation to
text. - Set Destination Key to
contentso the transcript is stored in$json.content. - Open Generate Summary Points and set the message content to
Summarise this transcript into three bullet points to sum up what the video is about and why someone should watch it: {{ $json["content"] }}. - Select the model GPT-3.5-TURBO.
- Credential Required: Connect your openAiApi credentials in Generate Summary Points.
Step 4: Configure the Discord Output
Send the AI-generated summary to your Discord channel via webhook.
- Open Send Discord Update and set Authentication to Webhook.
- Set Content to
🌟 New Video Alert! 🌟 **{{ $('YouTube Feed Trigger').item.json["title"] }}** *What’s it about?* {{ $json["message"]["content"] }} [Watch NOW]({{ $('YouTube Feed Trigger').item.json["link"] }}) and remember to share your thoughts!. - Credential Required: Connect your discordWebhookApi credentials in Send Discord Update.
Step 5: Test and Activate Your Workflow
Validate the full execution chain from new video detection to Discord notification.
- Click Execute Workflow and wait for YouTube Feed Trigger to fetch a recent video entry.
- Confirm that Fetch Caption List returns caption data and Select English Captions outputs a single caption object.
- Verify that Extract Caption Text produces a
contentfield and Generate Summary Points returns a message. - Check Discord for the formatted post from Send Discord Update with the title, summary, and link.
- Once verified, toggle the workflow to Active to run continuously.
Common Gotchas
- Discord webhook URLs can be regenerated or restricted by permissions. If posts stop appearing, check the channel’s webhook settings in Discord 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
About 30 minutes if your accounts are ready.
No. You’ll mostly paste in a channel ID, connect OpenAI, and add a Discord webhook URL.
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 costs, which are usually small for a few summaries per week.
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.
Yes, and you probably should. Most people tweak the OpenAI “Generate Summary Points” prompt to match their tone, then adjust the “Send Discord Update” message to include exactly what your server expects (like a short hook, 3 bullets, and a link). You can also change the caption selection logic in the “Select English Captions” step if your channel posts in multiple languages. If you want to post to multiple channels, duplicate the Discord send step and format each message slightly differently.
Usually it’s the webhook URL. Make sure the webhook still exists in your Discord server and that it points to the channel you think it does. If someone regenerated or deleted the webhook, you’ll need to paste the new URL into n8n. Less common, but it happens: the workflow is sending a payload that’s too long, so trimming the summary fixes it.
Plenty for most creators: a few uploads a day is fine, and self-hosting removes execution caps entirely.
Often, yes, because this workflow isn’t just “post a link.” You’re fetching captions, extracting text, and generating a summary, which is the kind of multi-step logic that gets expensive or awkward in many no-code tools. n8n also gives you a self-host option, which means you can run a lot of executions without paying per zap. Zapier or Make can still be a fit if you only want a simple notification without captions or AI. If you’re torn, Talk to an automation expert and get a recommendation based on volume and complexity.
Once this is running, your Discord stays updated without you thinking about it. Set it up, let it post, and use that extra attention for content that actually moves the needle.
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.