Summarize new YouTube uploads with Apify, OpenAI, Slack, Notion and Sheets
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
@apify/n8n-nodes-apify(Find new uploads, Fetch the transcript)
Nodes used (10)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - Apify
@apify/n8n-nodes-apify.apify - Filter
n8n-nodes-base.filter - Remove Duplicates
n8n-nodes-base.removeDuplicates - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Slack
n8n-nodes-base.slack - Notion
n8n-nodes-base.notion - Google Sheets
n8n-nodes-base.googleSheets
What it does
Quick overview This workflow checks specified YouTube channels every hour using Apify’s YouTube Channel Monitor and posts a formatted Slack message for each newly published video, including the title, link, duration, and publish time. How it works 1. Runs every hour on a schedule. 2. Defines the list of YouTube channels to monitor and how many recent results to fetch per channel. 3. Uses Apify (damistudio/youtube-channel-monitor) to retrieve uploads that are new since the last run. 4. Filters out any returned items that do not contain a valid video URL. 5. Deduplicates results by video ID to ensure each video triggers only one alert across executions. 6. Posts a Slack message to the selected channel with the channel name, video title, URL, duration in minutes, and publish timestamp. Setup 1. Create an Apify account and add an Apify API token credential in n8n. 2. Connect a Slack OAuth2 credential and select the Slack channel where alerts should be posted. 3. Replace the example channel list with the handles, channel IDs or URLs you want to watch, and set maxResultsPerChannel to suit how busy they are.