---
title: "YouTube video turned into a branded email newsletter"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/a88993d4-8536-452a-942a-0a69b4c85559"
updated: "2026-11-09"
---

# YouTube video turned into a branded email newsletter

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a form for a brand, its website and one YouTube video. Apify fetches the transcript and thumbnail, OpenAI writes a news-style article in the brand’s colors, and Gmail mails it to each address in your Google Sheet.

YouTube video turned into a branded email newsletter is an n8n workflow in the Marketing \& SEO category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-09. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow turns one YouTube video into an email newsletter that looks like the brand’s own. A form takes the brand’s name, its website and the video’s link. Two Apify Actors fetch the transcript and the thumbnail, and gpt-4.1 rewrites the transcript as a short news article. The same model reads the brand’s homepage for four colors and the logo, which ConvertAPI turns from SVG into PNG. Each subscriber in your Google Sheet then gets an HTML email from your Gmail, greeted by name. Twenty-three nodes run it, beside a sticky note with its title.

### Who it suits

Creators, course teams and marketers who publish on YouTube, keep their email list in a Google Sheet and send from a Gmail account of their own. No more writing a recap by hand after each upload. Skip it if you want to read every issue before it goes out. As imported, the emails leave the moment they are written.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Online education | Course creators | Send each new lesson video to their students as a written recap | A coding teacher’s Tuesday tutorial reaches the class by email the same day. |
| Software | Product marketers | Turn a feature demo or a webinar recording into a customer update | A SaaS team mails its monthly walkthrough to its beta users. |
| Marketing agencies | Content managers | Run a client’s video with the client’s website, so the email wears the client’s colors | An agency sends a dental clinic’s explainer to the clinic’s patient list. |
| Creators | YouTubers with a newsletter | Reach readers who would rather read than watch | A personal finance channel mails each week’s video as an article. |

You need solid n8n for this one: five credentials or tokens, a sheet with two tabs and a careful first test. Its author puts setup at about 18 minutes, with the accounts ready.

### Where to use it

Any n8n that can reach OpenAI, Apify, ConvertAPI and Google will run it. The issue lands in each subscriber’s inbox, and a copy goes into the sheet.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file and steps
- Gmail: each subscriber gets the issue from your own address
- Google Sheets: the first tab keeps the subject and the HTML of every email sent

### How to set it up

Get it saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Build the sheet before you import it.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key. The writing and reading steps use \`gpt-4.1\`, the email step \`gpt-4.1-mini\` |
| Apify | An account and its API token, for two Actors from its store |
| ConvertAPI | An account and its API token, for the logo |
| Google | One account for a Google Sheets OAuth2 credential and a Gmail OAuth2 credential |
| A sheet | A tab named \`Subscribers List\` and a first tab for the log |

The sheet’s two tabs

| Tab | Columns |
| --- | --- |
| \`Subscribers List\` | \`Email\` and \`Name\`, one row for each reader |
| The first tab | \`Email\`, \`Message\`, \`Email Created At\` and \`Email Send At\`. The workflow fills them, and \`Email\` holds the subject line |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Make the sheet with its two tabs, then copy its ID: the long part of its address between `/d/` and `/edit`.
3. Add a Google Sheets OAuth2 credential. Select it in `Get row(s) in sheet` and `Save Newsletter Draft in Google Sheet`, and replace `YOUR_SHEET_ID` in both with the ID.
4. Add an OpenAI credential and select it in `OpenAI Chat Model1` and `OpenAI Chat Model2`.
5. In the Authorization headers of `You Tube Transcript Scraper` and `You Tube Transcript Scraper1`, replace `<YOUR_APIFY_TOKEN>` with your Apify token. In `HTTP Request4`, replace `<YOUR_CONVERTAPI_TOKEN>` with your ConvertAPI token. The brackets go, and Bearer and its space stay.
6. Add a Gmail OAuth2 credential and select it in `Sending Emails to all the Subscribers`.
7. Put only your own addresses in `Subscribers List`. Save, then send a test through the form’s test address.
8. Read the test emails, then press Publish.

### How to use it

Open the form, type the brand’s name and website, and paste the video’s YouTube link. Send it. The form confirms at once. The run fetches, writes and then mails each subscriber in turn. A long list takes a while. Each email also lands as a row in the sheet’s first tab.

What to change for a different result

| To change | Where |
| --- | --- |
| The article’s voice | The system message of \`AI Agent2\`, which asks for a journalist’s tone with no hype and no emoji |
| Layout, greeting and footer | The HTML template inside the system message of \`Convert Newsletter to HTML (AI)\` |
| Length | The same message caps an issue at 1,000 words |
| Colors | \`AI Agent1\` picks four from the homepage, and only text takes them |
| Models | \`gpt-4.1\` in \`OpenAI Chat Model1\`, \`gpt-4.1-mini\` in \`OpenAI Chat Model2\` |

### Example

A coding school sends its name, its website and the link to a new tutorial on pricing a first online course. Its homepage logo is an SVG. The site runs on deep blue and orange.

Each subscriber gets one email. The logo sits at the top. Under it are a heading with the school’s name and the video’s thumbnail, linked to the video. Below come a greeting with the reader’s name, the article and a footer in the school’s colors. The sheet’s first tab gets one row for each reader, the subject in `Email` and the HTML in `Message`.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Four lines leave the form and run side by side: colors, logo, transcript and thumbnail. They meet at `Merge`, and `Loop Over Items` then handles one subscriber at a time. Test with your own address first. Then open `AI Agent2` to read the article it wrote.

**For experts.** The email step reads the merged data by position. Keep `Merge`’s inputs in their order.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Merge\` and \`Aggregate\` | Wait for the four branches and fold them into one list, \`output\` | The HTML step reads \`output\[0\]\` for the logo, \`\[1\]\` the colors, \`\[2\]\` the article and \`\[3\]\` the thumbnail |
| \`Information Extractor\` | Finds the logo’s address in the homepage’s raw HTML | A relative address such as \`/logo.svg\` fails at \`HTTP Request3\` |
| \`HTTP Request4\` | Sends the logo to ConvertAPI’s SVG to PNG converter with \`StoreFile\` on | The email shows ConvertAPI’s download link |
| \`Loop Over Items\` | Takes one subscriber per pass | The HTML is written again for every reader, so the wording can differ |

### Good to know

Nothing waits for your review. The logo link also expires.

- No review: each subscriber’s email goes out as soon as \`gpt-4.1-mini\` writes it. Test with your own addresses first
- The logo: ConvertAPI’s link to the PNG works for 3 hours, so an email opened later shows a broken picture. A logo that is not an SVG may stop the run at \`HTTP Request4\`
- Three topics: the HTML prompt expects three sections and a source list, but it gets one article with no links. Check any source it adds
- Models: OpenAI’s deprecations page, read on 3 November 2026, gives 14 January 2027 as the shutdown of \`gpt-4.1\` and \`gpt-4.1-mini\`, with \`gpt-6-luna\` as the replacement
- Billing: OpenAI bills three \`gpt-4.1\` calls a run plus one \`gpt-4.1-mini\` call for each subscriber. Apify bills each Actor’s result, and ConvertAPI the conversion
- Sending: Gmail caps how many messages an account sends a day, and the layout has no unsubscribe line. Add one where the law asks for it
- Open form: once the workflow is published, anyone with the form’s address can mail your whole list
- Your data: the homepage and the transcript go to OpenAI, with each subscriber’s name. The video link goes to Apify and the logo to ConvertAPI
- Keys: the Apify and ConvertAPI tokens sit in headers, so take them out before you share the workflow

## README

```markdown
# YouTube video turned into a branded email newsletter

An n8n workflow. You fill in a form with a brand's name, its website and a YouTube link. It fetches the video's
transcript and thumbnail, writes a news-style article from the transcript, dresses it in the brand's colors and logo,
and mails it from your Gmail to every reader on a Google Sheet.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 24 nodes, one of them a sticky note that holds only the workflow's
  title. It holds no credential, and it names no spreadsheet: you point it at yours.
- `README.md`: these notes.

## What we changed from the original copy

- The two Google Sheets nodes pointed at their author's spreadsheet. They now ask for `YOUR_SHEET_ID`.
  `Get row(s) in sheet` finds its tab by the name `Subscribers List`, and `Save Newsletter Draft in Google Sheet` writes
  to the first tab, `gid=0`.
- The Authorization headers of the two Apify requests and the ConvertAPI request held only the word Bearer. They now read
  `Bearer <YOUR_APIFY_TOKEN>` and `Bearer <YOUR_CONVERTAPI_TOKEN>`, so you can see where each token goes.
- A test submission saved with the form, naming a real company, is gone.
- Nothing else. The one Code node and the expressions needed no backslash repair.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key that can use `gpt-4.1` and `gpt-4.1-mini`.
- An Apify account and its API token. The workflow runs two Actors from Apify's store:
  `pintostudio/youtube-transcript-scraper` for the transcript and `codenest/youtube-thumbnail-scraper-downloader` for
  the thumbnail.
- A ConvertAPI account and its API token.
- A Google account for Google Sheets and Gmail.
- A spreadsheet with two tabs (below).

## Prepare the sheet

| Tab | Columns | What the workflow does with it |
|---|---|---|
| `Subscribers List` | `Email`, `Name` | Reads every row. `Email` is where the issue goes, and `Name` follows "Hi" in the greeting |
| The first tab | `Email`, `Message`, `Email Created At`, `Email Send At` | Adds a row for each email sent. `Email` holds the subject line, `Message` the HTML, and both dates the time of the run |

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Make the sheet, then copy its ID: the long part of its address between `/d/` and `/edit`.
3. Add a Google Sheets OAuth2 credential. Select it in `Get row(s) in sheet` and `Save Newsletter Draft in Google Sheet`,
   and replace `YOUR_SHEET_ID` in both with the ID.
4. Add an OpenAI credential and select it in `OpenAI Chat Model1` and `OpenAI Chat Model2`.
5. Open `You Tube Transcript Scraper` and `You Tube Transcript Scraper1`. In each Authorization header, replace
   `<YOUR_APIFY_TOKEN>` with your Apify token, brackets included. Keep the word Bearer and the space after it.
6. Do the same in `HTTP Request4` with `<YOUR_CONVERTAPI_TOKEN>` and your ConvertAPI token.
7. Add a Gmail OAuth2 credential and select it in `Sending Emails to all the Subscribers`.
8. Put two or three of your own addresses in `Subscribers List` and save. Send a test through the form's test address.
9. Read the emails you get. When they look right, add your readers and press Publish.

## How a run goes

1. `On form submission` is the form, titled `Newsletter`, with three required fields: `Brand Name`, `Brand Website`
   and `You Tube Video Link`. It confirms as soon as it is sent.
2. Four branches start at once:
   - `HTTP Request2` fetches the homepage, and `AI Agent1` picks a primary, a secondary, an accent and a background
     color from its HTML. `Structured Output Parser2` holds the reply to those four.
   - `HTTP Request5` fetches the homepage again, and `Information Extractor` finds the logo's address in it.
     `HTTP Request3` downloads the logo, and `HTTP Request4` sends it to ConvertAPI's SVG to PNG converter, which answers
     with a link to the PNG.
   - `You Tube Transcript Scraper` runs the transcript Actor. `Code in JavaScript` joins the `text` of every piece in
     the first item's `data`, and `AI Agent2` rewrites that transcript as a news-style article.
   - `You Tube Transcript Scraper1` runs the thumbnail Actor, and `Edit Fields` keeps `Thumbnail` and the video's link.
3. `Merge` waits for all four, and `Aggregate` puts them in one list called `output`: the logo first, then the colors,
   the article and the thumbnail.
4. `Get row(s) in sheet` reads every row of `Subscribers List`, and `Loop Over Items` takes them one at a time.
5. For each reader, `Convert Newsletter to HTML (AI)` builds the email from the article and a fixed HTML template, with
   a subject line. `Structured Output Parser1` holds the reply to `subject` and `content`.
6. `Save Newsletter Draft in Google Sheet` adds the row to the first tab, and `Sending Emails to all the Subscribers`
   mails it from Gmail. The loop then moves on to the next reader.

`AI Agent1`, `Information Extractor` and `AI Agent2` all run on `gpt-4.1` through `OpenAI Chat Model1`. The email step
runs on `gpt-4.1-mini` through `OpenAI Chat Model2`.

## Change the look

- The article: the system message of `AI Agent2`. It asks for a journalist's voice, no emoji and nothing that is not in
  the transcript.
- Layout, greeting and footer: the HTML template inside the system message of `Convert Newsletter to HTML (AI)`. Only the
  text colors follow the brand. The footer's two lines are written there, and the same message caps an issue at 1,000
  words.
- The logo: if your brand's logo is not an SVG, change `svg` in the address of `HTTP Request4` to its format, or put a
  lasting PNG address straight into the `img` tag of the template.
- Models: `gpt-4.1` in `OpenAI Chat Model1` and `gpt-4.1-mini` in `OpenAI Chat Model2`.
- Order: the template reads the merged list by position, `output[0]` to `output[3]`. Keep `Merge`'s inputs in that
  order if you rewire it.

## Good to know

- Nothing waits for review. Each reader's email goes out as soon as it is written, so test with your own addresses.
- The email step runs once for every reader. A long list is a long run, and the wording can differ a little from one
  reader to the next.
- ConvertAPI's link to the PNG works for 3 hours, its getting-started page says. An email opened after that shows a
  broken logo. A logo hosted at a lasting address avoids it.
- `Information Extractor` reads the raw HTML. A relative logo address such as `/logo.svg` fails at `HTTP Request3`, and
  a logo that is not an SVG may fail at ConvertAPI.
- The HTML prompt was written for three topics with sources. It receives one article without links, so check any
  source link it adds.
- OpenAI's deprecations page, read on 3 November 2026, gives 14 January 2027 as the shutdown date of `gpt-4.1` and
  `gpt-4.1-mini`, and names `gpt-6-luna` as the replacement. Change the model in both chat model nodes before then.
- Billing: OpenAI bills three `gpt-4.1` calls a run, the homepage twice and the transcript once, plus one `gpt-4.1-mini`
  call for each reader. On 3 November 2026, Apify listed the transcript Actor at $0.01 a result and the thumbnail Actor
  at $0.008 a thumbnail. ConvertAPI bills each conversion.
- Gmail limits how many messages one account sends a day. For a large list, use a sender built for bulk mail.
- Gmail's node adds a line saying the email was sent with n8n. Turn off Append n8n Attribution in its options to drop it.
- The layout has no unsubscribe line. Add one to the footer where the law asks for it.
- Once the workflow is published, anyone with the form's address can start a run that spends your keys and mails your
  whole list. The form trigger can ask for a username and password.
- The Apify and ConvertAPI tokens sit in header fields, not in credentials, so they travel with any export. Take them out
  before you share the workflow.
- The homepage and the transcript go to OpenAI, and so does each reader's name. The video link goes to Apify and the
  logo to ConvertAPI.
```

## What is in it

2 files, 34 KB, downloaded as a zip.

```text
README.md  8 KB
workflow.json  26 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 19 steps, starting on a form
- AI: 4 steps call an AI model: Information Extractor, Convert Newsletter to HTML (AI), AI Agent1 and AI Agent2
- Sign-ins: Signs in to: Google Sheets, Gmail, OpenAI, ConvertAPI and Apify
- API keys: No API key is left in the file; 2 blanks in it for your own key
- Step types: Mindket’s checker reads all 11 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/a88993d4-8536-452a-942a-0a69b4c85559)
- [Its page on Mindket](https://mindket.com/p/a88993d4-8536-452a-942a-0a69b4c85559)
