Automate YouTube Video Alerts with n8n Workflow

Discover how this n8n automation fetches your latest YouTube subscriptions’ videos, filters out shorts, and sends email alerts with thumbnails and details. Save time monitoring new content and never miss an important video update with personalized email notifications.
scheduleTrigger
youTube
emailSend
+7
Workflow Identifier: 1361
NODES in Use: scheduleTrigger, httpRequest, if, stopAndError, splitOut, filter, rssFeedRead, youTube, emailSend, stickyNote

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

Opening Problem Statement

Meet Sarah, an avid YouTube follower and content creator who subscribes to dozens of channels daily. She loves keeping up with new videos, but manually checking each channel for new uploads wastes hours every week. Worse, many videos she’s interested in get buried under shorts or irrelevant live broadcasts. Sarah often misses valuable content because the information is scattered and overwhelming.

This is a common issue for many YouTube enthusiasts juggling numerous subscriptions. The hours spent scanning channels could be better used on creating or consuming valuable content. Plus, with the limits on YouTube API quotas, fetching data efficiently while avoiding unnecessary requests is a challenge.

What This Automation Does

This n8n workflow automatically checks your YouTube subscriptions hourly and sends you an email alert for each new video that matters — filtering out short videos and those posted before the last check. Here’s how it helps you:

  • Fetches your subscription list: Retrieves all your YouTube channel subscriptions securely via OAuth2.
  • Filters channels with new videos: Only processes channels that have unwatched content since the last check, saving API quota and processing time.
  • Uses RSS feeds to get latest videos: Retrieves the 15 newest videos per channel via an RSS feed, avoiding heavy quota use from direct API searches.
  • Filters out shorts and live streams without duration info: Ensures emails are only sent for videos longer than 1 minute, skipping short clips and live broadcasts incorrectly tagged.
  • Includes thumbnails in emails: Pulls full video details including thumbnails to embed directly in email for better click engagement.
  • Sends personalized email alerts: Each video triggers an email notification with clickable thumbnails linking directly to the video.

By automating this, Sarah saves hours per week and never misses important videos. The workflow respects YouTube API quota limits by combining API calls and RSS feeds strategically.

Prerequisites ⚙️

  • n8n account: Either cloud-hosted or self-hosted to run the workflow.
  • YouTube OAuth2 API credentials: Set up in n8n for accessing your subscriptions and video details.
  • SMTP email account: Configured in n8n to send video alert emails.

You can self-host n8n for maximum control and cost efficiency. Services like Hostinger offer easy deployment solutions.

Step-by-Step Guide to Setting Up the Workflow

1. Schedule Your Video Check

Navigate to the n8n editor. Add the Schedule Trigger node:

  • Click Add Node → Search and select Schedule Trigger.
  • Set it to run every hour at your preferred minute (e.g., every hour at minute 47).
  • This node triggers the workflow to check for videos automatically at set intervals.
  • Outcome: The workflow initiates hourly to fetch new subscription data.

    Common mistake: Forgetting to configure timezone settings appropriately.

2. Retrieve Your YouTube Subscriptions

Add an HTTP Request node named Get my subscriptions:

  • Set HTTP method to GET.
  • URL: https://www.googleapis.com/youtube/v3/subscriptions
  • Query parameters: mine=true, part=snippet,contentDetails, maxResults=50
  • Enable pagination to handle multiple pages as you may have many subscriptions.
  • Authentication: Choose YouTube OAuth2 credentials you previously configured.
  • Outcome: Fetches your subscription list with metadata.

    Common mistake: Omitting pagination causes incomplete subscription lists.

3. Error Handling on Subscription Fetch

Add an If node named Check for errors connected to the previous node:

  • Condition: Check if the JSON response contains an error field indicating request failure.
  • If true, connect to a Stop and Error node with a descriptive message using expressions to surface API error information.
  • Outcome: Workflow halts gracefully and surfaces issues instead of failing silently.

4. Split Subscriptions for Individual Processing

Add a Split Out Items node connected to success of subscription fetch:

  • Field to split: items
  • Outcome: Each subscription is processed individually in parallel.

5. Filter Channels for New Videos

Add a Filter node named Only keep channels with unwatched videos:

  • Condition: contentDetails.newItemCount > 0 to filter only channels with new content.
  • Outcome: Reduces API calls and processing by skipping inactive channels.

6. (Optional) Manually Filter Specific Channels

Add another Filter node called Filter out channels to exclude specific YouTube channels by their ID:

  • Condition: The channel ID does not match any in an exclusion list (e.g. exampleChannelId1, exampleChannelId2).
  • This allows fine-tuning which channels get processed.

7. Get Latest 15 Videos Per Channel via RSS Feed

Add an RSS Feed Read node named Get latest 15 videos of each channel:

  • Set RSS URL dynamically: https://www.youtube.com/feeds/videos.xml?channel_id={{ $json.snippet.resourceId.channelId }}
  • RSS feeds provide the latest 15 videos without hitting YouTube API quotas.

8. Filter Videos Published Since Last Run

Add a Filter node named Keep only videos published since last run:

  • Use datetime comparison to check if video’s publish date is after the timestamp of the last workflow run minus the interval (e.g., last hour).
  • Outcome: Prevent duplicated emails for previously processed videos.

9. Retrieve Full Video Details

Add a YouTube node named Get video details:

  • Operation: Get video details including snippet and contentDetails.
  • Input video ID extracted from RSS feed items.
  • This node fetches video thumbnails and duration to filter out shorts.

10. Filter Out Shorts and Live Streams

Add an If node named Filter out shorts:

  • Condition: Keep videos where duration field exists and duration is greater than 61 seconds.
  • Many shorts and live streams do not have duration info or are shorter than a minute.

11. Send Email Notification for Each New Video

Add an Email Send node named Send an email for each new video:

  • Set recipient email (e.g., My Name ).
  • Configure subject line as video channel title.
  • Compose HTML email embedding video title and highest resolution thumbnail with a clickable link to the video.
  • Email sender configured via SMTP credentials.
  • Outcome: Personalized email alerts with clickable video thumbnails.

Customizations ✏️

  • Adjust frequency: In the Schedule Trigger node, change hoursInterval to check for videos more or less frequently.
  • Add more channel exclusions: Update channel IDs in the Filter out channels node to customize ignored channels.
  • Enhance email formatting: Modify HTML in the Email Send node to add branding, styling, or additional video metadata such as descriptions or durations.
  • Change video duration filter: In the Filter out shorts node, adjust the 61-seconds threshold to control which videos are considered shorts.
  • Expand notification options: Integrate Slack or other messaging apps by adding respective nodes to notify you in multiple channels.

Troubleshooting 🔧

Problem:

“HTTP request failed with error” in subscription fetching.

Cause: OAuth2 credentials expired or misconfigured.

Solution: Re-authenticate your YouTube OAuth2 account in n8n via Settings → Credentials → YouTube account.

Problem:

Emails not sending for new videos.

Cause: SMTP credentials incorrect or missing.

Solution: Verify SMTP settings in the Email Send node and test connection independently.

Problem:

Workflow processing no new videos repeatedly.

Cause: Timestamp filtering logic incorrect or system clock skew.

Solution: Confirm the Keep only videos published since last run node date comparison logic and ensure server time is accurate.

Pre-Production Checklist ✅

  • Verify YouTube OAuth2 credentials have proper scopes for subscriptions and video data.
  • Test email sending with the configured SMTP account.
  • Run the workflow manually and check log outputs for errors or empty results.
  • Check the channel filter list for any mismatched IDs if videos are unexpectedly missing.
  • Ensure your n8n instance clock/timezone matches your configured Schedule Trigger timezone.

Deployment Guide

Activate the workflow in n8n by enabling it after all nodes are configured and tested. Monitor executions regularly through n8n’s built-in execution history and logs to catch API quota issues or errors early. Scheduling hourly is balanced but can be adjusted based on your number of subscriptions and email preferences.

Conclusion

By following this comprehensive guide, you have built an n8n workflow that automatically fetches your latest YouTube subscription videos, filters out shorts and irrelevant content, and sends you personalized email alerts complete with video thumbnails. This saves you hours weekly and ensures you never miss valuable content.

Next, consider expanding this automation with Slack notifications, archiving videos data to Google Sheets, or integrating with calendar apps to schedule watch reminders. Happy automating!

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free