AutomationFlowsSocial Media › Generate YouTube Newsletter with AI

Generate YouTube Newsletter with AI

Original n8n title: Youtube Newsletter Generator

YouTube Newsletter Generator. Uses httpRequest. Webhook trigger; 5 nodes.

Webhook trigger★★☆☆☆ complexity5 nodesHTTP Request
Social Media Trigger: Webhook Nodes: 5 Complexity: ★★☆☆☆ Added:

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 →

Download .json
{
  "name": "YouTube Newsletter Generator",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "youtube-newsletter",
        "responseMode": "lastNode"
      },
      "id": "webhook",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        250,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://ai-tools:8080/youtube/transcribe",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.body.youtube_url }}"
            },
            {
              "name": "language",
              "value": "={{ $json.body.language || 'auto' }}"
            }
          ]
        }
      },
      "id": "transcribe",
      "name": "Transcribe YouTube",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        450,
        300
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://ai-tools:8000/text-to-speech",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "text",
              "value": "={{ $json.transcription.text.substring(0, 1000) }}"
            },
            {
              "name": "voice",
              "value": "en-US-JennyNeural"
            }
          ]
        }
      },
      "id": "tts",
      "name": "Generate TTS Audio",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        650,
        200
      ]
    },
    {
      "parameters": {
        "method": "POST",
        "url": "http://ai-tools:8080/youtube/extract-thumbnail",
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.body.youtube_url }}"
            }
          ]
        }
      },
      "id": "thumbnail",
      "name": "Extract Thumbnail",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 3,
      "position": [
        650,
        400
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "newsletter_title",
              "value": "\ud83d\udcf9 {{ $('transcribe').item.json.title }}"
            },
            {
              "name": "video_summary",
              "value": "{{ $('transcribe').item.json.transcription.text.substring(0, 500) }}..."
            },
            {
              "name": "audio_download",
              "value": "{{ $('tts').item.json.download_url }}"
            },
            {
              "name": "thumbnail_url",
              "value": "{{ $('thumbnail').item.json.download_url }}"
            },
            {
              "name": "duration_minutes",
              "value": "{{ Math.round($('transcribe').item.json.duration / 60) }}"
            },
            {
              "name": "word_count",
              "value": "{{ $('transcribe').item.json.transcription.text.split(' ').length }}"
            }
          ]
        }
      },
      "id": "newsletter",
      "name": "Create Newsletter",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        850,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Transcribe YouTube",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe YouTube": {
      "main": [
        [
          {
            "node": "Generate TTS Audio",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract Thumbnail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate TTS Audio": {
      "main": [
        [
          {
            "node": "Create Newsletter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Thumbnail": {
      "main": [
        [
          {
            "node": "Create Newsletter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

YouTube Newsletter Generator. Uses httpRequest. Webhook trigger; 5 nodes.

Source: https://github.com/oliverhees/ai-tools-extended/blob/33ca9d14d838202082795b717d973426bc5fd9d8/n8n-workflows/youtube-newsletter.json — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

This workflow turns a product or short-form clip description into a publishable Wouldliker sound pack. A webhook receives the clip or product description. The workflow normalizes the input into Wouldl

HTTP Request
Social Media

This workflow adds one fixed Wouldliker TikTok sound to any downstream posting or content workflow. A webhook receives an optional . The workflow defaults to when no sound is provided. It fetches the

HTTP Request
Social Media

Authenticate_instagram. Uses httpRequest. Webhook trigger; 5 nodes.

HTTP Request
Social Media

01.10 Headless Checkout Tax Liability Sync. Uses httpRequest. Webhook trigger; 5 nodes.

HTTP Request
Social Media

Agent Query Workflow (Prototype). Uses httpRequest. Webhook trigger; 3 nodes.

HTTP Request