📱 Monitor YouTube video publishing status with Google Sheets and Slack
⚡ 15 views · 📱 Social Media & Email Marketing
💡 Pro Tip — YouTube’s API quotas can be a bottleneck when you’re pulling data at scale. ScraperNode is a community node with dedicated scrapers for channels, videos, and comments — no quota limits, just structured data.
Description
Quick overview
This workflow checks your YouTube channel every 30 minutes, syncs each video’s privacy status to a Google Sheets tracking sheet, and sends Slack notifications when a video is private (needs setup) or public (ready to promote).
How it works
- Runs every 30 minutes on a schedule.
- Uses the YouTube Data API (via Google OAuth) to find the authenticated channel’s uploads playlist and fetch the 10 most recent videos with snippet and status details.
- Processes each video and checks whether it was published within the last 30 minutes.
- For newly uploaded videos, routes by YouTube privacy status (private vs public), updates the matching Google Sheets row by Video ID, and sends the corresponding Slack alert.
- For older videos, looks up the video in Google Sheets by Video ID and compares the stored Status with the latest YouTube privacy status.
- If the status changed, updates the Status in Google Sheets and sends the appropriate Slack notification; otherwise, it takes no action.
Setup
- Create or select a Google Sheet for tracking and ensure it includes columns named Video ID and Status.
- Add a Google OAuth2 credential with access to the YouTube Data API and Google Sheets, and connect it to the HTTP Request and Google Sheets steps.
- Add a Slack OAuth2 credential and set the target Slack channel ID in each Slack message step.
- Replace REPLACE_WITH_VIDEO_TRACKING_SHEET_ID with your Google Sheets document ID and confirm the workflow points to the correct sheet tab (gid=0 by default).
🔗 Nodes Used
Google Sheets, HTTP Request, Slack, Schedule Trigger
📥 Import
Download workflow.json and import into n8n:
Workflow menu → Import from File