8
n8n 한국어amn8n.com

09 - 잠재 리드 프로필 강화기

고급

이것은Lead Nurturing, Multimodal AI분야의자동화 워크플로우로, 30개의 노드를 포함합니다.주로 If, Set, Code, Wait, Gmail 등의 노드를 사용하며. 잠재 고객 정보 보강 및 개인화 아웃리치 자동화: HubSpot, Phantombuster 및 GPT

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • HubSpot API Key
  • HTTP Webhook 엔드포인트(n8n이 자동으로 생성)
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
  • OpenAI API Key
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "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": "Sticky Note",
      "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": "📝 사용자 트위터/링크드인으로 시트 업데이트",
      "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": "👤 연락처 가져오기",
      "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": "🔗 HubSpot 연락처 웹훅",
      "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": "✅ 트위터/링크드인 존재 여부 확인",
      "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": "🚀 프로필 스크래퍼 실행",
      "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": "🎯 트윗 스크래퍼 실행",
      "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": "⏳ 프로필 처리 대기",
      "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": "⏳ 트윗 처리 대기",
      "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": "📊 프로필 결과 가져오기",
      "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": "📊 트윗 결과 가져오기",
      "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": "🔍 프로필 URL 추출",
      "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": "🔍 트윗 URL 추출",
      "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": "📥 프로필 데이터 다운로드",
      "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": "📋 프로필 JSON 파싱",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1860,
        220
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "666741d2-2991-4582-ab3b-1249991e07b7",
      "name": "🏷️ 프로필 필드 형식 지정",
      "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": "🏷️ 트윗 필드 형식 지정",
      "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": "🔄 데이터 스트림 병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        2300,
        120
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "4366bb24-e6ae-4fcf-a5c7-6a2a96b24dd2",
      "name": "🧩 모든 데이터 결합",
      "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": "🧠 개인화된 이메일 생성",
      "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": "🤖 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": "✂️ 이메일 내용 파싱",
      "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": "📧 이메일 전송",
      "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": "Sticky Note1",
      "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": "Sticky Note2",
      "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": "📋 트윗 JSON 다운로드",
      "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": "📋 트윗 JSON 파싱",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1860,
        20
      ],
      "parameters": {
        "options": {},
        "operation": "fromJson"
      },
      "typeVersion": 1
    },
    {
      "id": "d3df814b-7990-4f80-92cb-748070d98068",
      "name": "Sticky Note3",
      "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": "Sticky Note4",
      "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": "Sticky Note5",
      "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
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 리드 육성, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수30
카테고리2
노드 유형14
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

저자
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.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34