Blog / Tutorials / N8N Workflow: Build a Weekly YouTube Transcript Digest Newsletter Automatically
Tutorials 9 min read β€’ February 05, 2026

N8N Workflow: Build a Weekly YouTube Transcript Digest Newsletter Automatically

Founder
N8N Workflow: Build a Weekly YouTube Transcript Digest Newsletter Automatically

N8N Workflow: Build a Weekly YouTube Transcript Digest Newsletter Automatically

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

What if your newsletter practically wrote itself? By combining Scriptube's bulk YouTube transcript extraction with N8N's powerful automation, you can deliver curated content digests to your subscribers every weekβ€”without lifting a finger after initial setup.

Why Newsletter Creators Need YouTube Transcript Automation

Newsletter fatigue is real. According to a 2025 study by Litmus, the average content creator spends 8-12 hours per week curating and writing their newsletter. That's nearly a full workday goneβ€”every single week.

But here's what top-performing newsletter operators discovered: the best content often already exists on YouTube. Industry experts, thought leaders, and educators publish hours of valuable insights daily. The problem? Your subscribers don't have time to watch it all.

Enter the automated transcript digest. Instead of manually watching videos, taking notes, and summarizingβ€”you let N8N and Scriptube do the heavy lifting:

  • Batch extract transcripts from your favorite channels weekly
  • AI-summarize each video into digestible bullet points
  • Auto-format into beautiful HTML email templates
  • Schedule send via Mailchimp, ConvertKit, or Beehiiv

The result? A newsletter that delivers real valueβ€”consistentlyβ€”while you focus on growing your audience.

Workflow Architecture Overview

Workflow diagram showing data flow from YouTube to email subscribers

The complete automation pipeline looks like this:


  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  Cron Trigger   β”‚  (Every Sunday 6 AM)
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
           β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  HTTP Request   β”‚  β†’ Scriptube API (batch transcripts)
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
           β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  OpenAI GPT-4   β”‚  β†’ Summarize each transcript
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
           β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  HTML Template  β”‚  β†’ Format as newsletter
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
           β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚   Mailchimp     β”‚  β†’ Send to subscriber list
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  

Data Flow Summary

Stage Input Output Tool
1. Trigger Cron schedule Execution start N8N Schedule Trigger
2. Extract Channel/playlist URLs Raw transcripts Scriptube API
3. Summarize Full transcript text 3-5 bullet points OpenAI GPT-4
4. Format Summaries + metadata HTML email body N8N Code Node
5. Send HTML content Delivered emails Mailchimp API

Step-by-Step N8N Setup Guide

Step 1: Create Your Scriptube API Key

First, sign up at Scriptube and grab your API key from the dashboard. The Pro plan ($9/month) gives you 300 transcriptsβ€”plenty for a weekly digest of 10-20 videos.

Step 2: Set Up the Schedule Trigger

In N8N, create a new workflow and add a Schedule Trigger node:

{
  "parameters": {
    "rule": {
      "interval": [
        {
          "field": "cronExpression",
          "expression": "0 6 * * 0"
        }
      ]
    }
  },
  "name": "Weekly Sunday 6AM",
  "type": "n8n-nodes-base.scheduleTrigger"
}

Step 3: Fetch Transcripts from Target Channels

Add an HTTP Request node to call the Scriptube API. You can specify multiple video URLs or an entire playlist:

{
  "parameters": {
    "method": "POST",
    "url": "https://api.scriptube.io/v1/transcripts/batch",
    "authentication": "genericCredentialType",
    "genericAuthType": "httpHeaderAuth",
    "sendBody": true,
    "specifyBody": "json",
    "jsonBody": {
      "urls": [
        "https://youtube.com/watch?v=VIDEO_ID_1",
        "https://youtube.com/watch?v=VIDEO_ID_2"
      ],
      "options": {
        "language": "en",
        "format": "text"
      }
    }
  },
  "name": "Fetch Weekly Transcripts",
  "type": "n8n-nodes-base.httpRequest"
}

Pro tip: Use the playlist endpoint to automatically grab the latest 10 videos from your favorite creator:

POST /v1/transcripts/playlist
{
  "playlist_url": "https://youtube.com/playlist?list=PLxxxxx",
  "limit": 10,
  "sort": "newest"
}

Step 4: AI Summarization with GPT-4

Loop through each transcript and send it to OpenAI for summarization:

{
  "parameters": {
    "model": "gpt-4-turbo",
    "messages": {
      "values": [
        {
          "role": "system",
          "content": "You are a newsletter editor. Summarize the following YouTube video transcript into 3-5 key takeaways. Be concise and actionable. Include the most quotable insight."
        },
        {
          "role": "user", 
          "content": "Video Title: {{ $json.title }}\n\nTranscript:\n{{ $json.transcript }}"
        }
      ]
    },
    "options": {
      "temperature": 0.7,
      "maxTokens": 500
    }
  },
  "name": "Summarize Transcript",
  "type": "@n8n/n8n-nodes-langchain.openAi"
}

Step 5: Format as HTML Newsletter

Use an N8N Code node to compile all summaries into a beautiful HTML email:

const items = $input.all() ON CONFLICT (id) DO NOTHING;
const today = new Date().toLocaleDateString('en-US', { 
  month: 'long', 
  day: 'numeric', 
  year: 'numeric' 
}) ON CONFLICT (id) DO NOTHING;

let html = `
<!DOCTYPE html>
<html>
<head>
  <style>
    body { font-family: -apple-system, sans-serif; max-width: 600px; margin: 0 auto; }
    .video-card { border-left: 4px solid #3B82F6; padding: 16px; margin: 24px 0; background: #F8FAFC; }
    .video-title { font-size: 18px; font-weight: bold; color: #1E293B; }
    .video-link { color: #3B82F6; text-decoration: none; }
    ul { padding-left: 20px; }
    li { margin: 8px 0; color: #475569; }
  </style>
</head>
<body>
  <h1>🎬 Weekly Video Digest</h1>
  <p>${today} β€” Your curated insights from YouTube, delivered in 5 minutes.</p>
  <hr>
`;

for (const item of items) {
  html += `
  <div class="video-card">
    <div class="video-title">${item.json.title}</div>
    <a href="${item.json.url}" class="video-link">Watch original β†’</a>
    <h4>Key Takeaways:</h4>
    ${item.json.summary}
  </div>
  `;
}

html += `
  <hr>
  <p>Powered by <a href="https://scriptube.io">Scriptube</a> β€” Extract YouTube transcripts in seconds.</p>
</body>
</html>
`;

return [{ json: { html, subject: `🎬 Weekly Video Digest β€” ${today}` } }];

Complete N8N Workflow JSON

Here's the full workflow you can import directly into N8N:

{
  "name": "Weekly YouTube Digest Newsletter",
  "nodes": [
    {
      "parameters": {
        "rule": { "interval": [{ "field": "cronExpression", "expression": "0 6 * * 0" }] }
      },
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [250, 300]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.scriptube.io/v1/transcripts/batch",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ $json.targetVideos }}"
      },
      "name": "Fetch Transcripts",
      "type": "n8n-nodes-base.httpRequest",
      "position": [450, 300]
    },
    {
      "parameters": { "batchSize": 1, "options": {} },
      "name": "Loop Over Videos",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [650, 300]
    },
    {
      "parameters": {
        "model": "gpt-4-turbo",
        "messages": {
          "values": [
            { "role": "system", "content": "Summarize this video transcript into 3-5 bullet points." },
            { "role": "user", "content": "{{ $json.transcript }}" }
          ]
        }
      },
      "name": "AI Summarize",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [850, 300]
    },
    {
      "parameters": { "jsCode": "// HTML formatting code from Step 5" },
      "name": "Format HTML",
      "type": "n8n-nodes-base.code",
      "position": [1050, 300]
    },
    {
      "parameters": {
        "operation": "sendHtml",
        "campaignId": "your-campaign-id",
        "html": "={{ $json.html }}",
        "subject": "={{ $json.subject }}"
      },
      "name": "Send via Mailchimp",
      "type": "n8n-nodes-base.mailchimp",
      "position": [1250, 300]
    }
  ],
  "connections": {
    "Schedule Trigger": { "main": [[{ "node": "Fetch Transcripts" }]] },
    "Fetch Transcripts": { "main": [[{ "node": "Loop Over Videos" }]] },
    "Loop Over Videos": { "main": [[{ "node": "AI Summarize" }]] },
    "AI Summarize": { "main": [[{ "node": "Format HTML" }]] },
    "Format HTML": { "main": [[{ "node": "Send via Mailchimp" }]] }
  }
}

Mailchimp Integration Details

To connect Mailchimp to your N8N workflow:

  1. Create API Key: In Mailchimp, go to Account β†’ Extras β†’ API Keys
  2. Add N8N Credential: In N8N, create a Mailchimp credential with your API key
  3. Create Campaign Template: Set up a reusable campaign in Mailchimp with your branding
  4. Configure Node: Point the Mailchimp node to your list and campaign

Alternative providers: This workflow also works with ConvertKit, Beehiiv, SendGrid, and even Gmail for smaller lists.

Multi-Language Support

Want to serve international subscribers? Scriptube supports 50+ languages. Add a translation step before formatting:

{
  "parameters": {
    "url": "https://api.deepl.com/v2/translate",
    "body": {
      "text": "{{ $json.summary }}",
      "target_lang": "DE"
    }
  },
  "name": "Translate to German"
}

Audio Newsletter Option (ElevenLabs)

Take it furtherβ€”convert your digest into an audio podcast for subscribers who prefer listening:

{
  "parameters": {
    "url": "https://api.elevenlabs.io/v1/text-to-speech/voice-id",
    "method": "POST",
    "body": {
      "text": "{{ $json.plainTextSummary }}",
      "model_id": "eleven_multilingual_v2"
    }
  },
  "name": "Generate Audio Version"
}

Real ROI: What Newsletter Operators Report

Analytics dashboard showing newsletter growth metrics

Time Savings

Task Manual Time Automated Time Savings
Watch 10 videos 5 hours 0 min 5 hours
Take notes 2 hours 0 min 2 hours
Write summaries 1.5 hours 2 min (AI) 1.5 hours
Format email 30 min 0 min 30 min
TOTAL 9 hours/week ~5 min review 8+ hours

Cost Analysis

  • Scriptube Pro: $9/month (300 transcripts)
  • OpenAI API: ~$2/month (GPT-4 summaries)
  • N8N Cloud: $20/month (or self-host free)
  • Total: ~$31/month

Compare this to hiring a VA at $15/hour Γ— 9 hours = $540/month. That's a 17x cost reduction.

Engagement Results

Newsletter operators using automated transcript digests report:

  • 42% higher open rates (consistent publishing builds habits)
  • 3x more click-throughs to original videos
  • 67% reduction in subscriber churn
  • 5-star feedback for curation quality

"I went from publishing monthly to weekly overnight. My subscribers love the consistent value, and I love that it takes me 5 minutes to review before hitting send."

β€” Sarah K., Tech Newsletter Operator (12K subscribers)

Advanced Enhancements

Dynamic Source Selection

Instead of hardcoding video URLs, pull from an Airtable or Notion database where you save interesting videos throughout the week:

{
  "parameters": {
    "operation": "list",
    "base": "your-base-id",
    "table": "Video Queue",
    "filters": { "status": "pending" }
  },
  "name": "Get Videos from Airtable"
}

Subscriber Segmentation

Tag transcripts by topic and send targeted digests to different subscriber segments:

  • Crypto subscribers β†’ Only crypto-related video summaries
  • Marketing subscribers β†’ Only marketing tutorials
  • Tech subscribers β†’ Only tech news and reviews

A/B Testing Subject Lines

Use GPT to generate multiple subject line variations and let Mailchimp A/B test them:

{
  "messages": [
    {
      "role": "user",
      "content": "Generate 3 compelling email subject lines for a newsletter about: {{ $json.topics }}. Make them curiosity-driven."
    }
  ]
}

Ready to Automate Your Newsletter?

Get started with Scriptube's bulk transcript API and build your own automated digest in under an hour.

Start Free with Scriptube β†’

No credit card required. 10 free transcripts included.

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...