Automatisation du développement commercial avec les signaux des postes LinkedIn, Apify, Apollo.io et Google Gemini

Avancé

Ceci est uncontenant 47 nœuds.Utilise principalement des nœuds comme If, Code, Limit, Merge, Filter. Basé sur les signaux d'offres LinkedIn, utiliser Apify et Google Gemini pour générer des prospections de vente personnalisées

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
  • Clé API Google Gemini

Catégorie

-
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": "6ZDejfbyr1msa2zv",
  "meta": {
    "instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787",
    "templateCredsSetupCompleted": true
  },
  "name": "Automate Sales Outreach with LinkedIn Job Signals, Apify, Apollo.io & Google Gemini",
  "tags": [],
  "nodes": [
    {
      "id": "0fd7b446-8b69-4fb4-b79e-f69fbe4082ab",
      "name": "Mettre à jour la feuille avec l'e-mail",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2560,
        1008
      ],
      "parameters": {
        "columns": {
          "value": {
            "Email": "={{ $('Filter for Batching').item.json.Email }}",
            "Subject": "={{ $json.output.subject }}",
            "Email Body": "={{ $json.output.email_body }}"
          },
          "schema": [
            {
              "id": "First Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "First Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Last Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Last Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Occupation",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Occupation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn Url",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company LinkedIn Url",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Company LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company URL",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Company URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Domain",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Company Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Employee Count",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Employee Count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job Title",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Job Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Subject",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Subject",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email Body",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email Body",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Lead Gen"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "12d544fc-86d7-4cbf-9be7-ed6d4730dbdf",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1936,
        1376
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "78b63764-9948-40ca-be63-f188ff8faeba",
      "name": "Analyseur de sortie structurée",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        2496,
        1376
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"subject\": \"A short, catchy, question-based subject line\",\n  \"email_body\": \"The full email body, 100-120 words, without any salutation or sign-off.\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "6e685361-565d-4dc6-9149-a6c2b23fe2c3",
      "name": "Au clic sur 'Exécuter le workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -816,
        160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9af7695c-fb5d-4a23-b7e3-8d26a821b4d1",
      "name": "Supprimer les doublons",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        -768,
        496
      ],
      "parameters": {
        "compare": "selectedFields",
        "options": {
          "removeOtherFields": false,
          "disableDotNotation": false
        },
        "fieldsToCompare": "companyName"
      },
      "typeVersion": 2
    },
    {
      "id": "c1348833-1b28-4270-ae53-4dbcfc93251e",
      "name": "Exécuter le scrapeur d'offres LinkedIn",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        -432,
        96
      ],
      "parameters": {
        "memory": 4096,
        "actorId": {
          "__rl": true,
          "mode": "list",
          "value": "hKByXkMQaC5Qt9UMN",
          "cachedResultUrl": "https://console.apify.com/actors/hKByXkMQaC5Qt9UMN/input",
          "cachedResultName": "Linkedin Jobs Scraper - PPR (curious_coder/linkedin-jobs-scraper)"
        },
        "timeout": {},
        "customBody": "{\n  \"count\": 100,\n  \"scrapeCompany\": true,\n  \"urls\": [\n    \"https://www.linkedin.com/jobs/search-results/?distance=25&f_TPR=r86400&geoId=103644278&keywords=ML%20Engineer&origin=SEMANTIC_SEARCH_HISTORY\"\n  ]\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "5e36853c-5e15-42ac-9c7e-95c60aadf9da",
      "name": "Obtenir les éléments du dataset",
      "type": "@apify/n8n-nodes-apify.apify",
      "position": [
        96,
        160
      ],
      "parameters": {
        "limit": 110,
        "offset": {},
        "resource": "Datasets",
        "datasetId": "={{ $json.defaultDatasetId }}"
      },
      "typeVersion": 1
    },
    {
      "id": "92470dd9-7f01-4795-b36a-8d1553a12e80",
      "name": "Vérifie la taille d'entreprise < 250",
      "type": "n8n-nodes-base.if",
      "position": [
        592,
        208
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ed72c7e6-2a1f-4c8e-b87c-7ab53ea8f356",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{ $json.companyEmployeesCount }}",
              "rightValue": 250
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9469d083-1393-4661-bc1a-2626be76b3af",
      "name": "Exclut les industries RH",
      "type": "n8n-nodes-base.if",
      "position": [
        -400,
        496
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "cd695047-a0f4-4058-b83b-339c5fe77a9c",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.industries }}",
              "rightValue": "Human Resources"
            },
            {
              "id": "7b9d94db-da9c-4b94-8961-0827f5175f9c",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.industries }}",
              "rightValue": "Staffing and Recruiting"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "13ccb5b9-221b-4be6-ba7c-02c53205fc63",
      "name": "Préparer les détails finaux de l'entreprise",
      "type": "n8n-nodes-base.code",
      "position": [
        112,
        496
      ],
      "parameters": {
        "jsCode": "// n8n Function Node\n// Keep only required fields + extract clean domain from companyWebsite\n// Wrap output in \"company\" wrapper\n\nreturn items.map(item => {\n  const data = item.json;\n\n  let domain = null;\n  if (data.companyWebsite) {\n    let website = data.companyWebsite.trim();\n\n    // If no protocol, prepend http://\n    if (!/^https?:\\/\\//i.test(website)) {\n      website = \"http://\" + website;\n    }\n\n    try {\n      const parsedUrl = new URL(website);\n      domain = parsedUrl.hostname.replace(/^www\\./, \"\"); // remove \"www.\"\n    } catch (err) {\n      // Fallback: strip query/hash manually\n      domain = website\n        .replace(/^(https?:\\/\\/)?(www\\.)?/, \"\")\n        .split(/[/?#]/)[0]; // take only domain part\n    }\n  }\n\n  return {\n    json: {\n      company: { // 👈 wrapper added\n        companyName: data.companyName || null,\n        companyLinkedInUrl: data.companyLinkedInUrl || data.companyLinkedinUrl || null,\n        companyWebsite: data.companyWebsite || null,\n        industries: data.industries || null,\n        location: data.location || null,\n        employeeCount: data.companyEmployeesCount || null,\n        jobTitle: data.jobTitle || data.title || null,\n        companyDescription: data.companyDescription || null,\n        domain: domain\n      }\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "43d308cf-516a-4acf-8b77-f20a3947f0cb",
      "name": "Vérifie l'existence du domaine",
      "type": "n8n-nodes-base.if",
      "position": [
        -800,
        816
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8f1130d1-8082-48a4-9f97-a05df2e6f725",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.company.domain }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c25ec326-deb9-490e-97ab-ebe3521e41a0",
      "name": "Apollo : Obtenir le personnel ciblé",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1168,
        1312
      ],
      "parameters": {
        "url": "https://api.apollo.io/api/v1/people/search",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"q_organization_domains_list\": [\"{{ $json.company.domain }}\"],\n  \"person_seniorities\": [\"vp\", \"head\", \"director\", \"founder\", \"c-suite\", \"lead\"],\n  \"person_titles\": [\n    \"engineering\",\n    \"technology\",\n    \"product\",\n    \"operations\",\n    \"infrastructure\",\n    \"devops\",\n    \"data science\",\n    \"machine learning\",\n    \"cloud\"\n  ],\n  \"pagination\": { \"page\": 1, \"per_page\": 2 }\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "b42ec2f9-f178-49e3-aaf8-026fb1b3b360",
      "name": "Apollo Email Finder",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -496,
        1648
      ],
      "parameters": {
        "url": "https://api.apollo.io/v1/people/match",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"id\": \"{{ $json.person.personId }}\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dbd59767-6054-4a77-b097-73b537b7404d",
      "name": "Nettoyage des détails d'e-mail",
      "type": "n8n-nodes-base.code",
      "position": [
        16,
        1648
      ],
      "parameters": {
        "jsCode": "// Extract only person.id + email\nreturn items.map(item => {\n  return {\n    json: {\n      email: {   // 👈 wrapped object\n        id: item.json.person?.id || null,\n        email: item.json.person?.email || null\n      }\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c2d53522-21bb-4d04-b3f5-f6c935356c9a",
      "name": "Structuration des détails complets de la personne",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        896
      ],
      "parameters": {
        "jsCode": "// N8N JavaScript Code Node - Clean Data Merging (No Debug)\n// Mapping Logic:\n// - person.personId <-> email.id (one-to-one, unique)\n// - person.companyName <-> company.companyName (many-to-one, multiple persons per company)\n\n// Get all input items\nconst allItems = $input.all();\n\n// Step 1: Build email lookup by personId (one-to-one mapping)\nconst emailMap = {};\nallItems.forEach(item => {\n  const jsonData = item.json || {};\n  if (jsonData.email && jsonData.email.id) {\n    emailMap[jsonData.email.id] = jsonData.email.email;\n  }\n});\n\n// Step 2: Build company lookup by companyName (many-to-one mapping)\nconst companyMap = {};\nallItems.forEach(item => {\n  const jsonData = item.json || {};\n  if (jsonData.company && jsonData.company.companyName) {\n    companyMap[jsonData.company.companyName] = jsonData.company;\n  }\n});\n\n// Step 3: Merge person with email + company info\nconst outputItems = [];\n\nallItems.forEach(item => {\n  const jsonData = item.json || {};\n  if (!jsonData.person) return;\n  \n  const person = jsonData.person;\n  const personId = person.personId;\n  const companyName = person.companyName;\n  \n  // Get email from emailMap (unique per person)\n  const email = emailMap[personId] || null;\n  \n  // Get company info from companyMap (same for all persons at this company)\n  const companyInfo = companyMap[companyName] || {};\n  \n  // Create merged record\n  const mergedItem = {\n    json: {\n      ...person, // Spread all person fields\n      email: email,\n      companyDescription: companyInfo.companyDescription || null,\n      jobTitle: companyInfo.jobTitle || null,\n      employeeCount: companyInfo.employeeCount || null\n    }\n  };\n  \n  outputItems.push(mergedItem);\n});\n\n// Return the merged results\nreturn outputItems;"
      },
      "typeVersion": 2
    },
    {
      "id": "326bb4c6-ce73-4e76-9576-685319d00b1e",
      "name": "Ajout des leads aux feuilles",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1040,
        560
      ],
      "parameters": {
        "columns": {
          "value": {
            "Email": "={{ $json.email }}",
            "Domain": "={{ $json.primaryDomain }}",
            "Company": "={{ $json.companyName }}",
            "Location": "={{ $json.city }}, {{ $json.country }}",
            "Job Title": "={{ $json.jobTitle }}",
            "Last Name": "={{ $json.lastName }}",
            "First Name": "={{ $json.firstName }}",
            "Occupation": "={{ $json.title }}",
            "Company URL": "={{ $json.companyWebsite }}",
            "LinkedIn Url": "={{ $json.personLinkedInUrl }}",
            "Employee Count": "={{ $json.employeeCount }}",
            "Company Description": "={{ $json.companyDescription }}",
            "Company LinkedIn Url": "={{ $json.companyLinkedInUrl }}"
          },
          "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": "Occupation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Occupation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn Url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company LinkedIn Url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company LinkedIn Url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Location",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Domain",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Domain",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company Description",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Company Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Employee Count",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Employee Count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Job Title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Job Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Subject",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Subject",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email Body",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email Body",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Lead Gen"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "636f4815-dae0-4628-aa65-775781c405b5",
      "name": "Récupération des données de leads",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1488,
        560
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1gUD7SVkq1spzbZXzMDh5kbXPD6ftqWPBwBgwZi3_gdo/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Lead Gen"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "bb071500-09fa-492c-a64c-20fdd384e42a",
      "name": "Validation de l'ID e-mail et du contenu",
      "type": "n8n-nodes-base.if",
      "position": [
        2160,
        576
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0640b75d-662e-4625-a038-92c099b79f25",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Subject }}",
              "rightValue": ""
            },
            {
              "id": "6d30f170-03fd-4e89-9a56-ab87e8c7c01a",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json[\"Email Body\"] }}",
              "rightValue": ""
            },
            {
              "id": "81d61ac3-f195-4516-8259-331f7190a0c3",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.Email }}",
              "rightValue": "@"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "012dd6c0-612d-4bbb-b690-43282abc2df0",
      "name": "Générateur d'e-mail pour leads",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        2032,
        1008
      ],
      "parameters": {
        "text": "=Act as an expert B2B copywriter specializing in cold outreach for tech recruitment services.\n\n\nYour task is to write a personalized, friendly, and professional cold email. The goal is to get the attention of a busy executive by offering a clear solution to their current hiring needs.\n\n\nBACKGROUND & CONTEXT:\n\nOur Service: We provide pre-vetted, skilled remote tech talent (AI/ML Engineers, DevOps, etc.).\n\nTarget Company: US-based, under 250 employees.\n\nTarget Persona: CEO, CTO, Head of Engineering, VP of Operations.\n\nTrigger Event: The target company is actively hiring for a specific tech role.\n\nKey Value Proposition:\n\nSave significant time in the hiring process.\n\nSave 30-40% on budget compared to a direct, in-house hire.\n\n\nINPUT VARIABLES (You will use these to personalize the email):\n\n{{ $json.Company }}: The name of the company.\n\n{{ $json['Job Title'] }}: The specific job title they are hiring for (e.g., \"AI Engineer\").\n\n{{ $json.Occupation }}: The job title of the person I'm emailing (e.g., \"CTO\").\n\n\nINSTRUCTIONS & CONSTRAINTS:\n\n\n1. Subject Line:\n\nGenerate catchy subject line.\n\nEach subject line must be 7-8 words maximum.\n\nThey should be intriguing and directly related to their hiring needs. Examples: \"Your AI Engineer role,\" \"An idea for your engineering team,\" \"Filling your {{ $json['Job Title'] }} role.\"\n\n\n2. Email Body:\n\nWrite the email body only. Do not include a salutation like \"Hi {{ $json['First Name'] }}\".\n\nThe email must start with the exact phrase: \"Saw that {{ $json.Company }} is hiring for a {{ $json['Job Title'] }}.\"\n\nThe tone must be professional, friendly, and easy to understand.\n\nCrucially, avoid high-level marketing jargon or complex AI-related terminology. Keep the language simple and direct.\n\nFocus the message on the two main benefits: filling the role faster and more affordably. Mention the 30-40% savings.\n\nThe total word count for the body must be under 120 words.\n\nEnd with a soft, low-pressure call-to-action, such as asking if they are open to exploring alternative ways to build their team",
        "batching": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "2c3b430d-d1bb-42d6-ab31-88ced73e58f3",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -912,
        -32
      ],
      "parameters": {
        "height": 360,
        "content": "## ▶️ Start Workflow\n\n\n**Manually triggers the entire lead generation process.**"
      },
      "typeVersion": 1
    },
    {
      "id": "0d3f4c5f-c716-40ab-87b3-e5f74f705e65",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        -176
      ],
      "parameters": {
        "width": 260,
        "height": 440,
        "content": "## Run the LinkedIn Job Scraper from Apify\n\n\nScrape LinkedIn Job Postings:\n\nUses Apify to find companies that are actively hiring based on a specific job search URL."
      },
      "typeVersion": 1
    },
    {
      "id": "3743dc33-a59f-4ee4-95a2-9956c99c3981",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        -112
      ],
      "parameters": {
        "width": 260,
        "height": 420,
        "content": "## Get dataset Items\n\nCollect Scraped Data:\n\nRetrieves the list of job postings and company details scraped by Apify."
      },
      "typeVersion": 1
    },
    {
      "id": "8bb80fc2-cd66-4664-8b44-16fb8776a61c",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        -48
      ],
      "parameters": {
        "width": 260,
        "height": 420,
        "content": "## Checks Company Size < 250\n\nFilter by Company Size:\n\nOnly allows companies with fewer than 250 employees to pass through."
      },
      "typeVersion": 1
    },
    {
      "id": "2425cb33-44ce-411b-a01d-aede93c801b5",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        496
      ],
      "parameters": {
        "color": 5,
        "height": 100,
        "content": "## Rmeove Duplicate Entries\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e5937705-ff40-41c7-bb0a-3864fac0e9dc",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        368
      ],
      "parameters": {
        "color": 5,
        "height": 120,
        "content": "## Rmeove HR Related Companies"
      },
      "typeVersion": 1
    },
    {
      "id": "17a39567-8afb-4faa-a29f-ca7522cf3408",
      "name": "Note adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        368
      ],
      "parameters": {
        "color": 5,
        "height": 120,
        "content": "## Prepare Final Company Details"
      },
      "typeVersion": 1
    },
    {
      "id": "603bc9a8-e1be-49e2-a789-2bc84da68ee2",
      "name": "Note adhésive7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        736
      ],
      "parameters": {
        "color": 5,
        "height": 80,
        "content": "## Check domain Existence"
      },
      "typeVersion": 1
    },
    {
      "id": "ee151293-9743-4df6-bf8c-fab51cf5df10",
      "name": "Limite de recherche d'entreprises",
      "type": "n8n-nodes-base.limit",
      "position": [
        -128,
        848
      ],
      "parameters": {
        "maxItems": 5
      },
      "typeVersion": 1
    },
    {
      "id": "6f6e8313-f32e-4bd1-8ff8-973593afd95d",
      "name": "Note adhésive8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        752
      ],
      "parameters": {
        "color": 5,
        "height": 80,
        "content": "## Limit Company Search"
      },
      "typeVersion": 1
    },
    {
      "id": "00d91745-b097-4049-805e-8133294b46fe",
      "name": "Note adhésive9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1488,
        1248
      ],
      "parameters": {
        "color": 6,
        "height": 260,
        "content": "## Apollo Get Targeted Personnel\n\n\nFind Decision-Makers:\n\nSearches Apollo.io using the company domain to find key contacts (VPs, Directors, etc.)."
      },
      "typeVersion": 1
    },
    {
      "id": "f7572335-877a-4033-82f8-bb7bda1a38ff",
      "name": "Note adhésive10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -848,
        1088
      ],
      "parameters": {
        "color": 6,
        "height": 260,
        "content": "## Sanitising Person Details\n\nClean Person Data:\n\nStructures the contact details and removes duplicates to create a clean list of people."
      },
      "typeVersion": 1
    },
    {
      "id": "786da361-b3f8-45ee-a4d5-4b1a0a00c9c7",
      "name": "Nettoyage des détails personnels",
      "type": "n8n-nodes-base.code",
      "position": [
        -768,
        1360
      ],
      "parameters": {
        "jsCode": "// Flatten + dedupe by (person.id + companyName)\nlet results = [];\nlet seen = new Set();\n\nitems.forEach(item => {\n  const people = item.json.people || [];\n\n  people.forEach(person => {\n    if (!person.id) return;\n\n    const company = person.organization || {};\n    const uniqueKey = person.id + \"|\" + (company.name || \"\"); \n\n    if (seen.has(uniqueKey)) return;\n    seen.add(uniqueKey);\n\n    let websiteUrl = company.website_url || null;\n    let domain = company.primary_domain || null;\n\n    if (!domain && websiteUrl) {\n      try {\n        const parsedUrl = new URL(websiteUrl);\n        domain = parsedUrl.hostname.replace(/^www\\./, \"\");\n      } catch (err) {\n        domain = websiteUrl.replace(/^(https?:\\/\\/)?(www\\.)?/, \"\").split(/[/?#]/)[0];\n      }\n    }\n\n    results.push({\n      json: {\n        person: {   // 👈 wrapped object\n          uniqueKey: uniqueKey,\n          personId: person.id || null,\n          firstName: person.first_name || null,\n          lastName: person.last_name || null,\n          personLinkedInUrl: person.linkedin_url || null,\n          title: person.title || null,\n          city: person.city || null,\n          country: person.country || null,\n          companyName: company.name || null,\n          companyWebsite: websiteUrl,\n          primaryDomain: domain,\n          companyLinkedInUrl: company.linkedin_url || null\n        }\n      }\n    });\n  });\n});\n\nreturn results;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "f847fb0f-f82b-47c9-a493-9e859bc16a4e",
      "name": "Note adhésive11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -576,
        1840
      ],
      "parameters": {
        "color": 6,
        "height": 260,
        "content": "## Apollo Email Finder\n\nFind Verified Emails:\n\nFor each contact, this node asks Apollo.io to find their professional email address."
      },
      "typeVersion": 1
    },
    {
      "id": "18a68ac3-c63f-44aa-9169-a080eb1a21ce",
      "name": "Note adhésive12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        1840
      ],
      "parameters": {
        "color": 6,
        "height": 220,
        "content": "## Sanitising Email Details\n\nIsolate Email Data:\n\nPrepares the found email addresses for merging"
      },
      "typeVersion": 1
    },
    {
      "id": "2713732b-136d-4f9d-8964-ef5b54adeff6",
      "name": "Note adhésive13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        1296
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 240,
        "content": "## Merge Data\n\nCombine Data Streams:\n\nMerges the company data, the person data, and the email data together."
      },
      "typeVersion": 1
    },
    {
      "id": "20fc29b2-1b85-4f55-847f-51161415391b",
      "name": "Note adhésive14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        1056
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 240,
        "content": "## Structuring Complete Details of Person\n\nCreate Final Lead Profile:\n\nCombines all three data streams into a single, complete lead record for each person."
      },
      "typeVersion": 1
    },
    {
      "id": "6a07323e-c5aa-4cfa-8f8b-19662806e35b",
      "name": "Note adhésive15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        928,
        352
      ],
      "parameters": {
        "color": 3,
        "width": 280,
        "height": 240,
        "content": "## Save Leads to Google Sheets\n\nAppends each complete lead profile as a new row in the master spreadsheet."
      },
      "typeVersion": 1
    },
    {
      "id": "0b81960f-6d52-498d-9bd7-34689431fb88",
      "name": "Note adhésive16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        336
      ],
      "parameters": {
        "color": 3,
        "width": 280,
        "height": 260,
        "content": "## Fetching Leads Data\n\nRead Leads for AI:\n\nReads the newly saved leads from the sheet to begin the email generation phase."
      },
      "typeVersion": 1
    },
    {
      "id": "d19a3c2d-ec40-4263-aa09-799f3ab25e7a",
      "name": "Note adhésive17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        352
      ],
      "parameters": {
        "color": 3,
        "width": 280,
        "height": 300,
        "content": "## Validates Email Id and Email Content\n\nCheck Before AI Processing:\n\nFilters for leads that have a valid email but do NOT yet have a generated subject or body."
      },
      "typeVersion": 1
    },
    {
      "id": "0ccfe835-fc19-4ffa-acf8-644bc6149633",
      "name": "Note adhésive18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1408,
        1152
      ],
      "parameters": {
        "color": 2,
        "width": 280,
        "height": 180,
        "content": "## Apply Final Filter\n\nApplies a final condition before sending data to the AI model (e.g., for batching or testing).\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fd60f2ef-f30c-4450-9ce4-273946d0f3ed",
      "name": "Note adhésive19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1952,
        816
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 240,
        "content": "## Lead Email Generator\n\nAI Prompt Engine:\n\nTakes the lead data, combines it with the prompt, and sends it to the Gemini model.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "14f000f8-c23b-43fb-9dc8-53c056d09345",
      "name": "Note adhésive20",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1792,
        1520
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 240,
        "content": "## Google Gemini Chat Model\n\nGoogle Gemini Model:\n\nThe AI model that actually writes the email based on the provided data and instructions.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "17ef075d-dde3-4999-9868-f78f867fa322",
      "name": "Note adhésive21",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2448,
        816
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 240,
        "content": "## Update Sheet with Email\n\nUpdate Sheet with AI Email:\n\nSaves the generated subject and email body back into the correct row for the lead in Google Sheets.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d7ec9db4-05eb-4e9c-8916-26b046252611",
      "name": "Note adhésive22",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2416,
        1536
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 240,
        "content": "## Structured Output Parser\n\nFormat AI Output:\n\nTakes the raw text from Gemini and structures it into clean JSON (subject and email_body).\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "26ab04ae-8f36-4268-ac75-0628e12e321d",
      "name": "Note adhésive23",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2880,
        1200
      ],
      "parameters": {
        "color": 2,
        "width": 440,
        "height": 240,
        "content": "## Need Help? \n\nWe develop tailored workflow to save youe valuable time. Should you have any questions or wish to explore more custom automation solutions, we would be happy to connect\n\n\n### Email: getstarted@intuz.com\n### Website: https://www.intuz.com/\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "30bffaa6-f024-4725-a969-06f489de54d1",
      "name": "Fusion des données",
      "type": "n8n-nodes-base.merge",
      "position": [
        480,
        1120
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "db0db762-142e-4ea8-8ff3-f868fd7d262c",
      "name": "Filtre pour le traitement par lots",
      "type": "n8n-nodes-base.filter",
      "position": [
        1520,
        1008
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fed38656-1a21-4b77-babe-3c49a6f36124",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $json.row_number }}",
              "rightValue": 83
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "75ee3ba0-b483-48b3-a185-cd0aaec04290",
  "connections": {
    "30bffaa6-f024-4725-a969-06f489de54d1": {
      "main": [
        [
          {
            "node": "c2d53522-21bb-4d04-b3f5-f6c935356c9a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e36853c-5e15-42ac-9c7e-95c60aadf9da": {
      "main": [
        [
          {
            "node": "92470dd9-7f01-4795-b36a-8d1553a12e80",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9af7695c-fb5d-4a23-b7e3-8d26a821b4d1": {
      "main": [
        [
          {
            "node": "9469d083-1393-4661-bc1a-2626be76b3af",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b42ec2f9-f178-49e3-aaf8-026fb1b3b360": {
      "main": [
        [
          {
            "node": "dbd59767-6054-4a77-b097-73b537b7404d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "636f4815-dae0-4628-aa65-775781c405b5": {
      "main": [
        [
          {
            "node": "bb071500-09fa-492c-a64c-20fdd384e42a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "db0db762-142e-4ea8-8ff3-f868fd7d262c": {
      "main": [
        [
          {
            "node": "012dd6c0-612d-4bbb-b690-43282abc2df0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "012dd6c0-612d-4bbb-b690-43282abc2df0": {
      "main": [
        [
          {
            "node": "0fd7b446-8b69-4fb4-b79e-f69fbe4082ab",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "326bb4c6-ce73-4e76-9576-685319d00b1e": {
      "main": [
        [
          {
            "node": "636f4815-dae0-4628-aa65-775781c405b5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ee151293-9743-4df6-bf8c-fab51cf5df10": {
      "main": [
        [
          {
            "node": "30bffaa6-f024-4725-a969-06f489de54d1",
            "type": "main",
            "index": 0
          },
          {
            "node": "c25ec326-deb9-490e-97ab-ebe3521e41a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "43d308cf-516a-4acf-8b77-f20a3947f0cb": {
      "main": [
        [
          {
            "node": "ee151293-9743-4df6-bf8c-fab51cf5df10",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "12d544fc-86d7-4cbf-9be7-ed6d4730dbdf": {
      "ai_languageModel": [
        [
          {
            "node": "012dd6c0-612d-4bbb-b690-43282abc2df0",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "dbd59767-6054-4a77-b097-73b537b7404d": {
      "main": [
        [
          {
            "node": "30bffaa6-f024-4725-a969-06f489de54d1",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "78b63764-9948-40ca-be63-f188ff8faeba": {
      "ai_outputParser": [
        [
          {
            "node": "012dd6c0-612d-4bbb-b690-43282abc2df0",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "92470dd9-7f01-4795-b36a-8d1553a12e80": {
      "main": [
        [
          {
            "node": "9af7695c-fb5d-4a23-b7e3-8d26a821b4d1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "786da361-b3f8-45ee-a4d5-4b1a0a00c9c7": {
      "main": [
        [
          {
            "node": "b42ec2f9-f178-49e3-aaf8-026fb1b3b360",
            "type": "main",
            "index": 0
          },
          {
            "node": "30bffaa6-f024-4725-a969-06f489de54d1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "9469d083-1393-4661-bc1a-2626be76b3af": {
      "main": [
        [
          {
            "node": "13ccb5b9-221b-4be6-ba7c-02c53205fc63",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c1348833-1b28-4270-ae53-4dbcfc93251e": {
      "main": [
        [
          {
            "node": "5e36853c-5e15-42ac-9c7e-95c60aadf9da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c25ec326-deb9-490e-97ab-ebe3521e41a0": {
      "main": [
        [
          {
            "node": "786da361-b3f8-45ee-a4d5-4b1a0a00c9c7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "13ccb5b9-221b-4be6-ba7c-02c53205fc63": {
      "main": [
        [
          {
            "node": "43d308cf-516a-4acf-8b77-f20a3947f0cb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bb071500-09fa-492c-a64c-20fdd384e42a": {
      "main": [
        [
          {
            "node": "db0db762-142e-4ea8-8ff3-f868fd7d262c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6e685361-565d-4dc6-9149-a6c2b23fe2c3": {
      "main": [
        [
          {
            "node": "c1348833-1b28-4270-ae53-4dbcfc93251e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c2d53522-21bb-4d04-b3f5-f6c935356c9a": {
      "main": [
        [
          {
            "node": "326bb4c6-ce73-4e76-9576-685319d00b1e",
            "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é

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

Génération automatisée de prospects IA LinkedIn pour les emplois avec Apify, Apollo.io et Google Gemini
Automatisation de la génération de prospects d'offres d'emploi LinkedIn : Apify, Apollo.io et Google Gemini
If
Code
Limit
+
If
Code
Limit
47 NœudsIntuz
Génération de leads
Explorer les nœuds n8n dans la bibliothèque de références visuelles
Explorer les nœuds n8n dans la base de références visuelles
If
Ftp
Set
+
If
Ftp
Set
113 NœudsI versus AI
Autres
En direct - Automatisation de la création et de la publication de vidéos virales AI avec Gemini et Creatomate
Utiliser Gemini et Creatomate pour automatiser la création de vidéos IA et leur publication multiplateforme
Set
Code
Wait
+
Set
Code
Wait
47 NœudsIntuz
Création de contenu
01 Analyser la performance des publicités Facebook avec un acheteur d'espace médias IA et envoyer les informations dans Google Sheets
Analyser les publicités Facebook et envoyer les insights dans Google Sheets avec Gemini AI
If
Set
Code
+
If
Set
Code
34 NœudsJJ Tham
Étude de marché
Génération automatique de propositions Upwork en temps réel avec Apify, Google Gemini et Sheets
Utiliser Apify, Google Gemini et Sheets pour automatiser la génération de propositions Upwork IA
If
Set
Gmail
+
If
Set
Gmail
25 NœudsIntuz
Génération de leads
Sociétés financées par le capital-risque et enrichissement des informations
Automatisation de la génération de prospects et de l'e-mailing : Apify, Apollo.io, GPT-4 et Google Sheets
If
Code
Merge
+
If
Code
Merge
32 NœudsIntuz
Génération de leads
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds47
Catégorie-
Types de nœuds14
Description de la difficulté

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

Auteur
Intuz

Intuz

@intuz

Workflow automation can help automate your routine activities and help saves $$$, as well as hours of time. As a boutique tech consulting company, Intuz help businesses with custom AI/ML, AI Workflow Automations, and software development. Automate your business workflow for: Sales Marketing Accounting Finance Operations E-Commerce Customer Support Admin & Backoffice Logistics & Supply Chain

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34