自定义冷邮件破冰内容生成器
高级
这是一个Lead Generation, Multimodal AI领域的自动化工作流,包含 24 个节点。主要使用 Set, Code, Slack, Filter, HttpRequest 等节点。 通过Apollo线索抓取和GPT-4.1自动化个性化冷邮件
前置要求
- •Slack Bot Token 或 Webhook URL
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "ZHXRCYewmdPybb2a",
"meta": {
"instanceId": "de7078f0855f0e960f39df9530d5e9762516cd1dfa98b13db725c63cf3f45fe9",
"templateCredsSetupCompleted": true
},
"name": "Template v07/31 - Custom Cold Email Icebreaker Writer",
"tags": [
{
"id": "Gn50itWF7nQz4HWE",
"name": "Advetica AI Automations",
"createdAt": "2025-07-16T17:56:49.888Z",
"updatedAt": "2025-07-16T17:56:49.888Z"
},
{
"id": "Ki43TEjHd7EDcykZ",
"name": "My Templates",
"createdAt": "2025-07-31T13:58:06.976Z",
"updatedAt": "2025-07-31T13:58:06.976Z"
}
],
"nodes": [
{
"id": "5e4e86bd-775b-4162-ab47-ef4050a39c59",
"name": "Website Summary",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1104,
-256
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=You are a helpful assistant. From a social media marketing agency's website, you get its scraped content as a plain text. You turn each website's content into a summarized short paragraph of what that agency offers to people.\n\nYou also include something specific, unique that agency offers. Something that can be congratulated on, something that they achieved, is extraordinary or be commented in a cold email."
},
{
"content": "=User Input:\nWebsite content: {{ $json.plainText }}\nAgency Name: {{ $('Keep Fields').item.json.organization_name }}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "V3Jm4IHcAE2t5qRT",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "fa5c8394-9908-44ae-9f5e-6e66e9f774e2",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
176,
-272
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "b3df97ad-4a8d-4dcd-ab06-7b423ff1e1a6",
"name": "Icebreaker Writer",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
624,
48
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=You are an AI assistant responsible for writing short, natural-sounding cold emails for business owners. You’ll get the lead’s first name, agency name, their city, and content scraped from their website. Your job is to write a concise, human email that feels personal, short and starts a real conversation — not a sales pitch.\n\n# Goal\nGenerate a short cold email icebreaker that contains a personalized comment from their website content.\n\n# Structure\n- Use this:\nHey {{ $('Keep Fields').item.json.first_name }}, Love {something unique about {business_name}}. Also doing (marketing) in {{ $('Keep Fields').item.json.city }}. Wanted to run something by you.\n - Keep the \"{something unique about {agency_name}}\" quite short, don't overcomplicate! Cut out some words of a sentence if needed to make it more direct and natural. Keep it at 8–12 words. Always include the business' name in the first sentence. If you don’t have the business' name, just use “you” (e.g. “Love how you…”)\n - The word “business” can be varied, based on what the business is doing / offering as a service / which niche they're in — examples are “digital marketing”, “SEO”, “web dev”, etc., or describe what the business helps clients do (e.g. “also helping brands scale paid traffic”)\n\n# Notes\n- The first sentence must include something real from their website — a standout phrase, specialty, service focus, etc. — but keep it short (8–12 words).\n- DO NOT use or imply any \"blends\", \"mixtures\", \"combines\", \"fusions\", or anything similar. (IMPORTANT)\n- You can say \"...you guys at {business_name}...\" — feel free to shorten long names. If you don't have the agency name, just include \"you\" instead (e.g. “Love how you…”)\n- Be quick, natural, and direct. Use casual language, like a human.\n- NEVER be cringe.\n- One adjective max if describing something.\n- Always start with: \"Hey {First Name},\" — with the comma! Do not add another comma in the sentence.\n- No parentheses ().\n- Tone: warm, confident, unpolished — like talking to someone at a bar. Not marketing.\n- No over-explaining. No emojis. No hype. No “salesy” phrases.\n- If there’s no info on the website, use this fallback:\n Hey {{ $('Keep Fields').item.json.first_name }}, Came across {{ $('Keep Fields').item.json.organization_name }} and wanted to reach out. Also doing (business) in {{ $('Keep Fields').item.json.city }}. Thought you might find this useful.\n\n# Forbidden Words / Phrases (HARD REJECTION if used or implied):\n- blend / blends\n- vibe\n- thoughtful\n- approach\n- awesome\n- amazing\n- innovative\n- disrupt\n- nails\n- combine / combines / combined\n- fuse / fuses / fused\n- mix / mixes / mixed\n- mixture / mixtures\n\n# If any banned word appears in the scraped content, you MUST rephrase in plain, human terms.\n# NEVER imply a \"blend\" or \"combination\" using other language.\n\n# Input Formatting Rules\n- First name must be capitalized like this:\n - \"Richard\", \"Aaron\", \"Abaya\"\n - Keep initials like “A.J.” as is\n\n# Examples\n\n✅ Good icebreakers:\n\"Love your UGC push for meal brands\"\n\"Love the Shopify work you did for Bombas\"\n\"Love how you use TikTok for product drops\"\n\"Love the recent Klarna partnership rollout\"\n\"Love that meta humor in your agency reel\"\n\n❌ Bad icebreakers:\n\"Love your thoughtful strategy\"\n\"Love your creative vibe\"\n\"Love your innovative blend of data and storytelling\"\n\"Love how your team blends design and analytics\"\n\n# Input Fields\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Business Name: {{ $('Keep Fields').item.json.organization_name }}\n- City: {{ $('Keep Fields').item.json.city }}\n- Website Content: {{ $json.message.content }}\n\n# Utility Function (pseudocode to implement in agent logic):\nfunction formatName(name) {\n if (name.match(/^[A-Z]\\.[A-Z]\\.$/)) return name; // e.g., A.J.\n return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n}\n"
},
{
"content": "=# Input Fields\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Agency Name: {{ $('Keep Fields').item.json.organization_name }}\n- City: {{ $('Keep Fields').item.json.city }}\n- Website Content: {{ $json.message.content }}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "V3Jm4IHcAE2t5qRT",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "79f58fdf-cf76-4697-b52a-04535eadd2a8",
"name": "Subject Line Writer",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1024,
48
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "=You are an AI assistant responsible for generating a single short and natural-sounding subject line for a cold email sent to a business owners.\n\n# Goal\nWrite a subject line that:\n- Feels personal — like it came from a thoughtful peer, not a marketer\n- Sounds casual and human, as if part of a conversation\n- Sparks curiosity without trying to sell\n- Relates naturally to the cold email's opening line\n\n# Rules\n- Output only **one** subject line (no bullet points, no prefix like \"Subject:\")\n- Keep it under **40 characters**\n- Include the lead’s **first name** if it fits naturally\n- Reflect the tone or theme of the email's personalized opening (e.g., if the email mentions something about their style or launch, hint at that)\n- NEVER use:\n - Clickbait or gimmicks (e.g., “FWD:”, “Re:”)\n - Buzzwords (“growth,” “optimize,” “revenue”, \"streamline\")\n - Emojis or punctuation like “!” \n- DO NOT start with “Subject:” or quotation marks\n- You don't always have to point out a specific thing - sometimes, you can also write \"Thought this might fit\", \"Congrats — quick thing\", \"Bianca, quick thought\"\n\n# Input Variables\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Website Content: {{ $('Website Summary').item.json.message.content }}\n- Cold Email: {{ $json.message.content }}\n\n# Examples\n\n**If First Name = Bianca** \nOpening Line = “Saw you teach both Pilates and strength classes — love that blend.” \n→ Bianca, loved that combo \n→ Bianca, quick thought\n→ Something for your coaching flow\n\n**If First Name = Jordan** \nOpening Line = “Congrats on launching the new group program — saw it on your site.” \n→ Jordan, saw the launch \n→ Thought this might fit \n→ Congrats — quick thing\n\n# Voice & Intention\nYour tone should be warm and specific — never robotic or salesy. \nYou’re not trying to pitch. You’re trying to get them to open the email because it sounds like it’s from someone who actually paid attention.\n"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "V3Jm4IHcAE2t5qRT",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "964c47b1-6723-423a-a4e8-99e7feeca275",
"name": "When clicking ‘Execute workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1648,
-288
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d3b4360f-1667-4e80-81f6-05f3d364c527",
"name": "Create spreadsheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1424,
-288
],
"parameters": {
"title": "Scraped Leads",
"options": {},
"resource": "spreadsheet"
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "ex0arsKYqRTx23h4",
"name": "Google Sheets account 2"
}
},
"typeVersion": 4.6
},
{
"id": "3b894213-ddcf-4bc8-b83a-cb4426d0563f",
"name": "EDIT Apollo URL + Amount",
"type": "n8n-nodes-base.set",
"position": [
-1072,
-704
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "57cb10ee-3189-464e-b20d-514ee13017c3",
"name": "Apollo URL",
"type": "string",
"value": ""
},
{
"id": "04a61783-c3ed-4fbf-b905-ec4530ff147d",
"name": "Amount to Scrape",
"type": "string",
"value": ""
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a7b45d3c-0e18-4fd4-8de5-7f36c3a807b4",
"name": "Keep Fields",
"type": "n8n-nodes-base.set",
"position": [
-112,
-272
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5eb4ef62-cdf5-4b5f-a4a6-bfa0295f075a",
"name": "first_name",
"type": "string",
"value": "={{ $json.first_name }}"
},
{
"id": "f06da4be-cf02-4cd7-adba-3f45ebbc6ca2",
"name": "last_name",
"type": "string",
"value": "={{ $json.last_name }}"
},
{
"id": "ad32e977-b973-40a3-94d4-283b9760c6b0",
"name": "email",
"type": "string",
"value": "={{ $json.email }}"
},
{
"id": "eb1e5f3f-daf3-44a7-b641-17ec11a56503",
"name": "organization_name",
"type": "string",
"value": "={{ $json.organization_name }}"
},
{
"id": "98ba5b54-ef78-48bf-997e-c3c3d2d06e8b",
"name": "organization_website_url",
"type": "string",
"value": "={{ $json.organization_website_url }}"
},
{
"id": "5634ba39-ed23-4ef6-80f8-7ca0babbf476",
"name": "city",
"type": "string",
"value": "={{ $json.city }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b5780b16-1b89-4daf-9ffe-8e8113a249c6",
"name": "Filter URL + Email",
"type": "n8n-nodes-base.filter",
"position": [
-304,
-272
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cb033b7d-fcc8-4504-a534-397c42e05b88",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.email }}",
"rightValue": ""
},
{
"id": "3f48d7e0-f786-48b4-9094-119e444feba1",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.organization_website_url }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "62ad69c8-526d-4718-ab3d-014a69e5aa5c",
"name": "Call Apify Scraper",
"type": "n8n-nodes-base.httpRequest",
"position": [
-736,
-272
],
"parameters": {
"method": "POST",
"options": {},
"jsonBody": "={\n \"cleanOutput\": true,\n \"totalRecords\": {{ $json['Amount to Scrape'] }},\n \"url\": \"{{ $json['Apollo URL'] }}\"\n} ",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "e7d1d155-fe52-4bc4-9cd4-414ee5c2cc59",
"name": "Receive Scraper's Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
-512,
-272
],
"parameters": {
"options": {}
},
"typeVersion": 4.2
},
{
"id": "85c8ec84-c536-44ac-b6cf-47bfa9e2bce7",
"name": "Append or update row in sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1024,
304
],
"parameters": {
"columns": {
"value": {},
"schema": [],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "={{ $('Create spreadsheet').item.json.sheets[0].properties.title }}"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Create spreadsheet').item.json.spreadsheetId }}"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "wvNvKEMKTceQSxtR",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "890010b8-307d-47d7-810a-6cf579b4919c",
"name": "Save To Spreadsheet",
"type": "n8n-nodes-base.set",
"position": [
800,
304
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "a0d72f35-2b21-4969-9cfb-81388e04a0b0",
"name": "First Name",
"type": "string",
"value": "={{ $('Keep Fields').item.json.first_name }}"
},
{
"id": "33d6f687-b08d-439b-853e-aa81f840a003",
"name": "Last Name",
"type": "string",
"value": "={{ $('Keep Fields').item.json.last_name }}"
},
{
"id": "1f741189-c595-4818-927a-5e17721974ba",
"name": "Email",
"type": "string",
"value": "={{ $('Keep Fields').item.json.email }}"
},
{
"id": "14f2b0f7-ca94-445e-8e3a-865c2bab4f4d",
"name": "Business Name",
"type": "string",
"value": "={{ $('Keep Fields').item.json.organization_name }}"
},
{
"id": "ac403aaa-6aac-41ea-88fa-304a61eb6b67",
"name": "Website URL",
"type": "string",
"value": "={{ $('Keep Fields').item.json.organization_website_url }}"
},
{
"id": "80faaa28-9725-4ae5-adf4-cc38f14c0479",
"name": "Icebreaker",
"type": "string",
"value": "={{ $('Icebreaker Writer').item.json.message.content }}"
},
{
"id": "c94f9c56-ad9a-4672-86ba-e7c08af05adb",
"name": "Subject Line",
"type": "string",
"value": "={{ $json.message.content }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9aaff82c-d078-4e30-b144-f736d98b00df",
"name": "HTTP -> Plain Text",
"type": "n8n-nodes-base.code",
"position": [
752,
-256
],
"parameters": {
"jsCode": "// HTML to Plain Text Converter for n8n Code Node\n// This code takes HTML content and converts it to clean plain text\n\n// Get the HTML content from the previous node\n// Adjust the field name based on your input data structure\nconst htmlContent = $input.first().json.data\n\nif (!htmlContent) {\n return [{ json: { error: \"No HTML content found in input\" } }];\n}\n\n// Function to strip HTML tags and decode HTML entities\nfunction htmlToPlainText(html) {\n let text = html;\n \n // Remove script and style elements completely\n text = text.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/gi, '');\n text = text.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/gi, '');\n \n // Replace common block elements with line breaks\n text = text.replace(/<\\/?(div|p|br|h[1-6]|li|tr)[^>]*>/gi, '\\n');\n \n // Replace list items with bullet points\n text = text.replace(/<li[^>]*>/gi, '• ');\n \n // Remove all remaining HTML tags\n text = text.replace(/<[^>]*>/g, '');\n \n // Decode common HTML entities\n const entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n ''': \"'\",\n ' ': ' ',\n '©': '©',\n '®': '®',\n '™': '™',\n '…': '...',\n '—': '—',\n '–': '–'\n };\n \n for (const [entity, char] of Object.entries(entityMap)) {\n text = text.replace(new RegExp(entity, 'g'), char);\n }\n \n // Decode numeric HTML entities (e.g., {)\n text = text.replace(/&#(\\d+);/g, (match, dec) => {\n return String.fromCharCode(dec);\n });\n \n // Decode hex HTML entities (e.g., )\n text = text.replace(/&#x([0-9A-Fa-f]+);/g, (match, hex) => {\n return String.fromCharCode(parseInt(hex, 16));\n });\n \n // Clean up whitespace\n text = text.replace(/\\n\\s*\\n/g, '\\n\\n'); // Remove excessive line breaks\n text = text.replace(/[ \\t]+/g, ' '); // Replace multiple spaces/tabs with single space\n text = text.trim(); // Remove leading/trailing whitespace\n \n return text;\n}\n\ntry {\n const plainText = htmlToPlainText(htmlContent);\n \n return [{\n json: {\n originalHtml: htmlContent,\n plainText: plainText,\n characterCount: plainText.length,\n wordCount: plainText.split(/\\s+/).filter(word => word.length > 0).length,\n success: true\n }\n }];\n \n} catch (error) {\n return [{\n json: {\n error: `Failed to convert HTML to text: ${error.message}`,\n originalHtml: htmlContent,\n success: false\n }\n }];\n}"
},
"typeVersion": 2
},
{
"id": "b329a42d-1cc3-4b61-b567-e3d834e7d75a",
"name": "Crawl Website Content",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
528,
-256
],
"parameters": {
"url": "={{ $json.organization_website_url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "453c94dc-3f83-4872-85df-48b84e2291cb",
"name": "Send a message",
"type": "n8n-nodes-base.slack",
"position": [
608,
-624
],
"webhookId": "210406a4-6d26-42d6-8164-fe0c84be50dd",
"parameters": {
"otherOptions": {}
},
"typeVersion": 2.3
},
{
"id": "27f8c017-0946-40f0-8deb-5fccca97f9e6",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1744,
-448
],
"parameters": {
"width": 544,
"height": 400,
"content": "## Create Spreadsheet To Capture Leads\n\n- This section creates a spreadsheet inside your Google Drive Account to capture all leads and their Icebreaker / Subject Line.\n- Make sure to add credentials."
},
"typeVersion": 1
},
{
"id": "616c91c6-4310-4f4c-81f7-4bde3134e51f",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1216,
-816
],
"parameters": {
"color": 3,
"width": 400,
"height": 304,
"content": "## Edit This\n- Inside this node, insert the Apollo URL you want to scrape, and how many (must be at least 500)."
},
"typeVersion": 1
},
{
"id": "fe957012-f7b0-4027-86a8-ebeecdbd0912",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-832,
-448
],
"parameters": {
"width": 864,
"height": 400,
"content": "## Apollo Scraper\n- The first node calls the \"🔥Apollo Scraper - Scrape upto 50k Leads\" Apify scraper. For that, insert the \"Run Actor synchronously\" API inside API > API Endpoints.\n- The second node receives the scraper's data. Insert the \"Get last run dataset items\" API.\n- Filters out those leads how do not have a website or email included."
},
"typeVersion": 1
},
{
"id": "17701486-28c9-4997-8f25-2a60a7eb01a0",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-352
],
"parameters": {
"width": 528,
"height": 256,
"content": "## Crawl Website Content and Convert to Plain Text"
},
"typeVersion": 1
},
{
"id": "aec44523-f375-43bb-9723-9841160b7f76",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-32
],
"parameters": {
"width": 1040,
"height": 224,
"content": "## Write Icebreaker and Subject Line"
},
"typeVersion": 1
},
{
"id": "2e5432f7-2563-4666-ab32-295b93c2aeb0",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1040,
-352
],
"parameters": {
"width": 432,
"height": 256,
"content": "## Summarise Website's Content"
},
"typeVersion": 1
},
{
"id": "f939ef76-10e0-475b-b884-c9923c15c69c",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
240
],
"parameters": {
"color": 4,
"width": 1040,
"height": 272,
"content": "## Save to Spreadsheet"
},
"typeVersion": 1
},
{
"id": "a3cdfbcd-e338-4fc5-97f3-5ec2f6a0dd2f",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
448,
-704
],
"parameters": {
"color": 4,
"width": 352,
"height": 240,
"content": "## Send Slack Notification Once Done"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "91b75e6f-10e5-4e2f-9ef3-04a81cfadd97",
"connections": {
"a7b45d3c-0e18-4fd4-8de5-7f36c3a807b4": {
"main": [
[
{
"node": "fa5c8394-9908-44ae-9f5e-6e66e9f774e2",
"type": "main",
"index": 0
}
]
]
},
"fa5c8394-9908-44ae-9f5e-6e66e9f774e2": {
"main": [
[
{
"node": "453c94dc-3f83-4872-85df-48b84e2291cb",
"type": "main",
"index": 0
}
],
[
{
"node": "b329a42d-1cc3-4b61-b567-e3d834e7d75a",
"type": "main",
"index": 0
}
]
]
},
"5e4e86bd-775b-4162-ab47-ef4050a39c59": {
"main": [
[
{
"node": "b3df97ad-4a8d-4dcd-ab06-7b423ff1e1a6",
"type": "main",
"index": 0
}
]
]
},
"b3df97ad-4a8d-4dcd-ab06-7b423ff1e1a6": {
"main": [
[
{
"node": "79f58fdf-cf76-4697-b52a-04535eadd2a8",
"type": "main",
"index": 0
}
]
]
},
"62ad69c8-526d-4718-ab3d-014a69e5aa5c": {
"main": [
[
{
"node": "e7d1d155-fe52-4bc4-9cd4-414ee5c2cc59",
"type": "main",
"index": 0
}
]
]
},
"d3b4360f-1667-4e80-81f6-05f3d364c527": {
"main": [
[
{
"node": "3b894213-ddcf-4bc8-b83a-cb4426d0563f",
"type": "main",
"index": 0
}
]
]
},
"b5780b16-1b89-4daf-9ffe-8e8113a249c6": {
"main": [
[
{
"node": "a7b45d3c-0e18-4fd4-8de5-7f36c3a807b4",
"type": "main",
"index": 0
}
]
]
},
"9aaff82c-d078-4e30-b144-f736d98b00df": {
"main": [
[
{
"node": "5e4e86bd-775b-4162-ab47-ef4050a39c59",
"type": "main",
"index": 0
}
]
]
},
"890010b8-307d-47d7-810a-6cf579b4919c": {
"main": [
[
{
"node": "85c8ec84-c536-44ac-b6cf-47bfa9e2bce7",
"type": "main",
"index": 0
}
]
]
},
"79f58fdf-cf76-4697-b52a-04535eadd2a8": {
"main": [
[
{
"node": "890010b8-307d-47d7-810a-6cf579b4919c",
"type": "main",
"index": 0
}
]
]
},
"b329a42d-1cc3-4b61-b567-e3d834e7d75a": {
"main": [
[
{
"node": "9aaff82c-d078-4e30-b144-f736d98b00df",
"type": "main",
"index": 0
}
]
]
},
"e7d1d155-fe52-4bc4-9cd4-414ee5c2cc59": {
"main": [
[
{
"node": "b5780b16-1b89-4daf-9ffe-8e8113a249c6",
"type": "main",
"index": 0
}
]
]
},
"3b894213-ddcf-4bc8-b83a-cb4426d0563f": {
"main": [
[
{
"node": "62ad69c8-526d-4718-ab3d-014a69e5aa5c",
"type": "main",
"index": 0
}
]
]
},
"85c8ec84-c536-44ac-b6cf-47bfa9e2bce7": {
"main": [
[
{
"node": "fa5c8394-9908-44ae-9f5e-6e66e9f774e2",
"type": "main",
"index": 0
}
]
]
},
"964c47b1-6723-423a-a4e8-99e7feeca275": {
"main": [
[
{
"node": "d3b4360f-1667-4e80-81f6-05f3d364c527",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 潜在客户开发, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
模板v08/02 - Facebook广告库到亚马逊爬虫
使用 Apify 爬虫自动在亚马逊上搜索 Facebook 广告产品
If
Set
Code
+
If
Set
Code
24 节点Richard Besier
市场调研
基于AI的潜在客户生成系统(邮件个性化和LinkedIn)
基于AI的潜在客户生成系统:包含邮件个性化和LinkedIn功能
If
Code
Limit
+
If
Code
Limit
51 节点Matthieu
潜在客户开发
基于AI的潜在客户生成(Apollo、LinkedIn研究和4步个性化邮件)
基于AI的潜在客户生成:使用Apollo、LinkedIn研究和4步个性化邮件
If
Set
Code
+
If
Set
Code
30 节点Gain FLow AI
潜在客户开发
使用LinkedIn、OpenAI和Sales Navigator创建合格线索和冷呼叫脚本
通过LinkedIn、OpenAI和Sales Navigator创建合格线索和冷呼叫脚本
If
Code
Limit
+
If
Code
Limit
47 节点Matthieu
潜在客户开发
使用GPT-4 Mini、Apify和LinkedIn生成个性化冷邮件开场白
使用GPT-4 Mini、Apify和LinkedIn生成个性化冷邮件开场白
Set
Filter
Aggregate
+
Set
Filter
Aggregate
16 节点Erfan Mostafiz
潜在客户开发
Google Maps线索抓取与AI驱动个性化触达丰富
Google Maps线索抓取与AI驱动个性化触达丰富
Set
Code
Filter
+
Set
Code
Filter
24 节点A Z
潜在客户开发
工作流信息
难度等级
高级
节点数量24
分类2
节点类型10
作者
Richard Besier
@richardbHey 👋 I've worked with more or less every major no-code automation platform out there - now showing and building AI operating systems for businesses. If you need further help with one of my builds, or just want to chat, feel free to comment and I'll happily respond.
外部链接
在 n8n.io 查看 →
分享此工作流