8
n8n 中文网amn8n.com

自定义冷邮件破冰内容生成器

高级

这是一个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": "模板 v07/31 - 自定义冷邮件破冰内容生成器",
  "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": "网站摘要",
      "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": "遍历项目",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        176,
        -272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "b3df97ad-4a8d-4dcd-ab06-7b423ff1e1a6",
      "name": "破冰内容生成器",
      "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": "主题行生成器",
      "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": "当点击\"执行工作流\"时",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1648,
        -288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d3b4360f-1667-4e80-81f6-05f3d364c527",
      "name": "创建电子表格",
      "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": "编辑 Apollo URL + 数量",
      "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": "保留字段",
      "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": "筛选 URL + 邮箱",
      "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": "调用 Apify 爬虫",
      "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": "接收爬虫数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -512,
        -272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "85c8ec84-c536-44ac-b6cf-47bfa9e2bce7",
      "name": "在表格中追加或更新行",
      "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": "保存到电子表格",
      "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 -> 纯文本",
      "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    '&amp;': '&',\n    '&lt;': '<',\n    '&gt;': '>',\n    '&quot;': '\"',\n    '&#39;': \"'\",\n    '&apos;': \"'\",\n    '&nbsp;': ' ',\n    '&copy;': '©',\n    '&reg;': '®',\n    '&trade;': '™',\n    '&hellip;': '...',\n    '&mdash;': '—',\n    '&ndash;': '–'\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., &#123;)\n  text = text.replace(/&#(\\d+);/g, (match, dec) => {\n    return String.fromCharCode(dec);\n  });\n  \n  // Decode hex HTML entities (e.g., &#x1F;)\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": "爬取网站内容",
      "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": "发送消息",
      "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": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        -448
      ],
      "parameters": {
        "width": 544,
        "height": 400,
        "content": "## 创建电子表格以捕获潜在客户"
      },
      "typeVersion": 1
    },
    {
      "id": "616c91c6-4310-4f4c-81f7-4bde3134e51f",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -816
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 304,
        "content": "## 编辑此处"
      },
      "typeVersion": 1
    },
    {
      "id": "fe957012-f7b0-4027-86a8-ebeecdbd0912",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -448
      ],
      "parameters": {
        "width": 864,
        "height": 400,
        "content": "## Apollo 爬虫"
      },
      "typeVersion": 1
    },
    {
      "id": "17701486-28c9-4997-8f25-2a60a7eb01a0",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -352
      ],
      "parameters": {
        "width": 528,
        "height": 256,
        "content": "## 爬取网站内容并转换为纯文本"
      },
      "typeVersion": 1
    },
    {
      "id": "aec44523-f375-43bb-9723-9841160b7f76",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -32
      ],
      "parameters": {
        "width": 1040,
        "height": 224,
        "content": "## 撰写破冰内容和主题行"
      },
      "typeVersion": 1
    },
    {
      "id": "2e5432f7-2563-4666-ab32-295b93c2aeb0",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -352
      ],
      "parameters": {
        "width": 432,
        "height": 256,
        "content": "## 总结网站内容"
      },
      "typeVersion": 1
    },
    {
      "id": "f939ef76-10e0-475b-b884-c9923c15c69c",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        240
      ],
      "parameters": {
        "color": 4,
        "width": 1040,
        "height": 272,
        "content": "## 保存到电子表格"
      },
      "typeVersion": 1
    },
    {
      "id": "a3cdfbcd-e338-4fc5-97f3-5ec2f6a0dd2f",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -704
      ],
      "parameters": {
        "color": 4,
        "width": 352,
        "height": 240,
        "content": "## 完成后发送 Slack 通知"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "91b75e6f-10e5-4e2f-9ef3-04a81cfadd97",
  "connections": {
    "Keep Fields": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Crawl Website Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Website Summary": {
      "main": [
        [
          {
            "node": "Icebreaker Writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Icebreaker Writer": {
      "main": [
        [
          {
            "node": "Subject Line Writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Call Apify Scraper": {
      "main": [
        [
          {
            "node": "Receive Scraper's Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create spreadsheet": {
      "main": [
        [
          {
            "node": "EDIT Apollo URL + Amount",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter URL + Email": {
      "main": [
        [
          {
            "node": "Keep Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP -> Plain Text": {
      "main": [
        [
          {
            "node": "Website Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save To Spreadsheet": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Subject Line Writer": {
      "main": [
        [
          {
            "node": "Save To Spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Crawl Website Content": {
      "main": [
        [
          {
            "node": "HTTP -> Plain Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive Scraper's Data": {
      "main": [
        [
          {
            "node": "Filter URL + Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EDIT Apollo URL + Amount": {
      "main": [
        [
          {
            "node": "Call Apify Scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Create spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 潜在客户开发, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量24
分类2
节点类型10
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Richard Besier

Richard Besier

@richardb

Hey 👋 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 查看

分享此工作流