Monitor Multiple YouTube Channels with Real-Time RocketChat Alerts
Go to WorkflowDescription
Workflow Overview
This n8n workflow provides automated monitoring of YouTube channels and sends real-time notifications to RocketChat when new videos are published. It supports all YouTube URL formats, uses dual-source video fetching for reliability, and intelligently filters videos to prevent duplicate notifications.
Key Features
Multi-Format URL Support**: Handles @handle, /user/, and /channel/ URL formats
Dual Fetching Strategy**: Uses both RSS feeds and HTML scraping for maximum reliability
Smart Filtering**: Only notifies about videos published in the last hour
Shorts Exclusion**: Automatically excludes YouTube Shorts from notifications
Rate Limiting**: 30-second delay between notifications to prevent spam
Batch Processing**: Processes multiple channels sequentially
Error Handling**: Continues execution even if one channel fails
Customizable Schedule**: Default hourly checks, adjustable as needed
Use Cases
Monitor competitor channels, track favorite creators, aggregate content from multiple channels, build content curation workflows, stay updated on educational channels, monitor brand mentions, track news channels for breaking updates.
Setup Instructions
Prerequisites
n8n instance (self-hosted or cloud) version 1.0+
RocketChat server with admin or bot access
RocketChat API credentials
Internet connectivity for YouTube access
Step 1: Obtain RocketChat Credentials
Create Bot User:
Log in to RocketChat as administrator
Navigate to Administration → Users → New
Fill in details: Name (YouTube Monitor Bot), Username (youtube-bot), Email, Password, Roles (bot)
Click Save
Get API Credentials:
Log in as bot user
Navigate to My Account → Personal Access Tokens
Click Generate New Token
Enter token name: n8n YouTube Monitor
Copy generated token immediately
Note User ID from account settings
Step 2: Configure RocketChat in n8n
Open n8n web interface
Navigate to Credentials section
Click Add Credential → RocketChat API
Fill in:
Domain: Your RocketChat URL (e.g., https://rocket.yourdomain.com)
User: Bot username (e.g., youtube-bot)
Password: Bot password or personal access token
Click Save and test connection
Step 3: Prepare RocketChat Channel
Create new channel in RocketChat: youtube-notifications
Add bot user to channel:
Click channel menu → Members → Add Users
Search for bot username
Click Add
Step 4: Collect YouTube Channel URLs
Handle Format: https://www.youtube.com/@ChannelHandle
User Format: https://www.youtube.com/user/Username
Channel ID Format: https://www.youtube.com/channel/UCxxxxxxxxxx
All formats supported. Find channel ID in page source or use browser extension.
Step 5: Import Workflow
Copy workflow JSON
In n8n: Workflows → Import from File/URL
Paste JSON or upload file
Click Import
Step 6: Configure Channel List
Locate Channel List node
Enter YouTube URLs in channel_urls field, one per line:
https://www.youtube.com/@NoCopyrightSounds/videos
https://www.youtube.com/@chillnation/videos
Include /videos suffix or workflow adds it automatically
Step 7: Configure RocketChat Notification
Locate RocketChat Notification node
Replace YOUR-CHANNEL-NAME with your channel name
Select RocketChat credential
Customize message template if needed
Step 8: Configure Schedule (Optional)
Default: Every 1 hour
To change:
Open Hourly Check node
Modify interval (Minutes, Hours, Days)
Recommended Intervals:
Every hour (default): Good balance
Every 30 minutes: More frequent
Every 2 hours: Less frequent
Avoid intervals less than 15 minutes
Important: YouTube RSS updates every 15 minutes. Hourly checks match 1-hour filter window.
Step 9: Test the Workflow
Click Execute Workflow button
Monitor execution (green = success, red = errors)
Check node outputs:
Channel List: Shows URLs
Filter New Videos: Shows found videos (may be empty)
RocketChat Notification: Shows sent messages
Verify notifications in RocketChat
No notifications is normal if no videos posted in last hour.
Step 10: Activate Workflow
Toggle Active switch in top-right
Workflow runs on schedule automatically
Monitor RocketChat channel for notifications
How to Use
Understanding Workflow Execution
Default Schedule: Hourly
Executes every hour
Checks all channels
Processes videos from last 60 minutes
Prevents duplicate notifications
Execution Duration: 1-5 minutes for 10 channels. Rate limiting adds 30 seconds per video.
Adding New Channels
Open Channel List node
Add new URL on new line
Save (Ctrl+S)
Change takes effect on next run
Removing Channels
Open Channel List node
Delete line or comment out with # at start
Save changes
Changing Check Frequency
Open Hourly Check node
Modify interval
If changing from hourly, update Filter New Videos node:
Find: cutoffDate.setHours(cutoffDate.getHours() - 1);
Change -1 to match interval (-2 for 2 hours, -6 for 6 hours)
Important: Time window should match or exceed check interval.
Understanding Video Sources
RSS Feed (Primary):
Official YouTube RSS
Fast and reliable
5-15 minute delay for new videos
Structured data
HTML Scraping (Fallback):
Immediate results
Works when RSS unavailable
More fragile
Benefits of dual approach:
Reliability: If one fails, other works
Speed: Scraping catches videos immediately
Completeness: RSS ensures nothing missed
Videos are deduplicated automatically
Excluding YouTube Shorts
Shorts are filtered by checking URL for /shorts/ path.
To include Shorts:
Open Filter New Videos node
Find: if (videoUrl && !videoUrl.includes('/shorts/'))
Remove the !videoUrl.includes('/shorts/') check
Rate Limiting
30-second wait between notifications:
Prevents flooding RocketChat
Allows users to read each notification
Avoids rate limits
Impact: 5 videos = 2.5 minutes, 10 videos = 5 minutes
To adjust: Open Wait 30 sec node, change amount field (15-60 seconds recommended)
Handling Multiple Channels
Channels processed sequentially:
Prevents overwhelming workflow
Ensures reliable execution
One failed channel doesn't stop others
Recommend 20-50 channels per workflow
FAQ
Q: How many channels can I monitor?
A: Recommend 20-50 per workflow. Split into multiple workflows for more.
Q: Why use both RSS and scraping?
A: RSS is reliable but delayed. Scraping is immediate but fragile. Both ensures no videos missed.
Q: Can I exclude specific video types?
A: Yes, add filtering logic in Filter New Videos node. Already excludes Shorts.
Q: Will this get my IP blocked?
A: Unlikely with hourly checks. Don't check more than every 15 minutes.
Q: How do I prevent duplicate notifications?
A: Ensure time window matches schedule interval. Already implemented.
Q: What if channel changes handle?
A: Update URL in Channel List node. YouTube maintains redirects.
Q: Can I monitor playlists?
A: Not directly. Would need modifications for playlist RSS feeds.
Technical Reference
YouTube URL Formats
Handle: https://www.youtube.com/@handlename
User: https://www.youtube.com/user/username
Channel ID: https://www.youtube.com/channel/UCxxxxxx
RSS Feed Format
https://www.youtube.com/feeds/videos.xml?channel_id=UCxxxxxx
Contains up to 15 recent videos with title, link, publish date, thumbnail.
APIs Used: YouTube RSS (public), RocketChat API (requires auth)
License: Open for modification and commercial use