Kalte-E-Mail-Eisbrecher-Generator GPT-4o-mini-Vorlage
Dies ist ein Lead Generation, Multimodal AI-Bereich Automatisierungsworkflow mit 10 Nodes. Hauptsächlich werden GoogleSheets, ManualTrigger, SplitInBatches, OpenAi und andere Nodes verwendet. Personalisierte Kaltaufmacher mit GPT-4O-mini und Google Sheets generieren
- •Google Sheets API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (10)
Kategorie
{
"id": "8yxaQbSKa73Naaoq",
"meta": {
"instanceId": "6dab325484db17217432bd17c46b16a74656e18b7a3b29fe24824c64123a2170",
"templateCredsSetupCompleted": true
},
"name": "Cold Email Icebreaker Generator With GPT 4o-mini Template",
"tags": [],
"nodes": [
{
"id": "6e508452-0193-4fc6-9762-a53d57b5a02a",
"name": "Bei Klick auf 'Workflow ausführen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-32,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d564d4ce-92c9-4797-868a-697f8a5e9ecd",
"name": "Zeile(n) in Tabelle abrufen",
"type": "n8n-nodes-base.googleSheets",
"position": [
192,
0
],
"parameters": {
"sheetName": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "",
"cachedResultName": ""
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "O1ZqVN7Ekj72TWzq",
"name": "Google Sheets account 2"
}
},
"executeOnce": false,
"typeVersion": 4.6
},
{
"id": "6574b56d-b207-48a5-bcf7-4f9d54332e52",
"name": "Modell nachricht schicken",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
624,
16
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "You are a data-to-JSON generator. \nYou must return ONLY a valid JSON object with no text before or after. \nDo not add explanations, line breaks, or commentary outside the JSON. \nStrict schema:\n\n{\n \"verdict\": \"true\" or \"false\",\n \"icebreaker\": \"string\",\n \"shortenedCompanyName\": \"string\"\n}\n"
},
{
"content": "=Your task is to write a natural, close, and spartan one-line icebreaker for a cold email. \nIt should feel like I’ve done my homework on the person — specific and genuine, not generic. \n\nOutput rules:\n- \"verdict\" = \"true\" if the input is a person, \"false\" if it’s a company. \n- \"icebreaker\" must: \n - Start with: \"Hey [firstName],\" \n - Use a natural “I love…” or “I really like…” structure, but go deeper than surface-level (highlight something real from their role, company, industry, or city). \n - Keep it casual, like talking to a friend — no hype, no formal language. \n - One line only. \n- End the icebreaker with a short, natural transition phrase like “wanted to run something by you” (or variations such as “thought I’d reach out” / “figured I’d connect”).\n- \"shortenedCompanyName\": shorten the company name (remove “Inc.”, “LLC”, “Agency”, etc). \n\nExamples: \nInput: \"Aina Rakotoarinaly, CEO founder - Maki Agency/Ti'bouffe, Maki Agency, outsourcing/offshoring, Antananarivo, Madagascar\" \nOutput: {\"verdict\":\"true\",\"icebreaker\":\"Hey Aina, I love how you’ve built Maki into a go-to shop for outsourcing in Antananarivo.\",\"shortenedCompanyName\":\"Maki\"}\n\nInput: \"Adam Greenwood, Visionary Agency Leader | Digital Strategy & AI | Middle East, UK and Global Markets, the human tech agency, information technology & services, Dubai, United Arab Emirates\" \nOutput: {\"verdict\":\"true\",\"icebreaker\":\"Hey Adam, I love how The Human Tech Agency mixes digital strategy with AI across global markets — super smart. Thought I’d reach out.\",\"shortenedCompanyName\":\"The Human Tech Agency\"}\n\nNow generate JSON for:\n{{ $json.firsName }} {{ $json.lastName }}, {{ $json.headline }}, {{ $json.industry }}, {{ $json.companyName }}, {{ $json.city }}, {{ $json.email }}"
}
]
},
"simplify": false,
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "YyHV6eOJU0bKIPQK",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "0bcf09d1-f467-4578-9abf-981a24baddfe",
"name": "Über Elemente iterieren",
"type": "n8n-nodes-base.splitInBatches",
"position": [
416,
0
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "0d808a31-0bf6-4ec5-9491-2e02f805fc14",
"name": "Zeile in Tabelle aktualisieren",
"type": "n8n-nodes-base.googleSheets",
"position": [
960,
16
],
"parameters": {
"columns": {
"value": {
"icebreaker": "={{ $json.choices[0].message.content.icebreaker }}",
"row_number": "={{ $('Get row(s) in sheet').item.json.row_number }}",
"shortenedCompanyName": "={{ $json.choices[0].message.content.shortenedCompanyName }}"
},
"schema": [
{
"id": "first_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last_name",
"type": "string",
"display": true,
"required": false,
"displayName": "last_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "headline",
"type": "string",
"display": true,
"required": false,
"displayName": "headline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "companyName",
"type": "string",
"display": true,
"required": false,
"displayName": "companyName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "industry",
"type": "string",
"display": true,
"required": false,
"displayName": "industry",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "city",
"type": "string",
"display": true,
"required": false,
"displayName": "city",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country",
"type": "string",
"display": true,
"required": false,
"displayName": "country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "icebreaker",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "icebreaker",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "shortenedCompanyName",
"type": "string",
"display": true,
"required": false,
"displayName": "shortenedCompanyName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "linkedin_url",
"type": "string",
"display": true,
"required": false,
"displayName": "linkedin_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "number",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1R1PdKdw1UH1YCGOK94xPFlAM7Qqfkiz6sa7kihIsyX0/edit#gid=0",
"cachedResultName": "Hoja 1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "O1ZqVN7Ekj72TWzq",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.6
},
{
"id": "7e71ea4a-af5f-4bf8-8ef0-6fd76d7990b9",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
144,
-320
],
"parameters": {
"color": 4,
"width": 192,
"height": 272,
"content": "## Fetch Leads from Google Sheets\nPulls lead data from your Google Sheet. \nEach row should contain details like: \n- First name \n- Last name \n- Company name \n- Industry \n- City \n- (Any other fields you want to use for personalization) \n\n⚠️ Make sure your sheet has consistent columns with the lead information you need. \n"
},
"typeVersion": 1
},
{
"id": "b4b1fa0f-8f4e-4d82-941e-b01f1cf0d888",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-320
],
"parameters": {
"width": 192,
"height": 272,
"content": "## Workflow Trigger\nThis workflow runs on-demand when you click **Execute Workflow**. \nUse it whenever you want to enrich your Google Sheet with fresh personalization for leads. \n"
},
"typeVersion": 1
},
{
"id": "c1310003-7c1c-43b1-af57-02ae1684836f",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
592,
-320
],
"parameters": {
"color": 6,
"width": 288,
"height": 272,
"content": "## Generate Personalization with AI\nUses OpenAI to create two fields: \n- `icebreaker` → a short, natural, friendly opening line for your cold email. \n- `shortenedCompanyName` → a simplified company name (e.g. \"Mayo\" instead of \"Mayo Inc.\"). \n\nThe AI always returns results in structured JSON. \nThis makes it easy to map into your Google Sheet in the next step. \n\n💡 You can edit the prompt in this node to match your preferred tone and style, as well as for adding your own column names and fields.\n"
},
"typeVersion": 1
},
{
"id": "baefc452-c9d5-422c-acce-9c3444afbb37",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
368,
-320
],
"parameters": {
"color": 5,
"width": 192,
"height": 272,
"content": "## Process Each Lead\nThis node loops through your sheet **one lead at a time**. \nThis prevents errors with Google Sheets or the AI model. \n\n✅ Ensures each lead gets its own personalized icebreaker and shortened company name. \n"
},
"typeVersion": 1
},
{
"id": "81fbe23c-c5d5-4900-9d11-a5251ebfba8c",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
912,
-320
],
"parameters": {
"color": 4,
"width": 192,
"height": 272,
"content": "## Save Results into Google Sheets\nWrites the AI-generated results back into your Google Sheet. \n\n- Map `icebreaker` to your sheet’s personalization column (or create one). \n- Map `shortenedCompanyName` to the column where you want to store shortened names. \n\n⚠️ Your sheet may have different column names — adjust mappings here to match your setup. \n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "955ec341-ea41-4da0-8ebf-83d56c571dbd",
"connections": {
"0bcf09d1-f467-4578-9abf-981a24baddfe": {
"main": [
[],
[
{
"node": "6574b56d-b207-48a5-bcf7-4f9d54332e52",
"type": "main",
"index": 0
}
]
]
},
"6574b56d-b207-48a5-bcf7-4f9d54332e52": {
"main": [
[
{
"node": "0d808a31-0bf6-4ec5-9491-2e02f805fc14",
"type": "main",
"index": 0
}
]
]
},
"d564d4ce-92c9-4797-868a-697f8a5e9ecd": {
"main": [
[
{
"node": "0bcf09d1-f467-4578-9abf-981a24baddfe",
"type": "main",
"index": 0
}
]
]
},
"0d808a31-0bf6-4ec5-9491-2e02f805fc14": {
"main": [
[
{
"node": "0bcf09d1-f467-4578-9abf-981a24baddfe",
"type": "main",
"index": 0
}
]
]
},
"6e508452-0193-4fc6-9762-a53d57b5a02a": {
"main": [
[
{
"node": "d564d4ce-92c9-4797-868a-697f8a5e9ecd",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Lead-Generierung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Rodrigo
@rodrigonzalezsyncraAI & automation consultant helping businesses streamline processes, generate leads, and scale faster with smart workflows. Founder of SyncraLabs, integrating AI with n8n to create practical, high-impact automations. Passionate about sharing knowledge through ready-to-use templates and community contributions.
Diesen Workflow teilen