Mindket

Cold emails and follow-ups written by GPT for a lead list

Newversion 1 · updated

Overview

An n8n workflow with a webhook that takes a list of leads, asks GPT for a short personal cold email and a follow-up for each, and saves them in a Google Sheet for review. It sends nothing.

Cold emails and follow-ups written by GPT for a lead list is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, 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, publish it and call the production address
  • Your own n8n server: the same file and steps
  • Anything that can POST JSON, such as a form tool, a script or another workflow
  • Google Sheets: one tab called Lead emails with nine named columns

Platform

Connects 2 apps

How it works

Trigger

POST request

It starts when something sends a POST request to its webhook address with:

  • A list of leads, each with at least a name, and a title, company and email if you have them
  • Optional sender details: your name, your company, a value proposition and a calendar link

Actions

  1. Builds one item for each lead and adds your sender details
  2. Asks GPT for a subject line, a body of at most 80 words and a follow-up for three days later
  3. Joins each answer to its lead
  4. Appends one row for each lead to your Google Sheet, marked as not sent
  5. Answers the request with the lead, the company and the subject line

Result

A Google Sheet of draft cold emails and follow-ups, one row for each lead, ready for you to edit and send yourself

Integrations

What you need before you start.

OpenAI

Language model

Writes the subject line, the email and the follow-up for each lead. The copy asks for gpt-6-luna.

NeedsAn OpenAI API key

Google Sheets

Spreadsheet

Appends one row for each lead.

NeedsA Google Sheets OAuth2 credential and a tab with nine named columns

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
6 steps, starting when its webhook is called
AI
1 step calls an AI model: AI: Write Cold Email
Sign-ins
Signs in to: Google Sheets
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 5 of its step types

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

About

What it is

This n8n workflow writes cold emails for a lead list you send it. You POST a list of leads to a webhook address, each with at least a name, and with a title, a company and an email if you have them. A Code step adds your sender details. GPT then writes a subject line of three to seven words, a body of at most eighty words and a follow-up for three days later. Each lead becomes a row in a Google Sheet, marked as not sent, and the webhook answers with a short summary. Six nodes run it, beside one sticky note.

Who it suits

Founders, freelancers and sales teams who prospect by hand and want a first draft for each lead. Skip it if you want emails sent for you. This one only drafts, and it works best for lists of five to twenty.

Who uses it, and how
IndustryWho uses itHow they use itExample
SalesFoundersDraft outreach for a hand-picked listA founder sends ten leads and edits the ten drafts in the sheet.
AgenciesAccount teamsTest email copy before they scale a campaignA team compares drafts for the same offer across two industries.
FreelanceConsultantsWrite a short pitch for each prospectA consultant adds a note about each company and gets a tailored opener.
RecruitingRecruitersReach out to candidates one by oneA recruiter drafts a first message and a follow-up for each candidate.

You need to know n8n and how to send a POST request: import a file, add two credentials, set a sheet and call a webhook.

Where to use it

Any n8n that can reach OpenAI and Google Sheets will run it, and so will any tool that can POST JSON.

  • n8n Cloud: import the file, publish it and call the production address
  • Your own n8n server: the same file and steps
  • Anything that can POST JSON, such as a form tool, a script or another workflow
  • Google Sheets: one tab called Lead emails with nine named columns

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Setup is two credentials, one sheet id and your sender details.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
OpenAIAn API key. The model is gpt-6-luna
Google SheetsAn OAuth2 credential and a tab called Lead emails with nine named columns, starting with Name and ending with Sent
  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 AI: Write Cold Email.
  3. Add a Google Sheets credential and select it in Save to Google Sheets. Replace <YOUR_SHEET_ID> with your sheet’s id.
  4. In Parse Lead List, change the defaults for your name, your company, your value proposition and your calendar link.
  5. Publish the workflow and POST your leads to <YOUR_N8N_HOST>/webhook/lead-emails.

How to use it

Send the leads, wait for the answer, then open the sheet. Edit each draft, send the good ones from your own mail and change Sent to Yes.

What to change for a different result
To changeWhere
The voice and the rules of the emailThe system message in AI: Write Cold Email
The sender detailsThe defaults in Parse Lead List, or fields in the request
What the model knows about a leadindustry, company_description, linkedin_url and notes on each lead
The columnsThe mapping in Save to Google Sheets, and row 1 of your tab

Example

You send one lead with a short request body.

{"leads": [{"name": "Dana Lee", "email": "dana@example.com", "title": "Head of Operations", "company": "Northwind"}], "sender_name": "Sam", "sender_company": "Acme", "value_prop": "We cut invoice processing time."}

The sheet gets a row for Dana with a subject line, a personal email under eighty words, a follow-up, the time and Sent set to No. The webhook answers with the lead, the company and the subject line.

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. This one waits for a request, writes the emails and saves them. Start with one lead and read its row.

For experts. A single webhook starts the run and answers it only after the emails are written.

Where to look closer
NodeWhat it doesWhat to know
Receive Lead DataPOST webhook that answers from a nodeThe path is lead-emails
Parse Lead ListBuilds one item per leadIt reads leads or treats the body as one lead
AI: Write Cold EmailOpenAI node with JSON outputThe answer comes back as an object
Merge Lead + EmailPairs each answer with its leadIt handles every lead of a request
Save to Google SheetsAppends the rowsRow 1 must hold the nine names

Good to know

The webhook is open, so anyone with its address can spend your OpenAI credit.

  • Safety: unpublish the workflow when you do not use it, or set Header Auth on Receive Lead Data and send the header with each request
  • Fixes: the AI step used a node type that does not exist at that version, so it is now n8n’s OpenAI node. The original also saved only one lead per request, used require('crypto'), which n8n refuses by default, and read environment variables that n8n Cloud does not offer
  • Model: gpt-4o-mini shuts down on 14 January 2027, so this copy asks for gpt-6-luna and leaves out the temperature and the token limit
  • Cost and data: each lead is one call to OpenAI, and the answer waits for all of them
  • Follow-up: its subject is written but not saved, so the sheet keeps only its text
  • Sending: nothing is sent, and the rules for cold email depend on where your leads live
  • Not run: Mindket did not run it against OpenAI or Google Sheets
  • Credentials: the JSON holds none

README and files

README

Cold emails and follow-ups written by GPT for a lead list

An n8n workflow that writes a first cold email and one follow-up for every lead you send it. You POST a list of leads to a
webhook address. For each lead, a model writes a short subject line, a personal email and a follow-up for three days later.
The workflow saves them in a Google Sheet for you to review. It sends nothing.

What is inside

  • workflow.json: the workflow as n8n exports it, seven nodes. One is a sticky note. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

  • The AI step was an n8n-nodes-base.openAi node at version 1.8. That node type only exists at versions 1 and 1.1, and
    its options differ. AI: Write Cold Email is now n8n's OpenAI node, which has version 1.8, with its Message a Model
    operation and JSON output turned on.
  • The model was gpt-4o-mini, which OpenAI shuts down on 14 January 2027. It now asks for gpt-6-luna, the replacement
    OpenAI names. The temperature of 0.7 and the limit of 800 tokens are gone: the model's page does not list a temperature
    setting, and OpenAI counts a reasoning model's thinking against the output limit.
  • Merge Lead + Email used the first answer only. A request with several leads would have saved one row. It now pairs
    every answer with its lead.
  • Parse Lead List called require('crypto'), which n8n's code runner refuses unless the instance allows it. The
    requestId is now the execution id and the lead's position.
  • The sender name, company, value proposition and calendar link could come from four environment variables. Only a
    self-hosted n8n can set them, so the code now reads the request and falls back to plain defaults that you can edit.
  • The sheet id came from an environment variable. It is now the placeholder <YOUR_SHEET_ID>. The sheet node also lacked
    its column list, which current n8n requires, so it now lists its nine columns. The tab is called Lead emails.
  • The webhook path was the author's product name. It is now lead-emails, and the webhook id is gone.

Before you start

  • An OpenAI API key.
  • A Google account for a Google Sheets OAuth2 credential, and a Google Sheet with a tab called Lead emails. Row 1 holds
    these names: Name, Email, Title, Company, Subject Line, Email Body, Follow-up, Generated At and Sent.
    If one is missing, the sheet step stops.

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 AI: Write Cold Email.
  3. Add a Google Sheets OAuth2 credential and select it in Save to Google Sheets. Replace <YOUR_SHEET_ID> with your
    sheet's id, the part of its address between /d/ and /edit.
  4. In Parse Lead List, change the defaults for the sender name, the company, the value proposition and the calendar
    link, or send them in each request.
  5. Publish the workflow. Send a POST request to <YOUR_N8N_HOST>/webhook/lead-emails with a JSON body like the one in
    the example. While you test, use the test address <YOUR_N8N_HOST>/webhook-test/lead-emails after choosing Execute
    workflow.

How a run goes

  1. Receive Lead Data takes the POST and waits for the workflow to answer.
  2. Parse Lead List reads leads from the body, or treats the body as one lead. A lead needs at least a name.
    It adds the sender details and stops with a clear message when the list is empty.
  3. AI: Write Cold Email asks the model for JSON: a subject line of 3 to 7 words, an email body of at most 80 words, and
    a follow-up of 30 to 50 words for three days later.
  4. Merge Lead + Email joins each answer to its lead.
  5. Save to Google Sheets appends a row for each lead, with Sent set to No, and Respond: Success answers the request
    with the lead, the company and the subject line.

Change the result

  • The voice and the rules of the email: the system message in AI: Write Cold Email.
  • The sender details: the defaults in Parse Lead List, or sender_name, sender_company, value_prop and
    calendar_link in the request.
  • The extra facts the model can use: industry, company_description, linkedin_url and notes on each lead.
  • The columns: the mapping in Save to Google Sheets and row 1 of your tab.

Good to know

  • The webhook has no authentication, as in the original copy. Anyone who knows the address can spend your OpenAI credit.
    Unpublish the workflow when you do not use it, or set a Header Auth credential on the Receive Lead Data node and send
    the header with each request.
  • Nothing is sent. The sheet only holds drafts, and the Sent column starts as No.
  • Each lead is one model call, and the request waits until all of them are done. The sticky note suggests lists of 5 to 20.
  • The follow-up's subject is written by the model but not saved. The sheet keeps only the follow-up's text.
  • The model may state things about a lead that are not true. Read each email before you send it, and follow the rules for
    cold email in the countries where your leads live.
  • Mindket did not run this workflow against OpenAI or Google Sheets. These notes follow n8n's published node code and
    OpenAI's pages, read on 12 November 2026, and the two Code steps were run on sample leads on a local computer.
Files
NOTICE.md  621 B
README.md  5 KB
workflow.json  10 KB

3 files, 16 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

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