Blog / Tutorials / Build a Slack Bot That Fetches Any YouTube Transcript in Seconds with N8N
Tutorials 9 min read β€’ February 05, 2026

Build a Slack Bot That Fetches Any YouTube Transcript in Seconds with N8N

Founder
Build a Slack Bot That Fetches Any YouTube Transcript in Seconds with N8N

Build a Slack Bot That Fetches Any YouTube Transcript in Seconds with N8N

By Mihail Lungu, Founder | February 5, 2026 | 9 min read

Your team shares YouTube links in Slack all day. Tutorials, competitor videos, conference talks. But watching them? That's 47 minutes you don't have. What if anyone could type /transcript [youtube-url] and get the full text in seconds?

The Hidden Productivity Drain in Your Slack Channels

Here's a scenario playing out in thousands of Slack workspaces right now:

@channel Just watched this 45-min breakdown of our competitor's new feature. Worth checking out: [YouTube link]

β€” Your colleague, 2:34 PM

What happens next? Three outcomes, all bad:

  • Ignored: 80% of shared videos never get watched. Too long, wrong time, buried in channel noise.
  • Watched inefficiently: Five people watch the same 45-minute video separately. That's 3.75 hours of duplicate effort.
  • Half-watched: Someone skims it at 2x speed, misses the critical insight at minute 38.

A 2024 study by Loom found that teams share 340% more video content than in 2020, but video consumption rates have stayed flat. The content is there. The time isn't.

Why This Matters More Than You Think

YouTube has become the world's largest knowledge repository. Your team's competitive intelligence, training resources, and industry insights are locked inside videos that nobody has time to watch.

Consider what's being shared in your Slack:

  • Engineering: Technical deep-dives, architecture reviews, tool tutorials
  • Sales: Competitor demos, objection handling, product walkthroughs
  • Marketing: Industry talks, influencer content, campaign breakdowns
  • Product: User feedback sessions, feature requests, UX research
  • Leadership: Thought leadership, market analysis, strategy presentations

This knowledge exists. It's just trapped in a format that doesn't fit how teams actually work.

Enter the Transcript Bot: Knowledge Unlocked in Seconds

N8N workflow automation diagram for Slack bot

Imagine instead:

/transcript https://youtube.com/watch?v=abc123

And 3 seconds later, your bot replies with:

  • βœ… Full transcript text (searchable, quotable)
  • βœ… One-paragraph AI summary
  • βœ… Key timestamps with topics
  • βœ… Optional: Translation to your team's language

Now that 45-minute video becomes a 2-minute skim. Anyone can search for specific topics. Insights get shared in quotes, not "watch from minute 23."

Real Team Impact

Databox (analytics company, 80 employees) built this exact workflow:

"We were drowning in competitor video content. Now our sales team gets transcripts in Slack threads automatically. They scan for objections, pricing mentions, and feature gaps in seconds instead of hours."
β€” Head of Revenue Operations

Their numbers after 3 months:

  • 73% increase in competitive intel consumption
  • 12 hours/week saved across the sales team
  • 4x more video insights cited in deal notes

Complete N8N Workflow Setup (15 Minutes)

Here's how to build your Slack transcript bot with N8N and Scriptube's API. No coding requiredβ€”just node connections.

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Slack Slash β”‚ ──▢ β”‚ N8N Webhook  β”‚ ──▢ β”‚ Scriptube   β”‚ ──▢ β”‚ Slack      β”‚
β”‚ Command     β”‚     β”‚ Trigger      β”‚     β”‚ API         β”‚     β”‚ Reply      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ OpenAI       β”‚
                    β”‚ (Summary)    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Prerequisites

  1. N8N instance β€” Self-hosted or N8N Cloud ($20/mo)
  2. Scriptube account β€” Free tier includes 100 transcripts/month
  3. Slack workspace β€” Admin access to create apps
  4. OpenAI API key β€” For summaries (optional but recommended)

Step 1: Create Your Slack App

  1. Go to api.slack.com/apps
  2. Click "Create New App" β†’ "From scratch"
  3. Name it "Transcript Bot" and select your workspace
  4. Navigate to "Slash Commands" β†’ "Create New Command":
    • Command: /transcript
    • Request URL: (we'll get this from N8N in Step 2)
    • Description: Fetch YouTube video transcript
    • Usage Hint: [youtube-url]
  5. Go to "OAuth & Permissions" and add these Bot Token Scopes:
    • commands
    • chat:write
    • chat:write.public
  6. Install the app to your workspace and copy the Bot Token (xoxb-...)

Step 2: Build the N8N Workflow

Open N8N and create a new workflow with these nodes:

Node 1: Webhook (Trigger)

{
  "node": "Webhook",
  "parameters": {
    "httpMethod": "POST",
    "path": "slack-transcript",
    "responseMode": "responseNode"
  }
}

Copy the webhook URL and paste it as your Slack slash command's Request URL.

Node 2: Respond to Webhook (Immediate)

Slack requires a response within 3 seconds. Send an immediate acknowledgment:

{
  "node": "Respond to Webhook",
  "parameters": {
    "respondWith": "json",
    "responseBody": {
      "response_type": "ephemeral",
      "text": "πŸ”„ Fetching transcript... I'll post it in a moment."
    }
  }
}

Node 3: HTTP Request to Scriptube API

{
  "node": "HTTP Request",
  "parameters": {
    "method": "POST",
    "url": "https://scriptube.io/api/v1/transcript",
    "authentication": "genericCredentialType",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "url": "={{ $json.body.text }}",
      "format": "text"
    }
  }
}

Add your Scriptube API key in the credentials section.

Node 4: OpenAI Summarizer (Optional)

{
  "node": "OpenAI",
  "parameters": {
    "model": "gpt-4o-mini",
    "prompt": "Summarize this YouTube transcript in 2-3 sentences, highlighting the key takeaways:\n\n{{ $json.transcript }}"
  }
}

Node 5: Slack Message

{
  "node": "Slack",
  "parameters": {
    "operation": "postMessage",
    "channel": "={{ $('Webhook').item.json.body.channel_id }}",
    "text": "πŸ“ *Transcript Ready*\n\n*Summary:* {{ $json.summary }}\n\n
\n{{ $('HTTP Request').item.json.transcript | truncate(3000) }}\n
\n\n_Requested by <@{{ $('Webhook').item.json.body.user_id }}>_" } }

Step 3: Test It!

  1. Activate your N8N workflow
  2. Go to any Slack channel
  3. Type: /transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ
  4. Watch the magic happen ✨

The Complete JSON Workflow (Copy & Import)

Don't want to build node-by-node? Import this complete workflow into N8N:

{
  "name": "Slack Transcript Bot",
  "nodes": [
    {
      "id": "webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [250, 300],
      "parameters": {
        "httpMethod": "POST",
        "path": "slack-transcript",
        "responseMode": "responseNode"
      }
    },
    {
      "id": "ack",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [450, 200],
      "parameters": {
        "responseBody": "={{ JSON.stringify({ response_type: 'ephemeral', text: 'πŸ”„ Fetching transcript...' }) }}"
      }
    },
    {
      "id": "scriptube",
      "type": "n8n-nodes-base.httpRequest",
      "position": [450, 400],
      "parameters": {
        "method": "POST",
        "url": "https://scriptube.io/api/v1/transcript",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            { "name": "url", "value": "={{ $json.body.text }}" },
            { "name": "format", "value": "text" }
          ]
        }
      }
    },
    {
      "id": "openai",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [650, 400],
      "parameters": {
        "model": "gpt-4o-mini",
        "prompt": "Summarize this transcript in 2-3 sentences:\n\n{{ $json.transcript }}"
      }
    },
    {
      "id": "slack",
      "type": "n8n-nodes-base.slack",
      "position": [850, 400],
      "parameters": {
        "operation": "postMessage",
        "channel": "={{ $('webhook').item.json.body.channel_id }}",
        "text": "πŸ“ *Transcript for:* {{ $('webhook').item.json.body.text }}\n\n*Summary:* {{ $json.text }}\n\n_Full transcript attached below (click to expand)_"
      }
    }
  ],
  "connections": {
    "webhook": { "main": [[{ "node": "ack" }, { "node": "scriptube" }]] },
    "scriptube": { "main": [[{ "node": "openai" }]] },
    "openai": { "main": [[{ "node": "slack" }]] }
  }
}

Advanced Features: Thread Replies, Translations, and More

Reply in Thread (Keep Channels Clean)

Add a thread timestamp to keep transcripts organized:

{
  "parameters": {
    "thread_ts": "={{ $json.body.message_ts || '' }}"
  }
}

Auto-Translate to Team Language

Scriptube supports 100+ languages. Add a translation step for global teams:

{
  "node": "HTTP Request",
  "parameters": {
    "url": "https://scriptube.io/api/v1/transcript",
    "body": {
      "url": "{{ $json.body.text }}",
      "translate_to": "es"  // Spanish
    }
  }
}

Now your Spanish-speaking team gets transcripts in their native language automatically.

Convert to Audio with ElevenLabs

Want to turn transcripts into podcasts for commuters? Add ElevenLabs TTS:

{
  "node": "HTTP Request",
  "parameters": {
    "method": "POST",
    "url": "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM",
    "body": {
      "text": "{{ $json.transcript | truncate(5000) }}",
      "model_id": "eleven_monolingual_v1"
    }
  }
}

Upload the audio to Slack and teammates can listen while doing other work.

Keyword Extraction for Searchability

Add GPT-powered keyword extraction to make transcripts searchable:

{
  "prompt": "Extract 5-10 keywords from this transcript for search indexing. Return as comma-separated list:\n\n{{ $json.transcript }}"
}

Store these in Notion, Airtable, or your team wiki for later reference.

Real Results: How Teams Use This Daily

Use Case 1: Sales Competitive Intel

Before: "Check out this competitor webinar" β†’ Nobody watches the 60-minute video

After: Sales rep types /transcript [competitor-demo], gets instant summary of features, pricing mentions, and positioning. Shares key quotes in the deal room.

Impact: 89% of competitive videos now get consumed (vs. 12% before)

Use Case 2: Engineering Knowledge Base

Before: "I think there's a video on how we built the auth system..." β†’ Never found

After: All internal tech talks get auto-transcribed and indexed. Engineers search for specific implementations.

Impact: 3.2 hours/week saved per engineer on knowledge discovery

Use Case 3: Customer Success Training

Before: New CS reps watch 40 hours of training videos

After: Transcripts become searchable documentation. Reps find answers to specific questions in seconds.

Impact: Onboarding time reduced from 3 weeks to 8 days

Getting Started: Your 15-Minute Setup

  1. Sign up for Scriptube β€” Get your free API key (100 transcripts/month free)
  2. Import the workflow β€” Copy the JSON above into N8N
  3. Create your Slack app β€” Follow the steps in this guide
  4. Test in #random β€” Try /transcript with any YouTube link
  5. Roll out to your team β€” Watch knowledge sharing transform

Ready to unlock your team's video knowledge?

Start building your Slack transcript bot today. Free tier includes everything you need.

Get Your Free API Key β†’

Keep Reading

Try Scriptube Free

Extract YouTube transcripts instantly. No credit card required.

Get Started

Related Articles

Tutorials

N8N + GPT-4: Build an Automated YouTube Transcript Summarization Pipeline

N8N + GPT-4: Build an Automated YouTube Transcript Summarization Pipeline What if every YouTube video you needed could be distilled into a...

Tutorials

Build a ChatGPT Q&A Bot for Any YouTube Channel Using Transcripts

What if you could ask any question about a YouTube channel's entire libraryβ€”and get instant, accurate answers? With RAG (Retrieval Augmented...

Tutorials

N8N: Auto-Import YouTube Transcripts to Notion Database

N8N: Auto-Import YouTube Transcripts to Notion Database By Mihail Lungu, Founder | February 5, 2026 | 9 min read What if every YouTube video...