This workflow corresponds to n8n.io template #13919 — we link there as the canonical source.
This workflow follows the Agent → Anthropic Chat recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Meeting Notes Automation",
"tags": [],
"nodes": [
{
"id": "522e2769-65f2-4e2e-b196-8320df0ce3ea",
"name": "Sticky Note - Overview",
"type": "n8n-nodes-base.stickyNote",
"position": [
2368,
768
],
"parameters": {
"width": 668,
"height": 780,
"content": "## Try It Out!\n### Automatically turn YouTube recordings into structured notes, action items, and Slack summaries.\n\nThis workflow monitors a YouTube channel via RSS for new uploads, transcribes the video, uses AI to extract key topics, action items, and decisions, creates a Notion page, and posts a summary to Slack.\n\n### How it works\n1. **RSS Feed Trigger** polls a YouTube channel for new video uploads\n2. **deAPI Transcribe Video** extracts the transcript using Whisper from the YouTube URL\n3. **Extract From File** converts the transcript binary into text\n4. **AI Agent** analyzes the transcript and produces structured meeting notes\n5. **Notion** creates a meeting notes page in your database\n6. **Slack** posts the summary and action items to a channel\n\n### Requirements\n- [deAPI](https://deapi.ai) account for video transcription\n- Anthropic account for AI Agent\n- Notion workspace with a meeting notes database\n- Slack workspace\n- n8n instance must be on **HTTPS**\n\n### Need Help?\nJoin the [n8n Discord](https://discord.gg/n8n) or ask in the [Forum](https://community.n8n.io/)!\n\nHappy Automating!"
},
"typeVersion": 1
},
{
"id": "cc70fbc2-89c2-4840-9559-a4c043d4e6ae",
"name": "Sticky Note - Example",
"type": "n8n-nodes-base.stickyNote",
"position": [
1424,
1584
],
"parameters": {
"color": 6,
"width": 360,
"height": 500,
"content": "### How to get your YouTube Channel RSS URL\n\n```\nhttps://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID\n```\n\nTo find your **Channel ID**:\n1. Go to the YouTube channel page\n2. Click **More** \u2192 **Share channel** \u2192 **Copy channel ID**\n\nOr find it in the channel URL:\n`youtube.com/channel/UCxxxxxx`\n\nNo YouTube API key needed \u2014 RSS feeds are public."
},
"typeVersion": 1
},
{
"id": "e39d8b1c-35d2-4499-a603-2c18bd835e4b",
"name": "Sticky Note - Trigger",
"type": "n8n-nodes-base.stickyNote",
"position": [
1840,
1584
],
"parameters": {
"color": 7,
"width": 340,
"height": 428,
"content": "## 1. RSS Feed Trigger\n[Read more about RSS Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread)\n\nPolls a YouTube channel's RSS feed for new video uploads.\n\nSet the **Feed URL** to your channel's RSS URL.\n\nNo file size limits \u2014 deAPI transcribes directly from the YouTube URL."
},
"typeVersion": 1
},
{
"id": "655cb3da-db7c-46e0-935f-07f1db7c99af",
"name": "Sticky Note - Transcribe",
"type": "n8n-nodes-base.stickyNote",
"position": [
2224,
1584
],
"parameters": {
"color": 7,
"width": 320,
"height": 428,
"content": "## 2. Transcribe Video\n[deAPI Documentation](https://docs.deapi.ai)\n\nUses **Whisper Large V3** to transcribe the video directly from the YouTube URL.\n\nReturns the transcript as binary data via `result_url`."
},
"typeVersion": 1
},
{
"id": "19271b8e-de81-4939-9646-1246ce76340e",
"name": "Sticky Note - Extract",
"type": "n8n-nodes-base.stickyNote",
"position": [
2592,
1584
],
"parameters": {
"color": 7,
"width": 320,
"height": 428,
"content": "## 3. Extract Transcript Text\n[Read more about Extract From File](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile)\n\nConverts the binary transcript from deAPI into a text string.\n\nThe extracted text is passed to the AI Agent for analysis."
},
"typeVersion": 1
},
{
"id": "44533198-ffa3-4c3c-b217-d3f7d3766c4b",
"name": "Sticky Note - AI Agent",
"type": "n8n-nodes-base.stickyNote",
"position": [
2960,
1584
],
"parameters": {
"color": 7,
"width": 400,
"height": 620,
"content": "## 4. AI-Powered Note Extraction\n[Read more about AI Agents](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent)\n\nThe AI Agent analyzes the transcript and extracts:\n- **Summary** \u2014 what was discussed\n- **Action items** \u2014 who does what\n- **Decisions** \u2014 what was agreed on\n- **Key topics** \u2014 main themes\n\nThe **Structured Output Parser** ensures consistent JSON output."
},
"typeVersion": 1
},
{
"id": "8ed7e0cd-107c-4c9f-8e4b-ced36d366178",
"name": "Sticky Note - Notion",
"type": "n8n-nodes-base.stickyNote",
"position": [
3408,
1584
],
"parameters": {
"color": 7,
"width": 320,
"height": 428,
"content": "## 5. Save to Notion\n[Read more about Notion node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.notion)\n\nCreates a new page in your Notion meeting notes database.\n\nConfigure the **Database ID** and map the output fields to your database properties."
},
"typeVersion": 1
},
{
"id": "fbceeaab-7785-45bc-b93d-99f301278002",
"name": "Sticky Note - Slack",
"type": "n8n-nodes-base.stickyNote",
"position": [
3776,
1584
],
"parameters": {
"color": 7,
"width": 320,
"height": 428,
"content": "## 6. Notify via Slack\n[Read more about Slack node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack)\n\nPosts a summary with action items to your team's Slack channel.\n\nSwap for Microsoft Teams, email, or any other notification node."
},
"typeVersion": 1
},
{
"id": "3767a073-0ee1-445c-820a-0df00c6e6fb6",
"name": "YouTube RSS Trigger",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
1952,
1840
],
"parameters": {
"feedUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID",
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"typeVersion": 1
},
{
"id": "c693f9d6-9cc0-4817-af5c-a519f194a060",
"name": "deAPI Transcribe Video",
"type": "n8n-nodes-deapi.deapi",
"position": [
2336,
1840
],
"parameters": {
"options": {
"waitTimeout": 600
},
"resource": "video",
"videoUrl": "={{ $json.link }}",
"operation": "transcribe"
},
"credentials": {
"deApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "a4009b6d-52e2-450f-b232-c455ead5bd81",
"name": "Extract Transcript Text",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2704,
1840
],
"parameters": {
"options": {},
"operation": "text"
},
"typeVersion": 1
},
{
"id": "7134a35c-334c-4321-9204-1783ef1167e5",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
3056,
1840
],
"parameters": {
"text": "=Here is a transcript of a meeting recording. Please extract structured meeting notes.\n\nVideo title: {{ $('YouTube RSS Trigger').item.json.title }}\n\nTranscript:\n{{ $json.data }}",
"options": {
"systemMessage": "You are an expert meeting note-taker. You will receive a meeting transcript.\n\nYour tasks:\n1. Write a concise title for the meeting based on the discussion topics.\n2. Write a brief summary (3-5 sentences) of what was discussed.\n3. Extract all action items with the responsible person if mentioned (format: \"- @person: task\").\n4. List key decisions that were made.\n5. List the main topics that were covered.\n\nReturn the structured notes in the required JSON format."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "57262a23-66b3-44fb-bf94-4edc8a4ac2ed",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
3232,
2064
],
"parameters": {
"jsonSchemaExample": "{\n \"title\": \"Weekly Product Sync \u2014 March 5\",\n \"summary\": \"The team reviewed Q2 roadmap priorities and agreed to focus on the auth redesign first. Timeline for the migration was pushed to next sprint.\",\n \"action_items\": \"- @alice: Finalize design specs by Friday\\n- @bob: Set up staging environment\\n- @carol: Schedule follow-up with security team\",\n \"decisions\": \"- Moving forward with Option B for the auth system\\n- Postponing the database migration to next sprint\",\n \"key_topics\": \"- Q2 roadmap priorities\\n- Auth system redesign\\n- Database migration timeline\\n- Team capacity planning\"\n}"
},
"typeVersion": 1.2
},
{
"id": "e880f0bb-9432-49fc-8899-e1cd4ef00734",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
3008,
2064
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-opus-4-6",
"cachedResultName": "Claude Opus 4.6"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "5a3af322-60b7-4181-83d0-71ccaf97a62d",
"name": "Notion",
"type": "n8n-nodes-base.notion",
"position": [
3520,
1840
],
"parameters": {
"title": "={{ $json.output.title }}",
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "id",
"value": "YOUR_NOTION_DATABASE_ID"
},
"propertiesUi": {
"propertyValues": [
{
"key": "Title|title",
"title": "={{ $json.output.title }}"
},
{
"key": "Summary|rich_text",
"textContent": "={{ $json.output.summary }}"
},
{
"key": "Action Items|rich_text",
"textContent": "={{ $json.output.action_items }}"
},
{
"key": "Decisions|rich_text",
"textContent": "={{ $json.output.decisions }}"
},
{
"key": "Key Topics|rich_text",
"textContent": "={{ $json.output.key_topics }}"
}
]
}
},
"credentials": {
"notionApi": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
},
{
"id": "643ce37b-d106-43c7-8650-8af3d33625e5",
"name": "Slack",
"type": "n8n-nodes-base.slack",
"position": [
3888,
1840
],
"parameters": {
"text": "=:memo: *{{ $('AI Agent').item.json.output.title }}*\n\n*Summary:*\n{{ $('AI Agent').item.json.output.summary }}\n\n*Action Items:*\n{{ $('AI Agent').item.json.output.action_items }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "id",
"value": "YOUR_SLACK_CHANNEL_ID"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 2.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"connections": {
"Notion": {
"main": [
[
{
"node": "Slack",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Notion",
"type": "main",
"index": 0
}
]
]
},
"YouTube RSS Trigger": {
"main": [
[
{
"node": "deAPI Transcribe Video",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"deAPI Transcribe Video": {
"main": [
[
{
"node": "Extract Transcript Text",
"type": "main",
"index": 0
}
]
]
},
"Extract Transcript Text": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
anthropicApideApinotionApislackOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Teams who upload meeting recordings to YouTube (unlisted or private) and want automated notes Project managers who need to track action items across recurring meetings Remote teams who want searchable, structured meeting notes in Notion Content teams repurposing recorded calls…
Source: https://n8n.io/workflows/13919/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals.
Build your own Klue/Crayon alternative: Auto-generate comprehensive competitive battlecards with AI research agents for ~$50/month instead of $1,500+
Automatically detect, classify, and document GitHub API errors using AI. This workflow connects GitHub, OpenAI (GPT-4o), Airtable, Notion, and Slack to build a real-time, searchable API error knowledg
Aggregates communication data from Slack, Microsoft Teams, Gmail, GitHub, and Confluence into a single, unified AI-powered analysis workflow designed for quality review and automated documentation upd
The Google Meet AI Assistant workflow provides intelligent meeting analysis by integrating Google Calendar, Google Drive, AssemblyAI transcription, Anthropic Claude AI, Slack, and Notion. It automates