09 - Amplificateur de profils de prospects

Avancé

Ceci est unLead Nurturing, Multimodal AIworkflow d'automatisation du domainecontenant 30 nœuds.Utilise principalement des nœuds comme If, Set, Code, Wait, Gmail. Automatisation de l'enrichissement et du contact personnalisé des prospects : HubSpot, Phantombuster et GPT

Prérequis
  • Compte Google et informations d'identification Gmail API
  • Clé API HubSpot
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • 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
{
  "id": "SANITIZED_WORKFLOW_ID",
  "meta": {
    "instanceId": "SANITIZED_INSTANCE_ID",
    "templateCredsSetupCompleted": false
  },
  "name": "09 - Lead Profile Enhancer",
  "tags": [],
  "nodes": [
    {
      "id": "7cac7cf5-958f-4a8b-8519-8ff30ea3dd1b",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -180,
        -160
      ],
      "parameters": {
        "color": 5,
        "width": 649,
        "height": 664,
        "content": "## 🔗 Trigger & Input\n\n**🔗 HubSpot Contact Webhook: Triggers when a new HubSpot contact is added or updated.\n\n👤 Fetch Contact: Retrieves full contact details using the object ID from the webhook.\n\n📝 Update Sheet with Users Twitter/LinkedIn: Logs Twitter/LinkedIn usernames in Google Sheets to track status.**\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "007a3ed2-25f0-4e78-8429-52b35586cc78",
      "name": "📝 Mettre à jour la feuille avec les utilisateurs Twitter/LinkedIn",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        320,
        120
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Done",
            "Profiles": "={{ $json.properties.twitter.value }}"
          },
          "schema": [
            {
              "id": "Profiles",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Profiles",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Profiles"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_GOOGLE_SHEET_ID",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit",
          "cachedResultName": "Your Sheet Name"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2 Credential"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "0515886e-a3d8-4a8e-a01b-90b8cb320348",
      "name": "👤 Récupérer le contact",
      "type": "n8n-nodes-base.hubspot",
      "position": [
        100,
        120
      ],
      "parameters": {
        "contactId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.body[0].objectId }}"
        },
        "operation": "get",
        "authentication": "appToken",
        "additionalFields": {}
      },
      "credentials": {
        "hubspotAppToken": {
          "id": "YOUR_HUBSPOT_CREDENTIAL_ID",
          "name": "HubSpot App Token Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "fec95488-309a-4b87-a38a-517eba206127",
      "name": "🔗 Contact HubSpot Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -120,
        120
      ],
      "webhookId": "YOUR_WEBHOOK_ID",
      "parameters": {
        "path": "webhook-endpoint",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "e16a8110-05b4-4712-8a14-eda731bf702b",
      "name": "✅ Valider l'existence Twitter/LinkedIn",
      "type": "n8n-nodes-base.if",
      "position": [
        540,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1d288783-b441-4f91-9067-c267015477e5",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.Profiles }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b39ce319-58df-431a-a187-f6f35d27ff5a",
      "name": "🚀 Lancer l'extracteur de profils",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        220
      ],
      "parameters": {
        "url": "=https://api.phantombuster.com/api/v2/agents/launch",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n  \"id\": \"YOUR_PROFILE_SCRAPER_ID\",\n  \"manualLaunch\": true\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_PHANTOMBUSTER_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "c1625010-5d09-46be-9c0a-4b68965a606a",
      "name": "🎯 Lancer l'extracteur de tweets",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        760,
        20
      ],
      "parameters": {
        "url": "=https://api.phantombuster.com/api/v2/agents/launch",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n  \"id\": \"YOUR_TWEET_SCRAPER_ID\",\n  \"manualLaunch\": true\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_PHANTOMBUSTER_API_KEY"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "ebf5cba0-2b4f-419c-b837-b6e6c16ce197",
      "name": "⏳ Attendre le traitement du profil",
      "type": "n8n-nodes-base.wait",
      "position": [
        980,
        220
      ],
      "webhookId": "YOUR_PROFILE_WAIT_WEBHOOK_ID",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "3045d517-cbfd-4211-b4e1-3ab9dceaf949",
      "name": "⏳ Attendre le traitement des tweets",
      "type": "n8n-nodes-base.wait",
      "position": [
        980,
        20
      ],
      "webhookId": "YOUR_TWEET_WAIT_WEBHOOK_ID",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "69537661-7f91-43a1-b7e7-0f2717c5d5ab",
      "name": "📊 Récupérer les résultats du profil",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1200,
        220
      ],
      "parameters": {
        "url": "=https://api.phantombuster.com/api/v2/containers/fetch-output?id={{ $json.containerId }}",
        "options": {
          "response": {
            "response": {}
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_PHANTOMBUSTER_API_KEY_1"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a92e1e5d-c07e-45e0-9ba9-ca00f348681e",
      "name": "📊 Récupérer les résultats des tweets",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1200,
        20
      ],
      "parameters": {
        "url": "=https://api.phantombuster.com/api/v2/containers/fetch-output?id={{ $json.containerId }}&withResultObject=true",
        "options": {
          "response": {
            "response": {}
          }
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_PHANTOMBUSTER_API_KEY_2"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "28b7f093-9752-4f3b-8c3a-cb9985d74852",
      "name": "🔍 Extraire l'URL du profil",
      "type": "n8n-nodes-base.code",
      "position": [
        1420,
        220
      ],
      "parameters": {
        "jsCode": "// Extract the JSON URL from the Phantombuster output\nconst output = $input.first().json.output;\n\n// More specific regex pattern to match the JSON result URL\nconst jsonUrlMatch = output.match(/JSON saved at (https:\\/\\/phantombuster\\.s3\\.amazonaws\\.com\\/\\w+\\/\\w+\\/result\\.json)/);\n\nif (jsonUrlMatch) {\n  return [{ json: { resultUrl: jsonUrlMatch[1] } }];\n} else {\n  // If JSON URL not found, also try to find CSV URL as fallback\n  const csvUrlMatch = output.match(/CSV saved at (https:\\/\\/phantombuster\\.s3\\.amazonaws\\.com\\/\\w+\\/\\w+\\/result\\.csv)/);\n  \n  if (csvUrlMatch) {\n    return [{ json: { resultUrl: csvUrlMatch[1] } }];\n  } else {\n    throw new Error('Could not find result URL in output. Output: ' + output);\n  }\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "5c3096a3-4b77-4edc-b44f-6a0758299fba",
      "name": "🔍 Extraire l'URL du tweet",
      "type": "n8n-nodes-base.code",
      "position": [
        1420,
        20
      ],
      "parameters": {
        "jsCode": "// Extract the JSON URL from the output\nconst output = $input.first().json.output;\nconst jsonUrlMatch = output.match(/JSON saved at (https:\\/\\/phantombuster\\.s3\\.amazonaws\\.com\\/[^\\s]+\\.json)/);\n\nif (jsonUrlMatch) {\n  return [{ json: { resultUrl: jsonUrlMatch[1] } }];\n} else {\n  throw new Error('Could not find result URL in output');\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "00aa83c9-c9d1-4649-a52e-ed61e1cefb90",
      "name": "📥 Télécharger les données du profil",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1640,
        220
      ],
      "parameters": {
        "url": "={{ $json.resultUrl }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "84dd3555-1bd1-4808-9dc0-6dab6650fd24",
      "name": "📋 Analyser les JSON du profil",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1860,
        220
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "666741d2-2991-4582-ab3b-1249991e07b7",
      "name": "🏷️ Formater les champs du profil",
      "type": "n8n-nodes-base.set",
      "position": [
        2080,
        220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "db34c1fc-0c06-4704-af41-5aa212f5436d",
              "name": "Twitter",
              "type": "string",
              "value": "={{ $json.data[0].query }}"
            },
            {
              "id": "cccd2ae9-6f56-45f7-8dcd-6a1d2253c86d",
              "name": "Tweet Count",
              "type": "string",
              "value": "={{ $json.data[0].tweetsCount }}"
            },
            {
              "id": "42e93287-b26a-4512-9c75-ced1102222ea",
              "name": "Followers",
              "type": "string",
              "value": "={{ $json.data[0].followers }}"
            },
            {
              "id": "ff19814a-1507-4855-9c82-94cb1e5b5afc",
              "name": "Following",
              "type": "string",
              "value": "={{ $json.data[0].following }}"
            },
            {
              "id": "04919753-74e6-4358-8ddb-4ce39e03e0cb",
              "name": "Likes",
              "type": "string",
              "value": "={{ $json.data[0].likes }}"
            },
            {
              "id": "0864c613-5243-4ec6-b804-a8e234a85706",
              "name": "Lists",
              "type": "string",
              "value": "={{ $json.data[0].lists }}"
            },
            {
              "id": "e6b83a62-7687-4c5c-bc53-4fcf12e184fe",
              "name": "Bio",
              "type": "string",
              "value": "={{ $json.data[0].bio }}"
            },
            {
              "id": "cd6a44d1-ba8b-45fb-99d1-ccc6e76a395b",
              "name": "Website",
              "type": "string",
              "value": "={{ $json.data[0].website }}"
            },
            {
              "id": "39c544e4-0253-464e-ba89-f093db6575a5",
              "name": "Verified",
              "type": "string",
              "value": "={{ $json.data[0].verified }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "217803a0-a475-4b87-bd5b-573682b956c9",
      "name": "🏷️ Formater les champs des tweets",
      "type": "n8n-nodes-base.set",
      "position": [
        2080,
        20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c25b75bf-dd1a-48c4-bdd7-5e7ad939cae6",
              "name": "Tweets",
              "type": "string",
              "value": "="
            },
            {
              "id": "a6ab20fe-d29d-4fbb-8f72-fd232db84e8b",
              "name": "Email",
              "type": "string",
              "value": "={{ $('👤 Fetch Contact').item.json.properties.email.value }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2f321e43-3784-4097-a261-7812b97e645c",
      "name": "🔄 Fusionner les flux de données",
      "type": "n8n-nodes-base.merge",
      "position": [
        2300,
        120
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "4366bb24-e6ae-4fcf-a5c7-6a2a96b24dd2",
      "name": "🧩 Combiner toutes les données",
      "type": "n8n-nodes-base.code",
      "position": [
        2520,
        120
      ],
      "parameters": {
        "jsCode": "// Get all input items\nconst inputData = $input.all().map(item => item.json);\n\n// Merge all objects into one\nconst combined = inputData.reduce((acc, curr) => {\n  return { ...acc, ...curr };\n}, {});\n\n// Return the merged object\nreturn [\n  {\n    json: combined\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "96797231-0f43-4e79-bc87-e62e5ba63b11",
      "name": "🧠 Générer un e-mail personnalisé",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2740,
        120
      ],
      "parameters": {
        "text": "=You are an AI assistant helping write personalized emails using social media profile data.\n\nHere is the extracted Twitter profile data:\n\n{\n  \"Tweets\": {{ $json.Tweets }},\n  \"Twitter\": {{ $json.Twitter }},\n  \"Tweet Count\": {{ $json['Tweet Count'] }},\n  \"Followers\": {{ $json.Followers }},\n  \"Following\": {{ $json.Following }},\n  \"Likes\": {{ $json.Likes }},\n  \"Lists\": {{ $json.Lists }},\n  \"Bio\": {{ $json.Bio }},\n  \"Website\": {{ $json.Website }},\n  \"Verified\": {{ $json.Verified }}\n}\n\n✅ Based on this, write a professional and engaging HTML email to the user of the profile.\nThe email should:\n\nStart with a relevant and compelling subject line.\n\nInclude a personalized introduction using the profile info (like follower count, profession, etc.).\n\nMention the value we can offer (you can assume the sender is a brand or platform).\n\nInclude a call to action (e.g., connect with us, collaborate, reply back, etc.).\n\nBe formatted in clean HTML.\n\n🔻 Your response must be a JSON with two keys:\n\n\"subject\": Plain text string for email subject.\n\n\"body\": A string with HTML content of the email body.\n\nhere's my information \nName: [YOUR_NAME]\nPosition: [YOUR_POSITION]\nCompany: [YOUR_COMPANY]\nTwitter: [YOUR_TWITTER_URL]\nInstagram: [YOUR_INSTAGRAM_URL]\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "7318c5ff-85e3-4cd3-bfda-0d84e7e4f4e6",
      "name": "🤖 Modèle de langage OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2828,
        340
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "YOUR_OPENAI_CREDENTIAL_ID",
          "name": "OpenAI API Credential"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "516f428e-e79e-41c2-946c-6d9b299ba651",
      "name": "✂️ Analyser le contenu de l'e-mail",
      "type": "n8n-nodes-base.code",
      "position": [
        3116,
        120
      ],
      "parameters": {
        "jsCode": "// Get the raw string inside the output field\nconst rawOutput = $input.first().json.output;\n\n// Remove ```json and ``` if present, and trim whitespace\nconst cleaned = rawOutput\n  .replace(/```json|```/g, '')\n  .trim();\n\n// Parse the cleaned JSON string\nconst parsed = JSON.parse(cleaned);\n\n// Return subject and body\nreturn [\n  {\n    json: {\n      subject: parsed.subject,\n      body: parsed.body\n    }\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "f63668c9-dde2-447e-9dff-397cb97875ef",
      "name": "📧 Envoyer l'e-mail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3336,
        120
      ],
      "webhookId": "YOUR_EMAIL_WEBHOOK_ID",
      "parameters": {
        "sendTo": "={{ $('🧩 Combine All Data').item.json.Email }}",
        "message": "={{ $json.body }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "={{ $json.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YOUR_GMAIL_CREDENTIAL_ID",
          "name": "Gmail OAuth2 Credential"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "d3dd663b-8251-41cd-9e83-41fce92bc67f",
      "name": "Note adhésive 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        480,
        -160
      ],
      "parameters": {
        "width": 220,
        "height": 660,
        "content": "## ✅ Conditional Path\n\n**✅ Validate Twitter/LinkedIn Exists: Ensures the Profiles field exists before triggering the scraping process.**"
      },
      "typeVersion": 1
    },
    {
      "id": "2c82fb3f-9b14-4872-970d-384bd4c17849",
      "name": "Note adhésive 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -560
      ],
      "parameters": {
        "color": 3,
        "width": 840,
        "height": 1060,
        "content": "## 🔍 Social Media Scraping (Using Phantombuster)\n\n**🚀 Phantombuster Profile & Tweet Scrapers:\nLaunch Profile Scraper & Launch Tweet Scraper trigger external Phantombuster agents using an HTTP POST request.\n\nThe API call includes:\n\nX-Phantombuster-Key-1: Your Phantombuster API key\n\nContent-Type: application/json\n\nscriptId: The specific ID of the Phantom (Twitter Profile Scraper, Twitter Tweet Scraper, etc.)\n\narguments: JSON-formatted input with data such as Twitter handle, number of tweets, etc.\n\n⏳ Wait Nodes:\nAdded to allow time for Phantombuster to finish its scraping job (typically 30s to 60s).\n\n📊 Result Retrieval:\nFetch Profile/Tweet Results: Calls the https://api.phantombuster.com/api/v2/agents/fetch-output endpoint with the agent ID to get the latest job's result.\n\nExtract URL: Extracts the actual downloadable .json URL from the response.**"
      },
      "typeVersion": 1
    },
    {
      "id": "3bfc5f34-f068-42a7-a1d4-bc52767b64c0",
      "name": "📋 Télécharger les JSON du tweet",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1640,
        20
      ],
      "parameters": {
        "url": "={{ $json.resultUrl }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "21dad60e-b732-47e3-97ae-3c0ebc596393",
      "name": "📋 Analyser les JSON du tweet",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1860,
        20
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "d3df814b-7990-4f80-92cb-748070d98068",
      "name": "Note adhésive 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        -260
      ],
      "parameters": {
        "color": 6,
        "width": 420,
        "height": 760,
        "content": "## 📥 Data Download & Parsing\n\n**📥 Download Profile Data & 📋 Parse Profile JSON\n\n📋 Parse Tweet JSON (via HTTP request + extract JSON)\n\nExtract from File1: Converts Tweet JSON to usable object format.**"
      },
      "typeVersion": 1
    },
    {
      "id": "e3c99a78-d4ad-4fc4-8ef7-a0729f2e624f",
      "name": "Note adhésive 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2040,
        -360
      ],
      "parameters": {
        "color": 4,
        "width": 640,
        "height": 860,
        "content": "## 🏷️ Data Structuring\n\n**🏷️ Format Profile Fields: Maps important profile stats like bio, followers, verified status, likes, etc.\n\n🏷️ Format Tweet Fields: Assigns tweets and email from HubSpot contact to prepare for merging.**\n\n## 🔄 Data Merging\n\n**🔄 Merge Data Streams: Combines tweet and profile data streams.\n\n🧩 Combine All Data: Consolidates all merged values into a single object for prompt input.**"
      },
      "typeVersion": 1
    },
    {
      "id": "f88a12de-b2ce-4de5-a0e8-767098748464",
      "name": "Note adhésive 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2700,
        -180
      ],
      "parameters": {
        "color": 5,
        "width": 780,
        "height": 680,
        "content": "## ✉️ Email Generation & Delivery\n\n**🧠 Generate Personalized Email: Uses LangChain + OpenAI GPT to craft a custom HTML email using the Twitter data and your personal brand details.\n\n✂️ Parse Email Content: Parses the AI's raw response to extract the subject + HTML body as clean JSON.\n\n📧 Sends Email: Automatically sends the personalized email to the user's email address from Gmail.**"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "SANITIZED_VERSION_ID",
  "connections": {
    "0515886e-a3d8-4a8e-a01b-90b8cb320348": {
      "main": [
        [
          {
            "node": "007a3ed2-25f0-4e78-8429-52b35586cc78",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "21dad60e-b732-47e3-97ae-3c0ebc596393": {
      "main": [
        [
          {
            "node": "217803a0-a475-4b87-bd5b-573682b956c9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4366bb24-e6ae-4fcf-a5c7-6a2a96b24dd2": {
      "main": [
        [
          {
            "node": "96797231-0f43-4e79-bc87-e62e5ba63b11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5c3096a3-4b77-4edc-b44f-6a0758299fba": {
      "main": [
        [
          {
            "node": "3bfc5f34-f068-42a7-a1d4-bc52767b64c0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "84dd3555-1bd1-4808-9dc0-6dab6650fd24": {
      "main": [
        [
          {
            "node": "666741d2-2991-4582-ab3b-1249991e07b7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2f321e43-3784-4097-a261-7812b97e645c": {
      "main": [
        [
          {
            "node": "4366bb24-e6ae-4fcf-a5c7-6a2a96b24dd2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a92e1e5d-c07e-45e0-9ba9-ca00f348681e": {
      "main": [
        [
          {
            "node": "5c3096a3-4b77-4edc-b44f-6a0758299fba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bfc5f34-f068-42a7-a1d4-bc52767b64c0": {
      "main": [
        [
          {
            "node": "21dad60e-b732-47e3-97ae-3c0ebc596393",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "28b7f093-9752-4f3b-8c3a-cb9985d74852": {
      "main": [
        [
          {
            "node": "00aa83c9-c9d1-4649-a52e-ed61e1cefb90",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c1625010-5d09-46be-9c0a-4b68965a606a": {
      "main": [
        [
          {
            "node": "3045d517-cbfd-4211-b4e1-3ab9dceaf949",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "516f428e-e79e-41c2-946c-6d9b299ba651": {
      "main": [
        [
          {
            "node": "f63668c9-dde2-447e-9dff-397cb97875ef",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "69537661-7f91-43a1-b7e7-0f2717c5d5ab": {
      "main": [
        [
          {
            "node": "28b7f093-9752-4f3b-8c3a-cb9985d74852",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "00aa83c9-c9d1-4649-a52e-ed61e1cefb90": {
      "main": [
        [
          {
            "node": "84dd3555-1bd1-4808-9dc0-6dab6650fd24",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7318c5ff-85e3-4cd3-bfda-0d84e7e4f4e6": {
      "ai_languageModel": [
        [
          {
            "node": "96797231-0f43-4e79-bc87-e62e5ba63b11",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "217803a0-a475-4b87-bd5b-573682b956c9": {
      "main": [
        [
          {
            "node": "2f321e43-3784-4097-a261-7812b97e645c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b39ce319-58df-431a-a187-f6f35d27ff5a": {
      "main": [
        [
          {
            "node": "ebf5cba0-2b4f-419c-b837-b6e6c16ce197",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fec95488-309a-4b87-a38a-517eba206127": {
      "main": [
        [
          {
            "node": "0515886e-a3d8-4a8e-a01b-90b8cb320348",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3045d517-cbfd-4211-b4e1-3ab9dceaf949": {
      "main": [
        [
          {
            "node": "a92e1e5d-c07e-45e0-9ba9-ca00f348681e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "666741d2-2991-4582-ab3b-1249991e07b7": {
      "main": [
        [
          {
            "node": "2f321e43-3784-4097-a261-7812b97e645c",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "ebf5cba0-2b4f-419c-b837-b6e6c16ce197": {
      "main": [
        [
          {
            "node": "69537661-7f91-43a1-b7e7-0f2717c5d5ab",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96797231-0f43-4e79-bc87-e62e5ba63b11": {
      "main": [
        [
          {
            "node": "516f428e-e79e-41c2-946c-6d9b299ba651",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e16a8110-05b4-4712-8a14-eda731bf702b": {
      "main": [
        [
          {
            "node": "b39ce319-58df-431a-a187-f6f35d27ff5a",
            "type": "main",
            "index": 0
          },
          {
            "node": "c1625010-5d09-46be-9c0a-4b68965a606a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "007a3ed2-25f0-4e78-8429-52b35586cc78": {
      "main": [
        [
          {
            "node": "e16a8110-05b4-4712-8a14-eda731bf702b",
            "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é - Nurturing 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.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds30
Catégorie2
Types de nœuds14
Description de la difficulté

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

Auteur
Avkash Kakdiya

Avkash Kakdiya

@itechnotion

🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders. 💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers. 🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools. 📬 Let’s automate what slows you down.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34