Utiliser GPT-4 Mini, Apify et LinkedIn pour générer des personnalisations d'ouverture pour des e-mails froids

Avancé

Ceci est unLead Generation, Multimodal AIworkflow d'automatisation du domainecontenant 16 nœuds.Utilise principalement des nœuds comme Set, Filter, Aggregate, HttpRequest, GoogleSheets. Générer des phrases d'ouverture pour e-mails froids personnalisés à partir de LinkedIn avec GPT-4 Mini, Apify

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • 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
{
  "meta": {
    "instanceId": "235448548816fb2146ac5c0df5e58a4e0be98ea5380c09b000703674b2c5f3c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "49891093-0149-475d-ad6a-b80832087c47",
      "name": "Lors du clic sur 'Exécuter le workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -48,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "947b70ae-4cab-4c36-b4f4-27d36d78915e",
      "name": "Boucle sur les éléments",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        864,
        80
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "5f132e78-5a48-45b2-a777-87983fb5a647",
      "name": "Appeler Apify LinkedIn API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1408,
        96
      ],
      "parameters": {
        "url": "=https://api.apify.com/v2/acts/{{ $json.apifyActorID }}/run-sync-get-dataset-items",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "jsonBody": "={\n    \"profileUrls\": [\n        \"{{ $('Loop Over Items').item.json.linkedin_url }}\"\n    ]\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Accept",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "=Bearer {{ $json.apifyAPIKey }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b411411c-96b9-48b8-8d4d-b4884912336c",
      "name": "Agréger",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1632,
        96
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "e8a9b61d-4cf8-4b0e-a10d-ba83d212ae07",
      "name": "Générer une accroche personnalisée",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        2192,
        96
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a useful intelligent sales assistant.\n\nYou are given a set of information about a lead (LinkedIn profile data, headline, company SEO, etc). These are all people in the dental industry in the US. We are offering them custom AI voice receptionist that answers calls 24/7 and works into their CRM. \n\nYour task is to to take all these info and turn them into catchy, personalized openers/icebreakers for our cold email campaign. Keep the icebreakers short and 3-4 sentences max.\n\nYou'll return your icebreakers in the following JSON format:\n\n{\"icebreaker\":\"Hey {first_name},\\n\\nI spent some time studying {theirCompanyName} and was genuinely impressed by {thing}. I have a business proposal which might help you so thought I'd reach out.\"} \n\n\nRules:\n- Write in a spartan/laconic tone of voice.\n- Always mention their first Name and their shortened company name in the copy\n- Make sure to use the above format when constructing your icebreakers. We wrote it this way on purpose.\n- Shorten the company name wherever possible (say, \"XYZ\" instead of \"XYZ Dental\"). More examples: \"Love AMS\" instead of \"Love AMS Dental Group\", \"Love Tooth Tales\" instead of \"Love Tooth Tales Pediatric Dentistry & Orthodontics\", \"Love Dental Solutions\" instead of \"Love Dental Solutions, LLC\", \"Love Bernstein\" instead of \"Love Bernstein Orthodontics\", \"Love Pinnacle\" instead of \"Love Pinnacle Dental Group\", etc.\n- Do the same with locations. \"San Fran\" instead of \"San Fransisco\", \"LA\" instead of \"Los Angeles\", \"NJ\" instead of \"New Jersey\", etc.\n- For your variables, focus on small, non-obvious things to paraphrase. The idea is to make people think we *really* dove deep into their website/Linkedin profile, so don't use something obvious. Do not say cookie-cutter stuff like \"Love your website!\" or \"Love your years of experience!\".\n\n\n\n"
            },
            {
              "content": "=firstName: {{ $json.firstName }}\n\nlastName: {{ $json.lastName }}\n\ncompanyName: {{ $json.companyName }}\n\nheadline: {{ $json.headline }}\n\ncurrentJobDurationInYrs: {{ $json.currentJobDurationInYrs }}\n\nemail: {{ $json.email }}\n\norganizationShortDescription: {{ $json.organizationShortDescription }}\n\norganizationCity: {{ $json.organizationCity }}\n\norganizationState: {{ $json.organizationState }}\n\nData found from their LinkedIn:\n{{ Object.entries($('Aggregate').item.json.data[0]).map(([key, value]) => {\n  if (typeof value === 'object' && value !== null) {\n    return `${key}:\\n${JSON.stringify(value, null, 2)}`;\n  }\n  return `${key}: ${value}`;\n}).join('\\n\\n') }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "id": "21ws2m6bU7yrdhRD",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "50ae1e60-f2cb-491e-8d02-20d8c31e91e6",
      "name": "Ajouter l'accroche enrichie",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1888,
        656
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $('Loop Over Items').item.json.id }}",
            "name": "={{ $('Loop Over Items').item.json.name }}",
            "email": "={{ $('Loop Over Items').item.json.email }}",
            "company": "={{ $('Loop Over Items').item.json.organization_name }}",
            "headline": "={{ $('Simplify Fields for AI Agent').item.json.headline }}",
            "linkedIn": "={{ $('Loop Over Items').item.json.linkedin_url }}",
            "icebreaker": "={{ $json.message.content.icebreaker }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "headline",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "headline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "icebreaker",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "icebreaker",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedIn",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "linkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1772101798,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit#gid=1772101798",
          "cachedResultName": "Enriched"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit?usp=drivesdk",
          "cachedResultName": "USA_Dental"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ziNN7PjMJnH4Xalf",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "7263e986-8992-4f26-9df1-4c00a1a0d73a",
      "name": "Mettre à jour la liste non enrichie",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2320,
        656
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $('hasEmail?').item.json.id }}",
            "status": "enriched"
          },
          "schema": [
            {
              "id": "first_name",
              "type": "string",
              "display": true,
              "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": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "personal_email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "personal_email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_website_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_website_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedin_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "linkedin_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "industry",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "industry",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "headline",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "headline",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "seniority",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "seniority",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "estimated_num_employees",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "estimated_num_employees",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "city",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "city",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "state",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "state",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "country",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "country",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_annual_revenue_printed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_annual_revenue_printed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_seo_description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_seo_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_short_description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_short_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "keywords",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "keywords",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_technologies",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_technologies",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email_domain_catchall",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email_domain_catchall",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_id",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "twitter_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "twitter_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "facebook_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "facebook_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_linkedin_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_linkedin_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_linkedin_uid",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_linkedin_uid",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_twitter_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_twitter_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_facebook_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_facebook_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_founded_year",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_founded_year",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_primary_domain",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_primary_domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_phone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_street_address",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_street_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_raw_address",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_raw_address",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_state",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_state",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_city",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_city",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_country",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_country",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "organization_postal_code",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "organization_postal_code",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 206882063,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit#gid=206882063",
          "cachedResultName": "100 Leads"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit?usp=drivesdk",
          "cachedResultName": "USA_Dental"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ziNN7PjMJnH4Xalf",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "1bc1dfa6-e4b3-45d4-b30c-9b953c21a0b5",
      "name": "hasEmail?",
      "type": "n8n-nodes-base.filter",
      "position": [
        480,
        80
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "c6b56607-6929-42cd-8c72-d7cff6c80066",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.email }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1abc54ec-ae6b-460c-b560-d5e2bef27458",
      "name": "Simplifier les champs pour l'agent IA",
      "type": "n8n-nodes-base.set",
      "position": [
        1952,
        96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c2c46a40-fb08-41f1-a692-422f525813e9",
              "name": "firstName",
              "type": "string",
              "value": "={{ $json.data[0].firstName }}"
            },
            {
              "id": "09bb5d67-8b12-47e5-b0e0-e4bd1bad4f9a",
              "name": "lastName",
              "type": "string",
              "value": "={{ $json.data[0].lastName }}"
            },
            {
              "id": "1055fac7-ec58-4b52-941d-1d15de09d419",
              "name": "companyName",
              "type": "string",
              "value": "={{ $('Loop Over Items').item.json.organization_name }}"
            },
            {
              "id": "1714c8ee-f694-484b-b0d8-aade982c6a51",
              "name": "headline",
              "type": "string",
              "value": "={{ $json.data[0].headline }}"
            },
            {
              "id": "2e1b64a2-b7d3-4524-8b5b-38a8b728dca7",
              "name": "currentJobDurationInYrs",
              "type": "number",
              "value": "={{ $json.data[0].currentJobDurationInYrs }}"
            },
            {
              "id": "04409de1-1672-4b1f-a1db-7ac098789eba",
              "name": "email",
              "type": "string",
              "value": "={{ $('Loop Over Items').item.json.email }}"
            },
            {
              "id": "4da75ea0-5f95-4083-9e20-ef9a0ec7898a",
              "name": "organizationShortDescription",
              "type": "string",
              "value": "={{ $('Loop Over Items').item.json.organization_short_description }}"
            },
            {
              "id": "185993ef-25a8-483b-a748-4c6515a3f0f6",
              "name": "organizationCity",
              "type": "string",
              "value": "={{ $('Loop Over Items').item.json.organization_city }}"
            },
            {
              "id": "f0d764c6-6eb0-4743-b476-49486e259945",
              "name": "organizationState",
              "type": "string",
              "value": "={{ $('Loop Over Items').item.json.organization_state }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "330e4c8f-376d-4738-87ee-50877f64f162",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -864,
        -304
      ],
      "parameters": {
        "width": 672,
        "height": 720,
        "content": "\n## Cold Email Icebreaker for Personalization\n\nThis workflow does the following tasks:\n\n1. Takes in your raw leads - You might get these leads from anywhere. For best case, get your leads from Apollo but scrape it using Apify Apollo scraper https://apify.com/microworlds/apollo-scraper\nDownload the CSV file from Apify Web UI, import it into a Google Sheet (connected to your n8n account). The \"Get Raw Un-enriched Leads\" node takes in these downloaded leads as input\n   \n2. \"hasEmail?\" checks if the leads have emails and returns those leads — you will only send cold emails to leads with email account\n\n3. For each lead, runs a loop and Calls Apify LinkedIn scraper - This returns valuable information about the lead\n\n4. Feed all the info to the OpenAI Agent to \"Generate Personalized Icebreaker\" for each lead. You will need to change the System prompt in this AI agent for your use case (i.e. your niche, your offer, and your niche's pain points).\n\n5. All the icebreakers and the subsequent related data are stored into a Google Sheet - You will use this Google Sheet to send cold email campaigns either manually or through whatever automated software you want to use.\n\n6. Update the original list, so that each time the workflow runs, only those leads that have not yet been enriched will be used to generate icebreaker and enrich them - This ensures you don't enrich the same lead over and over again, and that the workflow only generates personalized icebreakers of leads which haven't been touched yet.\n\nN.B. - You can see a working demo of this workflow in [this YouTube Link ](https://www.youtube.com/watch?v=Ah4Ynj-56sM)"
      },
      "typeVersion": 1
    },
    {
      "id": "3c4c4919-81c6-4ad5-a7dd-594271fd59c1",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        160,
        -96
      ],
      "parameters": {
        "color": 3,
        "width": 560,
        "height": 400,
        "content": "## Pre-process raw leads\n- Connect your Google Sheet account with n8n.\n- Choose the file that contains your downloaded CSV raw lead.\n- Discard leads that do not have work email"
      },
      "typeVersion": 1
    },
    {
      "id": "7b97c7f6-4d1e-4cd3-a73e-3f9894e340d7",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        -96
      ],
      "parameters": {
        "color": 2,
        "width": 672,
        "height": 400,
        "content": "## Get data from LinkedIn, and clean it.\nIn the \"Set Apify Tokens\" Node do the following: \n1. set the apifyAPIKey with your own Apify API key [(get it from here)](https://console.apify.com/settings/integrations),\n2. set the apifyActorID with the Apify Scraper ID of your choice. [This](https://console.apify.com/actors/2SyF0bVxmgGr8IVCZ) actor works best for scraping LinkedIn profile\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2651f7b6-fd1f-41cd-bb78-68046d3a8bab",
      "name": "Obtenir les prospects bruts non enrichis",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        256,
        80
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "un-enriched",
              "lookupColumn": "status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 206882063,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit#gid=206882063",
          "cachedResultName": "100 Leads"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1kJq_R41U_PkQlIhi7D1LTAhWP-RO0hSRjUNf9C4AHUw/edit?usp=drivesdk",
          "cachedResultName": "USA_Dental"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "ziNN7PjMJnH4Xalf",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "1754f0ae-6be9-4a8a-9087-fa41824fd999",
      "name": "Définir les tokens Apify",
      "type": "n8n-nodes-base.set",
      "position": [
        1200,
        96
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "69e8dbff-d9f3-446a-9dbd-2d4f2829cf1e",
              "name": "apifyAPIKey",
              "type": "string",
              "value": ""
            },
            {
              "id": "ab06d038-d0f2-43c0-b17e-c38c80817aae",
              "name": "apifyActorID",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "93c3718a-df70-4dc2-ad86-5db621f0984c",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        -96
      ],
      "parameters": {
        "color": 2,
        "width": 672,
        "height": 400,
        "content": "## Generate personalized icebreaker\n- Cleans content to feed into AI agent\n- The AI agent goes through the scraped data and writes hyper-personalized icebreaker for cold email\n- Change the system prompt in the AI agent node to fit your use case.\n- OpenAI GPT 4.1 mini works best without breaking your bank.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "713a09f1-b3a2-42fa-9bfd-8dd11ca4a01b",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1840,
        448
      ],
      "parameters": {
        "color": 2,
        "width": 672,
        "height": 400,
        "content": "## Append & Update Google Sheet\n- The \"Append Enriched Icebreaker\" node appends the icebreaker along with the respective lead info into a new Google Sheet.\n- The \"Update Un-enriched List\" node updates the original Google Sheet to mark the processed lead as \"enriched\" from \"un-enriched\""
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "b411411c-96b9-48b8-8d4d-b4884912336c": {
      "main": [
        [
          {
            "node": "1abc54ec-ae6b-460c-b560-d5e2bef27458",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1bc1dfa6-e4b3-45d4-b30c-9b953c21a0b5": {
      "main": [
        [
          {
            "node": "947b70ae-4cab-4c36-b4f4-27d36d78915e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "947b70ae-4cab-4c36-b4f4-27d36d78915e": {
      "main": [
        [],
        [
          {
            "node": "1754f0ae-6be9-4a8a-9087-fa41824fd999",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1754f0ae-6be9-4a8a-9087-fa41824fd999": {
      "main": [
        [
          {
            "node": "5f132e78-5a48-45b2-a777-87983fb5a647",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5f132e78-5a48-45b2-a777-87983fb5a647": {
      "main": [
        [
          {
            "node": "b411411c-96b9-48b8-8d4d-b4884912336c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7263e986-8992-4f26-9df1-4c00a1a0d73a": {
      "main": [
        [
          {
            "node": "947b70ae-4cab-4c36-b4f4-27d36d78915e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2651f7b6-fd1f-41cd-bb78-68046d3a8bab": {
      "main": [
        [
          {
            "node": "1bc1dfa6-e4b3-45d4-b30c-9b953c21a0b5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "50ae1e60-f2cb-491e-8d02-20d8c31e91e6": {
      "main": [
        [
          {
            "node": "7263e986-8992-4f26-9df1-4c00a1a0d73a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1abc54ec-ae6b-460c-b560-d5e2bef27458": {
      "main": [
        [
          {
            "node": "e8a9b61d-4cf8-4b0e-a10d-ba83d212ae07",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e8a9b61d-4cf8-4b0e-a10d-ba83d212ae07": {
      "main": [
        [
          {
            "node": "50ae1e60-f2cb-491e-8d02-20d8c31e91e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "49891093-0149-475d-ad6a-b80832087c47": {
      "main": [
        [
          {
            "node": "2651f7b6-fd1f-41cd-bb78-68046d3a8bab",
            "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é ?

Avancé - 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 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
Génération de prospects basée sur l'IA (Apollo, recherche LinkedIn et email de personnalisation en 4 étapes)
Génération de prospects basée sur l'IA : Utilisation d'Apollo, de la recherche LinkedIn et d'un email de personnalisation en 4 étapes
If
Set
Code
+
If
Set
Code
30 NœudsGain FLow AI
Génération de leads
Scraping de prospects Google Maps et enrichissement de contact personnalisé par IA
Capture de leads Google Maps et enrichissement avec une approche personnalisée pilotée par l'IA
Set
Code
Filter
+
Set
Code
Filter
24 NœudsA Z
Génération de leads
Automatisation de la création de contenu viral avec OpenAI, ElevenLabs et Fal.ai pour les vidéos, les podcasts et l'ASMR
Automatiser la création de contenu viral pour la vidéo, les podcasts et l'ASMR avec OpenAI, ElevenLabs et Fal.ai
Set
Code
Wait
+
Set
Code
Wait
97 NœudsAdam Crafts
Création de contenu
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds16
Catégorie2
Types de nœuds9
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Erfan Mostafiz

Erfan Mostafiz

@erfanmostafiz

n8n AI automation builder focused on practical, high-impact workflows that save time and close deals. I specialize in workflows that include cold outreach, lead enrichment, and marketing ops using tools like n8n, OpenAI, Apify, and Google Sheets. Everything I publish is built for speed, clarity, and real-world use.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34