Modèle GPT-4o-mini pour un générateur d'ouvertures d'e-mails froids

Intermédiaire

Ceci est unLead Generation, Multimodal AIworkflow d'automatisation du domainecontenant 10 nœuds.Utilise principalement des nœuds comme GoogleSheets, ManualTrigger, SplitInBatches, OpenAi. Générer des phrases d'ouverture pour e-mails froids personnalisés avec GPT-4O-mini et Google Sheets

Prérequis
  • Informations d'identification Google Sheets API
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Lors du clic sur 'Exécuter le workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -32,
        0
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d564d4ce-92c9-4797-868a-697f8a5e9ecd",
      "name": "Obtenir une/des ligne(s) dans la feuille",
      "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": "Envoyer un message à un modèle",
      "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": "Boucler sur les éléments",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        416,
        0
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "0d808a31-0bf6-4ec5-9491-2e02f805fc14",
      "name": "Mettre à jour une ligne dans la feuille",
      "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": "Note adhésive",
      "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": "Note adhésive1",
      "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": "Note adhésive2",
      "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": "Note adhésive3",
      "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": "Note adhésive4",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Génération de leads, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Workflows recommandés

基于AIde潜在clientgénération系统(e-mail个性化etLinkedIn)
基于AIde潜在clientgénération系统:包含e-mail个性化etLinkedIn功能
If
Code
Limit
+
If
Code
Limit
51 NœudsMatthieu
Génération de leads
Générateur de contenu d'accroche personnalisé pour les e-mails froids
Automatiser le froid personnalisé via l'extraction de prospects Apollo et GPT-4.1
Set
Code
Slack
+
Set
Code
Slack
24 NœudsRichard Besier
Génération de leads
Créer des sujets de brise-glace personnalisés et pilotés par l'IA à partir de données de sites web en utilisant Google Sheets et GPT
Créer des sujets de brise-glace personnalisés et pilotés par l'IA à partir de données de site web avec Google Sheets et GPT
Wait
Limit
Markdown
+
Wait
Limit
Markdown
15 NœudsAbdul Mir
Génération de leads
Créer des prospects qualifiés et des scripts de démarchage froid avec LinkedIn, OpenAI et Sales Navigator
Créer des prospects qualifiés et des scripts pour des appels à froid via LinkedIn, OpenAI et Sales Navigator
If
Code
Limit
+
If
Code
Limit
47 NœudsMatthieu
Génération de leads
Résumé de site web
Générer des scripts de vente IA à partir d'URL de sites web avec GPT-4o et Google Sheets
Set
Wait
Google Sheets
+
Set
Wait
Google Sheets
12 NœudsZach @BrightWayAI
Génération de leads
Utiliser GPT-4 Mini, Apify et LinkedIn pour générer des personnalisations d'ouverture pour des e-mails froids
Générer des phrases d'ouverture pour e-mails froids personnalisés à partir de LinkedIn avec GPT-4 Mini, Apify
Set
Filter
Aggregate
+
Set
Filter
Aggregate
16 NœudsErfan Mostafiz
Génération de leads
Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds10
Catégorie2
Types de nœuds5
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur

AI & 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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34