Summarize YouTube videos in Slack using AssemblyAI transcription and OpenAI
Ready for 3.0What this workflow does
This AI workflow has 16 nodes and runs when an HTTP POST request hits its webhook URL. Along the way it connects OpenAI. It also calls api.assemblyai.com over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL.
- Normalize Slack payload (Edit Fields (Set)): sets 2 fields: videoUrl, mode
- Extract YouTube video ID (Code): runs custom JavaScript code
- Check Video Duration (HTTP Request): calls an HTTP API
- Validate Duration (Code): runs custom JavaScript code
- Is video longer than limit? (If): checks a condition and branches into true / false
- Send duration error to Slack (HTTP Request): calls an HTTP API (POST)
- Convert YouTube video to MP (HTTP Request): calls an HTTP API
- Start transcription job (HTTP Request): calls an HTTP API (POST)
- Submit audio for transcription (HTTP Request): calls api.assemblyai.com (POST)
- Wait: pauses before continuing
…plus 5 more steps. See the full node list below.
Services it uses
HTTP calls to: api.assemblyai.com
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (7)
- Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - Webhook
n8n-nodes-base.webhook - Edit Fields (Set)
n8n-nodes-base.set - If
n8n-nodes-base.if - Wait
n8n-nodes-base.wait - OpenAI
@n8n/n8n-nodes-langchain.openAi
From the author
🧠 How it works This workflow lets users generate structured summaries from YouTube videos directly inside Slack using n8n, AssemblyAI, and OpenAI. When a user submits a YouTube link via a Slack slash command, the workflow extracts the video ID and validates…