Mindket

Branded newsletter writer and sender

Newversion 2 · updated

Overview

An n8n workflow that writes a three-section newsletter on a topic you type and emails it to every address on a Google Sheet. Tavily finds the week’s news, OpenAI writes the sections, and the brand’s own colors and logo are read from its website.

Branded newsletter writer and sender is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 2, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file, the same steps
  • Your subscribers’ inboxes: each issue goes out from the Gmail account you connect
  • Another email tool: the finished HTML is kept in the log tab, so you can paste an issue into a tool you prefer

Platform

Connects 5 apps

How it works

Trigger

Newsletter form

It starts when someone sends the Newsletter form with:

  • The brand’s name, in Brand Name
  • The brand’s website address, in Brand Website
  • The topic to cover, in Query

Actions

  1. Tavily searches the past week’s news on your topic, and an OpenAI agent picks a title and three sub-topics
  2. Each sub-topic is searched again and an agent writes its section, with source links
  3. The brand’s homepage is read for four color codes and a logo, which ConvertAPI turns into a PNG
  4. For each address in the sheet, an agent sets the sections into an HTML layout in the brand’s colors
  5. Gmail sends the issue, and Google Sheets logs it

Result

A newsletter with the brand’s logo and colors, emailed to every subscriber on your sheet

Integrations

What you need before you start.

OpenAI

Language model

Runs gpt-4.1-mini for the topic planner, the section writer, the color reader, the logo finder and the agent that builds each issue’s HTML.

NeedsOpenAI API key

Tavily

Web search

Searches the past week’s news on your topic, then searches each of the three sub-topics for the section’s sources.

NeedsTavily API key, in the header of two nodes

ConvertAPI

File conversion

Converts the brand’s logo to a PNG and gives back the link that the email’s logo points to.

NeedsConvertAPI secret, in the header of one node

Google Sheets

Subscriber list and log

Reads the subscribers’ names and addresses, and adds a row for every issue it sends.

NeedsA Google account, the spreadsheet’s id and the Subscribers tab’s id

Gmail

Email

Sends the issue to each address from your own account.

NeedsA Google account that may send mail

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
20 steps, starting on a form
AI
5 steps call an AI model: Information Extractor, Convert Newsletter to HTML, Website scrape, Generate Topics and Generate Content
Sign-ins
Signs in to: Google Sheets, Gmail, OpenAI, Tavily and ConvertAPI
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 10 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow writes a newsletter from three details typed into a form: the brand’s name, its website and a topic. It then emails the issue to every address on a Google Sheet. Tavily searches the past week’s news on your topic, and an OpenAI agent turns the results into a title and three sub-topics. Each sub-topic gets a search of its own and a section with source links. Meanwhile the brand’s homepage is read for four color codes and a logo, which ConvertAPI converts to a PNG. For each subscriber, a last agent sets the sections into a fixed HTML layout in the brand’s colors, Google Sheets logs the issue and Gmail sends it.

Who it suits

Small brands, clubs and consultancies that send a regular roundup and want each issue to match their site without hiring a designer. Agencies suit it too, with one copy per client and that client’s own sheet.

Who uses it, and how
IndustryWho uses itHow they use itExample
Professional servicesAccountants, consultants and their marketing staffType the firm’s site and the month’s topic, then mail the issue to the client listAn accounting firm enters “small business tax changes” and mails its clients an update in the firm’s colors.
SoftwareProduct marketersSend customers a short roundup of news in the field the product sits inA project-tool company mails its users three items on remote-team news without writing a line.
EducationCourse creators and training schoolsKeep students in touch between classesA coding school sends each cohort a weekly roundup of developer news.
Clubs and associationsVolunteers who run a member listTurn a topic into an issue with the club’s logo on itA running club mails its members a roundup of race and gear news.
Marketing agenciesAccount managersRun one copy per client, each with its own sheetAn agency sets up a copy for every client, and each client fills in the form alone.

You need some n8n: importing a file, adding five kinds of credentials and preparing a two-tab sheet. If that is new and you would rather not learn it, skip this one. The page it came from estimates close to 20 minutes, which assumes every account and key already exists.

Where to use it

Any n8n you run will do, as long as it can reach OpenAI, Tavily, ConvertAPI, Google and the brand’s website.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file, the same steps
  • Your subscribers’ inboxes: each issue goes out from the Gmail account you connect
  • Another email tool: the finished HTML is kept in the log tab, so you can paste an issue into a tool you prefer

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Have these ready before you import it.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key
TavilyAn API key
ConvertAPIA secret from your ConvertAPI account
GoogleOne account for Gmail and Google Sheets, and a spreadsheet with a subscribers tab and a log tab
The two tabs the sheet needs
TabColumnsWhat the workflow does with it
SubscribersEmail, NameReads every row. Email is where an issue goes, and Name fills its greeting
Log, the first tabEmail, Message, Email Created At, Email Send AtAdds a row for every issue it sends. Email holds the subject line and Message the HTML
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add an OpenAI credential and select it in OpenAI and in OpenAI Chat Model6.
  3. Open Tavily and Tavily1. In each Authorization header, swap <YOUR_TAVILY_KEY> for your key and keep the word Bearer and its space before it.
  4. Do the same in Convertor with <YOUR_CONVERTAPI_SECRET>.
  5. Add a Google Sheets credential. In Get row(s) in sheet and in Save Newsletter, select it and replace YOUR_SHEET_ID with the long id in your spreadsheet’s address, between /d/ and /edit.
  6. In Get row(s) in sheet, replace YOUR_SUBSCRIBERS_TAB_ID with the number after gid= in the Subscribers tab’s address. Save Newsletter writes to the first tab, gid=0.
  7. Add a Gmail credential and select it in Sending Emails.
  8. Put two or three addresses of your own in the Subscribers tab, save, send a test through the form’s test address, then press Publish.

The logo step expects an ai file. The address in Convertor ends in /convert/ai/to/png. ConvertAPI reads the source and target formats from that address, so a logo that is an SVG or a JPG needs the address changed to match.

How to use it

Open the form from On form submission, fill in Brand Name, Brand Website and Query, all required, and send it. The form confirms at once. The run goes on behind it: the research and the color study first, then a styled issue, a log row and an email for each subscriber. Open the run under Executions to follow it.

What to change for a different result
To changeWhere
How recent and how deep the news istime_range and search_depth in the body of Tavily. Tavily1 sends only the topic, so add them there to narrow the second search too
The voice of each sectionThe system message of Generate Content
Layout, greeting and footerThe HTML skeleton inside the system message of Convert Newsletter to HTML. Only text colors adapt to the brand, the layout stays as written
Issue lengthThe same message caps an issue at 1,000 words
Modelgpt-4.1-mini in OpenAI and OpenAI Chat Model6

Example

A form entry for a coffee roaster:

Brand Name: Harbor Coffee Roasters
Brand Website: https://harborcoffee.example
Query: specialty coffee prices and cafe trends

Generate Topics answers in the parser’s shape, which insists on exactly three topics:

{
  "title": "…",
  "topics": ["…", "…", "…"]
}

Website scrape returns the colors the same way, and Convert Newsletter to HTML returns the issue as a subject and an HTML body:

{
  "primary_color": "…",
  "secondary_color": "…",
  "accent_color": "…",
  "background_color": "…"
}
{
  "subject": "…",
  "content": "<html>…</html>"
}

Each subscriber receives the logo, the title in the primary color, a greeting by name and an introduction that gives the date. Then come three sections with Source links, a sources list sorted by publication, a closing note and a footer.

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. A credential is a key n8n keeps for you and hands to the node you pick it in. Run the form from its test address with a sheet that holds only your own addresses. Open that run under Executions and each node shows what it received and what it sent, so a bad key or a wrong tab turns up there.

For experts. Three inputs meet in Merge: the logo, the color study and the sections, in that order. Convert Newsletter to HTML reads them by position (output[0], output[1], output[2]), so keep the order if you rewire it.

Where the AI steps run
StepModelWhat to know
Generate Topicsgpt-4.1-mini through OpenAIThe parser accepts exactly three topics, so every run adds three more searches to the first one
Generate ContentThe same modelRuns once per topic and is told to cite only real sources
Website scrape and Information ExtractorThe same modelRead the homepage HTML as the server sends it, so a site that builds its page in the browser may leave them little to read
Convert Newsletter to HTMLgpt-4.1-mini through OpenAI Chat Model6Runs once per subscriber, and the loop sends one email per pass

Good to know

Each run costs money and the mail leaves your own account, so test on your own addresses first.

  • Billing: OpenAI, Tavily and ConvertAPI each bill their own part. A run makes four searches and one HTML pass for every subscriber
  • A long list is a long run: the HTML agent runs again for each address, so the wording can differ a little between readers, and the log gets a row for each
  • Sending limits: Gmail caps how many messages one account sends in a day, so a large list needs a sender built for bulk mail
  • Unsubscribe: the layout has no unsubscribe line, so add one to the footer if the law where your readers live asks for it
  • Open form: once it is published, anyone with the form’s address can start a run on your keys and mail your list. Turn on the form trigger’s basic authentication or keep the address private
  • Keys: the Tavily and ConvertAPI keys sit in header fields, not in credentials, so they travel with any export of the workflow
  • Sources and logo: the agents are told to cite only real sources, so read the first issues before the list gets them. The logo in each email is a link to the copy ConvertAPI stores, so check how long it keeps it
  • A repair: the page’s copy of the file had lost the backslashes of three line breaks. The expressions that join the research and the sections joined them with the letter n. Mindket put them back
  • Credentials: the JSON holds none, and nothing from its author’s account

README and files

README

Branded newsletter writer and sender

An n8n workflow. Fill in a form with a brand's name, its website and a topic. It researches the topic, writes a
three-section newsletter in the brand's colors and emails it to every address on a Google Sheet.

What is inside

  • workflow.json: the workflow as n8n exports it, 26 nodes, one of them a sticky note. It holds no credential, and it
    names no spreadsheet: you point it at yours.
  • README.md: these notes.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • An OpenAI API key.
  • A Tavily API key.
  • A ConvertAPI secret.
  • A Google account for Gmail and Google Sheets.
  • A spreadsheet with two tabs (below).

Prepare the sheet

| Tab | Columns | What the workflow does with it |
|---|---|---|
| Subscribers | Email, Name | Reads every row. Email is where an issue goes, and Name fills the greeting |
| Log, the first tab | Email, Message, Email Created At, Email Send At | Adds a row for every issue it sends. Email holds the subject line and Message the HTML |

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add an OpenAI credential and select it in OpenAI and in OpenAI Chat Model6.
  3. Open Tavily and Tavily1. In each Authorization header, swap <YOUR_TAVILY_KEY> for your key. Keep the word
    Bearer and the space after it.
  4. Do the same in Convertor with <YOUR_CONVERTAPI_SECRET>.
  5. Add a Google Sheets credential. In Get row(s) in sheet and in Save Newsletter, select it and replace
    YOUR_SHEET_ID with the long id in your spreadsheet's address, between /d/ and /edit.
  6. In Get row(s) in sheet, replace YOUR_SUBSCRIBERS_TAB_ID with the number after gid= in the Subscribers tab's
    address. Save Newsletter writes to the first tab, gid=0. If your log is on another tab, change it to that
    tab's gid= number.
  7. Add a Gmail credential and select it in Sending Emails.
  8. Put two or three addresses of your own in the Subscribers tab and save. Send a test through the form's test
    address, then press Publish at the top of the canvas (or Shift+P).

The logo step

Convertor posts the brand's logo file to https://v2.convertapi.com/convert/ai/to/png. ConvertAPI names the source
and target formats in that address, so the step suits a logo that is an ai file. For an SVG or a JPG, change the
ai part of the address to the logo's format. The email's logo is the link ConvertAPI returns for the converted file
(Files[0].Url).

Change the look

  • News window: time_range and search_depth sit in the body of Tavily. Tavily1 sends only the topic, so add
    them there to narrow the second search too.
  • Voice: edit the system message of Generate Content for the sections and Generate Topics for the title and topics.
  • Layout, greeting and footer: the HTML skeleton is inside the system message of Convert Newsletter to HTML. Only
    text colors adapt to the brand. The same message caps an issue at 1,000 words.
  • Model: gpt-4.1-mini in the two OpenAI nodes.
  • Order: Merge joins the logo, the colors and the sections in that order, and Convert Newsletter to HTML reads
    them by position (output[0], output[1], output[2]). Keep the order if you rewire it.

Good to know

  • The form answers as soon as it is sent. The run then researches once and writes an HTML issue for every subscriber,
    so a long list is a long run. The wording can differ a little from one reader to the next, and the log gets a row
    for each.
  • A run makes four searches: one for the topic and one for each of the three sub-topics. OpenAI, Tavily and ConvertAPI
    each bill their part.
  • Gmail limits how many messages one account sends a day. For a large list, use a sender built for bulk mail.
  • The layout has no unsubscribe line. Add one to the footer if the law where your readers live 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
    list. The form trigger can ask for a username and password.
  • The Tavily and ConvertAPI keys sit in header fields, not in credentials, so they travel with any export of the
    workflow. Take them out before you share it.
  • The agents are told to cite only real sources. Read the first issues before the list gets them.
  • The brand's homepage goes to OpenAI and the logo to ConvertAPI, which stores the converted file. Check how long it
    keeps it before you rely on the logo link in an old issue.
  • The copy Mindket started from had lost the backslashes of three line breaks, in the expressions of Generate Topics,
    Generate Content and Convert Newsletter to HTML that join the research and the sections. They joined with the
    letter n. Mindket put the line breaks back.
Files
README.md  5 KB
workflow.json  26 KB

2 files, 30 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Marketing & SEO

See all in Marketing & SEO

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

Licon MSR for LTX-2.5

LiconStudio · Kit

Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…

New