Blog / Tutorials / N8N: Auto-Import YouTube Transcripts to Notion Database
Tutorials 9 min read February 05, 2026

N8N: Auto-Import YouTube Transcripts to Notion Database

Founder
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 you saved automatically appeared in your Notion workspace with a full transcript, summary, and metadata—without lifting a finger? This N8N workflow makes it reality.

The Content Organization Problem Every Creator Faces

You bookmark a YouTube video. Then another. And another. Within weeks, you have hundreds of "saved for later" videos scattered across YouTube playlists, browser bookmarks, and half-forgotten tabs. Sound familiar?

The real problem isn't saving videos—it's accessing the knowledge inside them. That 45-minute tutorial on advanced Python techniques? Buried somewhere in your "Watch Later" graveyard. The brilliant marketing breakdown from that conference talk? Good luck finding the exact quote you need.

Content creators, researchers, and knowledge workers face this daily:

  • No searchability — You can't search inside video content
  • Time sink — Rewatching to find a specific section wastes hours
  • Context lost — Why did you save this video again?
  • Platform lock-in — Your notes live separate from the source

The Automated Solution: N8N + Scriptube + Notion

Workflow diagram showing YouTube to Notion automation pipeline

This workflow transforms how you consume and organize video content. Here's what happens automatically:

  1. Trigger — Save a YouTube URL (via form, Slack command, or webhook)
  2. Extract — Scriptube API pulls the complete transcript in seconds
  3. Process — GPT-4 generates a summary, key points, and tags
  4. Store — Everything lands in your Notion database, fully searchable

The result? A searchable video knowledge base that grows automatically. Find any quote, concept, or tutorial in seconds instead of rewatching entire videos.

Complete N8N Workflow Setup

Let's build this step by step. You'll need:

  • N8N instance (cloud or self-hosted)
  • Scriptube API key (free tier works for testing)
  • Notion integration token
  • OpenAI API key (optional, for AI summaries)

Step 1: Create the Webhook Trigger

Start with a Webhook node to receive YouTube URLs. This lets you trigger the workflow from anywhere—Slack, a Chrome extension, or a simple form.

{
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "youtube-to-notion",
        "httpMethod": "POST"
      }
    }
  ]
}

Step 2: Fetch Transcript via Scriptube API

Add an HTTP Request node to call Scriptube's transcript endpoint:

{
  "name": "Get Transcript",
  "type": "n8n-nodes-base.httpRequest",
  "parameters": {
    "method": "POST",
    "url": "https://api.scriptube.io/v1/transcript",
    "headers": {
      "Authorization": "Bearer {{ $credentials.scriptubeApiKey }}",
      "Content-Type": "application/json"
    },
    "body": {
      "url": "{{ $json.youtube_url }}",
      "format": "text",
      "include_timestamps": true
    }
  }
}

Scriptube handles all the heavy lifting: extracting captions, handling different caption formats, and returning clean text ready for processing.

Step 3: Generate AI Summary (Optional but Powerful)

Add an OpenAI node to create intelligent summaries:

{
  "name": "Summarize with GPT-4",
  "type": "n8n-nodes-base.openAi",
  "parameters": {
    "model": "gpt-4-turbo",
    "messages": [
      {
        "role": "system",
        "content": "You are a content analyst. Summarize video transcripts with: 1) One-paragraph summary, 2) 5 key takeaways as bullet points, 3) Relevant tags (comma-separated)"
      },
      {
        "role": "user",
        "content": "Summarize this transcript:\n\n{{ $json.transcript }}"
      }
    ]
  }
}

Step 4: Create Notion Page

Finally, push everything to Notion with full metadata:

{
  "name": "Create Notion Page",
  "type": "n8n-nodes-base.notion",
  "parameters": {
    "databaseId": "{{ $credentials.notionDatabaseId }}",
    "properties": {
      "Title": { "title": [{ "text": { "content": "{{ $json.video_title }}" }}] },
      "URL": { "url": "{{ $json.youtube_url }}" },
      "Channel": { "rich_text": [{ "text": { "content": "{{ $json.channel_name }}" }}] },
      "Duration": { "number": {{ $json.duration_minutes }} },
      "Tags": { "multi_select": {{ $json.tags }} },
      "Added": { "date": { "start": "{{ $now.format('YYYY-MM-DD') }}" }}
    },
    "children": [
      {
        "type": "heading_2",
        "heading_2": { "rich_text": [{ "text": { "content": "Summary" }}] }
      },
      {
        "type": "paragraph",
        "paragraph": { "rich_text": [{ "text": { "content": "{{ $json.summary }}" }}] }
      },
      {
        "type": "heading_2",
        "heading_2": { "rich_text": [{ "text": { "content": "Key Takeaways" }}] }
      },
      {
        "type": "bulleted_list_item",
        "bulleted_list_item": { "rich_text": [{ "text": { "content": "{{ $json.key_points }}" }}] }
      },
      {
        "type": "heading_2",
        "heading_2": { "rich_text": [{ "text": { "content": "Full Transcript" }}] }
      },
      {
        "type": "paragraph",
        "paragraph": { "rich_text": [{ "text": { "content": "{{ $json.transcript }}" }}] }
      }
    ]
  }
}

Notion Database Configuration

Create a Notion database with these properties for maximum usefulness:

Property Type Purpose
Title Title Video title (searchable)
URL URL Original YouTube link
Channel Text Filter by creator
Duration Number Sort by length
Tags Multi-select AI-generated categories
Status Select To Watch / Watched / Processed
Added Date When you saved it
Rating Select Your personal rating

Pro tip: Add a "Transcript Search" property as a formula that concatenates key fields. Notion's search will index it, making full-text transcript search possible.

Bonus: Multi-Language Support

Scriptube supports transcript extraction in 50+ languages and can translate on the fly. Add a language parameter to your workflow:

{
  "body": {
    "url": "{{ $json.youtube_url }}",
    "translate_to": "en",
    "source_language": "auto"
  }
}

Now you can build a knowledge base from any YouTube content, regardless of original language. Japanese tech tutorials, Spanish marketing webinars, German engineering lectures—all automatically transcribed and translated.

Convert Transcripts to Audio with ElevenLabs

Want to listen to transcripts instead of reading? Add an ElevenLabs node to generate natural-sounding audio:

{
  "name": "Generate Audio",
  "type": "n8n-nodes-base.httpRequest",
  "parameters": {
    "method": "POST",
    "url": "https://api.elevenlabs.io/v1/text-to-speech/{{ $credentials.voiceId }}",
    "headers": {
      "xi-api-key": "{{ $credentials.elevenLabsKey }}"
    },
    "body": {
      "text": "{{ $json.summary }}",
      "model_id": "eleven_turbo_v2"
    }
  }
}

This creates a podcast-style audio version you can listen to during commutes—turning video content into audio content automatically.

Real Results & ROI

Users running this workflow report significant time savings:

  • 80% reduction in time spent searching for video content
  • 10x faster content consumption (reading vs watching)
  • Zero manual data entry — everything populates automatically
  • 100% recall — every video becomes permanently searchable

A content creator processing 50 videos per week saves approximately 15 hours monthly on research and organization alone.

Cost Breakdown

Service Cost Volume
Scriptube API $19/month (Pro) 500 transcripts
OpenAI GPT-4 ~$5/month ~100 summaries
N8N Cloud $20/month Unlimited workflows
Notion Free Unlimited pages
Total ~$44/month

For the time saved, that's roughly $3/hour invested in automation—far below minimum wage for manual work.

Ready to Build Your YouTube Knowledge Base?

Start with Scriptube's free tier—100 transcripts per month, no credit card required.

Get Your Free API Key →

Or compare plans for higher volumes.

Troubleshooting Common Issues

Transcript Not Found

Some videos have disabled captions. Scriptube can use Whisper AI to generate transcripts from audio—enable the force_whisper parameter for these cases.

Notion Rate Limits

Notion's API allows 3 requests/second. Add a "Wait" node between batches if processing many videos at once.

Long Transcripts Truncated

Notion blocks have character limits. Split long transcripts into multiple blocks using N8N's "Split In Batches" node.

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 + YouTube Transcripts: Automatically Extract SEO Keywords from Competitor Videos

N8N + YouTube Transcripts: Automatically Extract SEO Keywords from Competitor Videos By Mihail Lungu, Founder | February 5, 2026 | 9 min read ...