This workflow follows the Gmail → Googlesheetstrigger recipe pattern — see all workflows that pair these two integrations.
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 →
{
"name": "Cold Emails Generator and Sender",
"nodes": [
{
"parameters": {
"modelId": {
"__rl": true,
"value": "gpt-4.1",
"mode": "list",
"cachedResultName": "GPT-4.1"
},
"messages": {
"values": [
{
"content": "=The Prospective Brand info:\n\nThe Name of The Brand to collab with: {{ $json.Name }}\n\nThe Brand's Product/Service: {{ $json['Product/service'] }}\n\nHas The product been used: {{ $json.Productuse }}\n\nIf yes, what did I like about the product: {{ $json.productstrength }}\n\nIf yes, my audience reception to the product: {{ $json['Audience Reception'] }}\n\nAny Info that would make me stand out to the brand: {{ $json['Additional Info'] }}"
},
{
"content": "=#Overview\nYou are an email copywriter for a lifestyle content creator named Famtam. Your job is to write personalized, brand-specific outreach emails that are warm, professional, and authentic. The goal is to introduce the creator\u2019s personal brand, highlight a genuine connection to the recipient\u2019s brand or product, and propose a potential paid collaboration. Always sign off as THE FAMTAM BRAND \n\n#Structure:\n- **Greeting** \u2013 Address the brand or recipient warmly by name. \n- **Introduction** \u2013 Briefly introduce the creator (name + personal brand + unique qualities/values). The creator's Insta is: https://www.instagram.com/p/Cyxzx2Issym/ \n- **Connection** \u2013 Mention how the creator has engaged with or admired the recipient\u2019s brand/product, ideally with a personal story, usage example, or result. This is If they have ever interacted with the brand/product \n- **Audience Fit** \u2013 Explain why the creator\u2019s audience would love the recipient\u2019s product or brand (include demographics, demand, or resonance). \n- **Paid Collaboration Intent** \u2013 Clearly but politely suggest how the creator would like to collaborate (e.g., introducing a specific product to their audience). \n- **Closing** \u2013 End with gratitude, warmth, and openness to future communication. \n\nTone: Friendly, authentic, and slightly enthusiastic, professional and straight to the point. \n\n### Instructions\n- Keep it concise (200 words). \n- Make sure the email feels personal, not copy-pasted. \n- Highlight both the creator\u2019s brand values and why the recipient\u2019s brand fits well with them. \n- Don't make use of the oxford comma or '-'\n- Don't include an email subject, just the body\n- Make use of only simple and easy to understand words.\n- Strictly make use of info given. Do not make up any information\n-The Email should be well formatted.\n\n#### Example\nMY name is Famakinwa Oluwatamilore and I own a\nunique personal brand- THE FAMTAM BRAND,\n(https://www.instagram.com/p/Cyxzx2Issym/?\nigshid=OGQ5ZDc20DK2ZA==)\n\nThe FAMTAM BRAND is a Brand that centers on\nAUTHENTICITY, CreAtivity, value and growth. it is\nan honour to virtually connect with your brand and I\nhope this meets you well.\n\nI have been a hard core fan of BEAUTYLINEBYDIDI's\nProducts since about three to four years ago. 1 introduced\nthe CLARO gloss to my audience through one of my videos\nand I got tons of compliments about the gloss.\n\nI would really love to introduce other glosses to my\naudience especially the BLACK COFFEE AND EXPRESSO\nglosses. Eighty percent of my audience are females and\nthe demand for the perfect brown lipgloss has been quite\nigh. Most ladies find it hard to outline their lips and\noutlining with any of BEAUTYLINEBYDIDl's glosses or\nlipstains makes things easier. I'm certain they would love\nit.\n\nThank you so much for your time and 1look forward to a\npositive response from the brand.\n\nCheers,\nFamTam.",
"role": "system"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.8,
"position": [
-1408,
-160
],
"id": "47583d82-4662-4dff-86d6-d8914aa1fc59",
"name": "Email Generator",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"operation": "sendAndWait",
"sendTo": "example@email.com",
"subject": "Is this good to go?",
"message": "={{ $json.Email }}",
"responseType": "freeText",
"options": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
-880,
-160
],
"id": "61b9afa5-e47f-4c23-bd8b-bdb823490049",
"name": "Human Response",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"model": {
"__rl": true,
"value": "gpt-4.1",
"mode": "list",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"typeVersion": 1.2,
"position": [
-656,
0
],
"id": "d0e0e191-80a7-4fcc-8965-a9a9c4a3bd46",
"name": "OpenAI Chat Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"modelId": {
"__rl": true,
"value": "gpt-4.1",
"mode": "list",
"cachedResultName": "GPT-4.1"
},
"messages": {
"values": [
{
"content": "=Here is the email to revise: {{ $('Email Generator').item.json.message.content }}\n\nHere is the human feedback: {{ $('Human Response').item.json.data.text }}\n\n"
},
{
"content": "=#Overview\nYou are an expert email copywriter. Your job is to take an incoming email and revise it based on the feedback the human submitted\n\n## Instructions\n- Tone: Friendly, authentic, and slightly enthusiastic, professional and straight to the point. \n- Strictly make use of the info given, don't make up any information\n- Don't make use of the oxford comma or '-'",
"role": "system"
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.openAi",
"typeVersion": 1.8,
"position": [
-320,
-32
],
"id": "38199676-ba7b-4b7e-8416-14c6a096e403",
"name": "Revision Model",
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "ebf1453a-96ae-472d-966b-8e7558eabf17",
"name": "Name",
"value": "={{ $json['Name of the brand'] }}",
"type": "string"
},
{
"id": "c473e978-256a-4f03-91d7-ee0df291da4c",
"name": "Email",
"value": "={{ $json['Email of the brand'] }}",
"type": "string"
},
{
"id": "a7daf489-11b1-4d59-86b9-83f0f7911661",
"name": "Product/service",
"value": "={{ $json['What is the Brand\\'s Product or Service?'] }}",
"type": "string"
},
{
"id": "5b5e6ab2-e90f-4f03-92f6-577133e66042",
"name": "Productuse",
"value": "={{ $json['Have you used the product or the service of the brand?'] }}",
"type": "string"
},
{
"id": "4685e112-3211-4dd7-8ca8-77849186bab1",
"name": "productstrength",
"value": "={{ $json['If yes, what did you like about the product/service?'] }}",
"type": "string"
},
{
"id": "f1d08b82-135a-4948-ab39-cb37538515f4",
"name": "Audience Reception",
"value": "={{ $json['Your audience reception to the product/service'] }}",
"type": "string"
},
{
"id": "035212c4-e095-4eee-906b-8c9095c50039",
"name": "Additional Info",
"value": "={{ $json['Any info that would make you stand out to the brand, might be an info about you or the brand?'] }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-1584,
-160
],
"id": "0cd6dfe8-dd7f-41bf-9f02-5cc7123a7251",
"name": "Data Formatting"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "a87a8b10-ead3-43c1-a9fd-361cd5a56bf8",
"name": "Email",
"value": "={{ $json.message.content }}",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
-1072,
-160
],
"id": "e11429c3-4a35-4ca9-b59d-a86dc612c170",
"name": "Email Setting"
},
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"documentId": {
"__rl": true,
"value": "1rYkHNo0Bl6KJFhBkPdZH9BxzIT4PW9KWcoYyVg6vS-E",
"mode": "list",
"cachedResultName": " Famtam's Prospective Brand Collab Info (Responses)",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rYkHNo0Bl6KJFhBkPdZH9BxzIT4PW9KWcoYyVg6vS-E/edit?usp=drivesdk"
},
"sheetName": {
"__rl": true,
"value": 576374303,
"mode": "list",
"cachedResultName": "Form Responses 1",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1rYkHNo0Bl6KJFhBkPdZH9BxzIT4PW9KWcoYyVg6vS-E/edit#gid=576374303"
},
"event": "rowAdded",
"options": {}
},
"type": "n8n-nodes-base.googleSheetsTrigger",
"typeVersion": 1,
"position": [
-1824,
-160
],
"id": "e7961118-59cd-4593-b07b-f5f775af9c23",
"name": "Get Brand Info",
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"name": "<your credential>"
}
}
},
{
"parameters": {
"inputText": "={{ $json.data.text }}",
"categories": {
"categories": [
{
"category": "Approved",
"description": "The email is approved and good to go"
},
{
"category": "Disapproved",
"description": "=The gmail needs some correction "
}
]
},
"options": {}
},
"type": "@n8n/n8n-nodes-langchain.textClassifier",
"typeVersion": 1.1,
"position": [
-640,
-160
],
"id": "323ddd54-5fa2-4af5-8b2b-52d8adca61e3",
"name": "Decision Point"
},
{
"parameters": {
"sendTo": "={{ $('Data Formatting').item.json.Email }}",
"subject": "=Hello,{{ $('Data Formatting').item.json.Name }}",
"emailType": "text",
"message": "={{ $('Email Setting').item.json.Email }}",
"options": {
"appendAttribution": false
}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
-288,
-272
],
"id": "46f1ded6-a58a-474b-89d8-3ce11b088b42",
"name": "Send Email",
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Email Generator": {
"main": [
[
{
"node": "Email Setting",
"type": "main",
"index": 0
}
]
]
},
"Human Response": {
"main": [
[
{
"node": "Decision Point",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Decision Point",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Revision Model": {
"main": [
[
{
"node": "Email Setting",
"type": "main",
"index": 0
}
]
]
},
"Data Formatting": {
"main": [
[
{
"node": "Email Generator",
"type": "main",
"index": 0
}
]
]
},
"Email Setting": {
"main": [
[
{
"node": "Human Response",
"type": "main",
"index": 0
}
]
]
},
"Get Brand Info": {
"main": [
[
{
"node": "Data Formatting",
"type": "main",
"index": 0
}
]
]
},
"Decision Point": {
"main": [
[
{
"node": "Send Email",
"type": "main",
"index": 0
}
],
[
{
"node": "Revision Model",
"type": "main",
"index": 0
}
]
]
}
},
"active": true,
"settings": {
"executionOrder": "v1",
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": "xobruYweOE6nbgAL"
},
"versionId": "2b596fbd-1f6b-46c0-96e9-74773d8e40d8",
"meta": {
"templateCredsSetupCompleted": true
},
"id": "EqxRyUmNLBUb5y9Z",
"tags": []
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2googleSheetsTriggerOAuth2ApiopenAiApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Cold Emails Generator and Sender. Uses openAi, gmail, lmChatOpenAi, googleSheetsTrigger. Event-driven trigger; 9 nodes.
Source: https://github.com/tabii-dev/n8n-Portfolio/blob/main/ai-cold-email-generator/Cold-Emails-Generator-and-Sender.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n template demonstrates how to automate email classification, labeling, draft generation, and logging using Gmail, OpenAI, and Google Sheets. Use cases include customer support management, sale
This n8n template uses AI to automatically classify incoming Gmail messages into five categories and route them to the right people or departments. It can also reply automatically and send WhatsApp al
Detects new unread Gmail messages Extracts sender name for personalized replies Classifies the email into one of four categories Applies the correct Gmail label and either sends an auto-reply, creates
Email Automation AI-Powered Operations Internal Productivity Tools
This section automates Gmail message handling through AI-powered classification and response. Using the LangChain Text Classifier, incoming emails are analyzed and sorted into four categories — High P