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…
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.
POST request
It starts when something sends a POST request to its webhook address with:
A Google Sheet of draft cold emails and follow-ups, one row for each lead, ready for you to edit and send yourself
What you need before you start.
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
Spreadsheet
Appends one row for each lead.
NeedsA Google Sheets OAuth2 credential and a tab with nine named columns
Checked by Mindket on 13 Nov 2026
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.
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.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Sales | Founders | Draft outreach for a hand-picked list | A founder sends ten leads and edits the ten drafts in the sheet. |
| Agencies | Account teams | Test email copy before they scale a campaign | A team compares drafts for the same offer across two industries. |
| Freelance | Consultants | Write a short pitch for each prospect | A consultant adds a note about each company and gets a tailored opener. |
| Recruiting | Recruiters | Reach out to candidates one by one | A 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.
Any n8n that can reach OpenAI and Google Sheets will run it, and so will any tool that can POST JSON.
Lead emails with nine named columnsDownload 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.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key. The model is gpt-6-luna |
| Google Sheets | An OAuth2 credential and a tab called Lead emails with nine named columns, starting with Name and ending with Sent |
workflow.json.AI: Write Cold Email.Save to Google Sheets. Replace <YOUR_SHEET_ID> with your sheet’s id.Parse Lead List, change the defaults for your name, your company, your value proposition and your calendar link.<YOUR_N8N_HOST>/webhook/lead-emails.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.
| To change | Where |
|---|---|
| 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 fields in the request |
| What the model knows about a lead | 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 |
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.
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.
| Node | What it does | What to know |
|---|---|---|
Receive Lead Data | POST webhook that answers from a node | The path is lead-emails |
Parse Lead List | Builds one item per lead | It reads leads or treats the body as one lead |
AI: Write Cold Email | OpenAI node with JSON output | The answer comes back as an object |
Merge Lead + Email | Pairs each answer with its lead | It handles every lead of a request |
Save to Google Sheets | Appends the rows | Row 1 must hold the nine names |
The webhook is open, so anyone with its address can spend your OpenAI credit.
Receive Lead Data and send the header with each requestrequire('crypto'), which n8n refuses by default, and read environment variables that n8n Cloud does not offergpt-4o-mini shuts down on 14 January 2027, so this copy asks for gpt-6-luna and leaves out the temperature and the token limitAn 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.
workflow.json: the workflow as n8n exports it, seven nodes. One is a sticky note. It holds no credential.README.md: these notes.n8n-nodes-base.openAi node at version 1.8. That node type only exists at versions 1 and 1.1, andAI: Write Cold Email is now n8n's OpenAI node, which has version 1.8, with its Message a Modelgpt-4o-mini, which OpenAI shuts down on 14 January 2027. It now asks for gpt-6-luna, the replacementMerge Lead + Email used the first answer only. A request with several leads would have saved one row. It now pairsParse Lead List called require('crypto'), which n8n's code runner refuses unless the instance allows it. TherequestId is now the execution id and the lead's position.<YOUR_SHEET_ID>. The sheet node also lackedLead emails.lead-emails, and the webhook id is gone.Lead emails. Row 1 holdsName, Email, Title, Company, Subject Line, Email Body, Follow-up, Generated At and Sent.workflow.json.AI: Write Cold Email.Save to Google Sheets. Replace <YOUR_SHEET_ID> with your/d/ and /edit.Parse Lead List, change the defaults for the sender name, the company, the value proposition and the calendar<YOUR_N8N_HOST>/webhook/lead-emails with a JSON body like the one in<YOUR_N8N_HOST>/webhook-test/lead-emails after choosing ExecuteReceive Lead Data takes the POST and waits for the workflow to answer.Parse Lead List reads leads from the body, or treats the body as one lead. A lead needs at least a name.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, andMerge Lead + Email joins each answer to its lead.Save to Google Sheets appends a row for each lead, with Sent set to No, and Respond: Success answers the requestAI: Write Cold Email.Parse Lead List, or sender_name, sender_company, value_prop andcalendar_link in the request.industry, company_description, linkedin_url and notes on each lead.Save to Google Sheets and row 1 of your tab.Receive Lead Data node and sendSent column starts as No.NOTICE.md 621 B README.md 5 KB workflow.json 10 KB
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…
LibertAIDAI · Kit
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…
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…
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…
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…
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…