8
n8n 中文网amn8n.com

自动发现和分析TikTok影响者并发送邮件通知

高级

这是一个AI, Marketing领域的自动化工作流,包含 22 个节点。主要使用 Code, Wait, Gmail, Filter, FormTrigger 等节点,结合人工智能技术实现智能自动化。 使用Bright Data、Claude AI和邮件推广发现和分析TikTok影响者

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
  • Anthropic API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "GA1HTM4YyIidEJb3",
  "meta": {
    "instanceId": "bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2",
    "templateCredsSetupCompleted": true
  },
  "name": "通过Bright Data和Anthropic AI自动发现和分析TikTok影响者并发送邮件通知",
  "tags": [],
  "nodes": [
    {
      "id": "cb75134b-4746-4715-87b4-c2bb596d4366",
      "name": "Anthropic 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        1460,
        300
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-20250514",
          "cachedResultName": "Claude 4 Sonnet"
        },
        "options": {}
      },
      "credentials": {
        "anthropicApi": {
          "id": "YOUR_ANTHROPIC_CREDENTIAL_ID",
          "name": "Anthropic API Account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "aef0b016-6017-4b2a-8bcc-56e78b9a5cc1",
      "name": "代码",
      "type": "n8n-nodes-base.code",
      "position": [
        1680,
        0
      ],
      "parameters": {
        "jsCode": "// N8N Code Node to extract data from AI output\nconst items = $input.all();\n\nreturn items.map(item => {\n  try {\n    // Get the output string from the item\n    const outputString = item.json.output;\n    \n    // Extract JSON from the markdown code block\n    const jsonMatch = outputString.match(/```json\\n([\\s\\S]*?)\\n```/);\n    \n    if (jsonMatch && jsonMatch[1]) {\n      // Parse the extracted JSON\n      const parsedData = JSON.parse(jsonMatch[1]);\n      \n      // Return the extracted data as separate columns\n      return {\n        json: {\n          Collaboration: parsedData.Collaboration || '',\n          Analysis: parsedData.Analysis || '',\n          Profile_ID: parsedData['Profile ID'] || '',\n          // Keep original data as well if needed\n          original_output: outputString\n        }\n      };\n    } else {\n      // If no JSON found, return empty values\n      return {\n        json: {\n          Collaboration: '',\n          Analysis: '',\n          Profile_ID: '',\n          original_output: outputString,\n          error: 'No JSON found in output'\n        }\n      };\n    }\n  } catch (error) {\n    // Handle any parsing errors\n    return {\n      json: {\n        Collaboration: '',\n        Analysis: '',\n        Profile_ID: '',\n        original_output: item.json.output || '',\n        error: `Parsing error: ${error.message}`\n      }\n    };\n  }\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "51d9eee9-63c0-43a4-bb03-d94a1d9ceb2a",
      "name": "Google Sheets1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1980,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Analysis": "={{ $json.Analysis }}",
            "Profile ID": "={{ $json.Profile_ID }}",
            "Collaboration": "={{ $json.Collaboration }}"
          },
          "schema": [
            {
              "id": "Profile ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Profile ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Followers",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Followers",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Collaboration",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Collaboration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Analysis",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Analysis",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Profile ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "YOUR_GOOGLE_SHEET_URL",
          "cachedResultName": "TikTok"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "YOUR_GOOGLE_SHEET_URL"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2 Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "4db5fe1f-9038-4746-859b-7b38a2b3056d",
      "name": "过滤器",
      "type": "n8n-nodes-base.filter",
      "position": [
        2240,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7c4c648b-a7df-41d6-bc6c-b6d05221f7bf",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.Collaboration }}",
              "rightValue": "Highly Relevant"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "50db5760-83fe-4119-bb18-27d637acbee9",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2520,
        0
      ],
      "webhookId": "76506181-2a59-4275-9277-219134868750",
      "parameters": {
        "sendTo": "demo@example.com",
        "message": "=Hi,\nI wanted to share some of the best TikTok creators perfectly matched to collaborate with your business. These influencers align closely with your brand and audience, helping you maximize your reach and impact.\nUsername: {{ $('Update Data in the Google Sheet').item.json.Username }}\nTikTok Profile: {{ $('Update Data in the Google Sheet').item.json.URL }}\nFollowers: {{ $('Update Data in the Google Sheet').item.json.Followers }}\n\nLet me know if you'd like more details or to explore specific collaboration opportunities.\n\nBest regards",
        "options": {},
        "subject": "Top TikTok Influencer Match for Your Business Collaboration",
        "emailType": "text"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "YOUR_GMAIL_CREDENTIAL_ID",
          "name": "Gmail OAuth2 Account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a6067955-adf4-4926-8082-81459d5aff1d",
      "name": "通过BrightData按关键词从TikTok抓取数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        0
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"input\": [\n    {\n      \"search_keyword\": \"{{ $json['Search Keyword'] }}\",\n      \"country\": \"\"\n    }\n  ],\n  \"custom_output_fields\": [\n    \"url\",\n    \"description\",\n    \"profile_id\",\n    \"profile_username\",\n    \"profile_url\",\n    \"profile_followers\"\n  ]\n}",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "YOUR_BRIGHTDATA_DATASET_ID"
            },
            {
              "name": "include_errors",
              "value": "true"
            },
            {
              "name": "type",
              "value": "discover_new"
            },
            {
              "name": "discover_by",
              "value": "keyword"
            },
            {
              "name": "limit_per_input",
              "value": "5"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_BRIGHTDATA_API_TOKEN"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "fbc8f8b2-5e63-4914-b4b8-a44fa5163cda",
      "name": "3分钟等待时间",
      "type": "n8n-nodes-base.wait",
      "position": [
        520,
        0
      ],
      "webhookId": "168ac9b9-ea3f-4aab-b8f1-a3ef6109c70e",
      "parameters": {
        "unit": "minutes",
        "amount": 3
      },
      "typeVersion": 1.1
    },
    {
      "id": "9ad6728c-2136-46bb-9ddf-0d445b28be22",
      "name": "从BrightData生成的快照中提取数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        0
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_BRIGHTDATA_API_TOKEN"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "8e3577fb-1077-44d4-bada-ca9f5f2aa141",
      "name": "在Google表格中更新数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1040,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "URL": "={{ $json.profile_url }}",
            "Username": "={{ $json.profile_username }}",
            "Followers": "={{ $json.profile_followers }}",
            "Profile ID": "={{ $json.profile_id }}",
            "Description": "={{ $json.description }}"
          },
          "schema": [
            {
              "id": "Profile ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Profile ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Username",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Username",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Followers",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Followers",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Collaboration",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Collaboration",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Analysis",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Analysis",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "YOUR_GOOGLE_SHEET_URL",
          "cachedResultName": "TikTok"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "YOUR_GOOGLE_SHEET_URL"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_GOOGLE_SHEETS_CREDENTIAL_ID",
          "name": "Google Sheets OAuth2 Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "16bfd75e-fc30-4e6f-94f2-5e554d25cf64",
      "name": "查找合作者",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1300,
        0
      ],
      "parameters": {
        "text": "=Assume you are a social media expert and you find the best influencers based on the business and industry by analyzing the below data.\nHere are the Details of the Influencers.\nProfile URL: {{ $json.URL }}\nDescription: {{ $json.Description }}\nFollowers: {{ $json.Followers }}\nProfile ID: {{ $json['Profile ID'] }}\n\nMy Business Details:\nAbout my business: {{ $('Submit Form with Keyword, Business Info, Industry').item.json['About My Business'] }}\nIndustry: {{ $('Submit Form with Keyword, Business Info, Industry').item.json.Industry }}\n\nRequirements:\nFollowers should be more than 5000\nand Influencer should be in my industry.\nand Just Provide the Output according to below format\n\nFormat:\nOutput should be in Json\nCollaboration: Not Relevant, Highly Relevant\nAnalysis: Explain in 50 words\nProfile ID: Just add the Profile ID without any change\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "6d482ee5-fd98-4ed3-bfac-dc1ca014769f",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        -80
      ],
      "parameters": {
        "color": 2,
        "width": 220,
        "height": 260,
        "content": "当用户通过表单提交关键词、业务信息和行业时触发工作流。"
      },
      "typeVersion": 1
    },
    {
      "id": "2b3f2a04-cee9-4fae-8199-2c5cef6969cd",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        -80
      ],
      "parameters": {
        "color": 3,
        "height": 260,
        "content": "调用Bright Data API按关键词获取TikTok个人资料。"
      },
      "typeVersion": 1
    },
    {
      "id": "3aed623a-1827-4641-96dc-d652332946e9",
      "name": "提交包含关键词、业务信息、行业的表单",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        0,
        0
      ],
      "webhookId": "f1b746de-9cc3-4218-a9a0-45ff142f5bc7",
      "parameters": {
        "options": {},
        "formTitle": "TikTok Profile Scraper",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Search Keyword"
            },
            {
              "fieldLabel": "About My Business"
            },
            {
              "fieldLabel": "Industry"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c8434c0a-5df9-43e6-924e-6078bbf13c3f",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        460,
        -80
      ],
      "parameters": {
        "color": 4,
        "height": 260,
        "content": "等待3分钟以允许Bright Data完成抓取。"
      },
      "typeVersion": 1
    },
    {
      "id": "951080be-56e7-4616-a8f3-4bdf6e29be06",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -80
      ],
      "parameters": {
        "color": 5,
        "height": 260,
        "content": "从Bright Data获取快照数据(抓取的影响者个人资料)。"
      },
      "typeVersion": 1
    },
    {
      "id": "2fe42472-7b93-41f3-b2d9-ddf6a1472c32",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        -80
      ],
      "parameters": {
        "color": 6,
        "height": 260,
        "content": "在Google表格中存储原始影响者数据(ID、粉丝数、描述等)。"
      },
      "typeVersion": 1
    },
    {
      "id": "c6340b5e-bd02-469c-909c-5300430fcba8",
      "name": "便利贴5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1260,
        -80
      ],
      "parameters": {
        "color": 2,
        "width": 360,
        "height": 260,
        "content": "使用Claude AI评估每个影响者与您业务的相关性。返回个人资料ID、相关性和50字分析。"
      },
      "typeVersion": 1
    },
    {
      "id": "3c94de79-c64d-4d89-ad9d-387314d84d2b",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1380,
        200
      ],
      "parameters": {
        "color": 6,
        "height": 240,
        "content": "为影响者分析提供支持的Claude Sonnet 4模型。"
      },
      "typeVersion": 1
    },
    {
      "id": "eb61e536-d234-450c-94db-896d24757ad5",
      "name": "便签 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1640,
        -80
      ],
      "parameters": {
        "color": 4,
        "height": 260,
        "content": "解析Claude AI的markdown输出并提取结构化JSON字段以供进一步使用。"
      },
      "typeVersion": 1
    },
    {
      "id": "d08dd360-e26f-421a-bf1f-95976adce3a2",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1900,
        -80
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 260,
        "content": "将Claude的洞察(个人资料ID、合作状态、分析)记录到Google表格中。"
      },
      "typeVersion": 1
    },
    {
      "id": "02d41818-b12f-4b45-9e93-f3b7162cd6f6",
      "name": "便签 9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2180,
        -80
      ],
      "parameters": {
        "height": 260,
        "content": "过滤结果仅保留高度相关的影响者进行邮件联系。"
      },
      "typeVersion": 1
    },
    {
      "id": "873b1c8a-fb26-40ca-9885-51c80eb1bd61",
      "name": "便签11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2440,
        -80
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 260,
        "content": "向您的目标联系人发送包含顶级影响者信息的个性化合作邮件。"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "18042508-1631-4802-8863-d015a36bed62",
  "connections": {
    "Code": {
      "main": [
        [
          {
            "node": "Google Sheets1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets1": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3 Minute Wait Time": {
      "main": [
        [
          {
            "node": "Extract Data from Snapshot Generated by BrightData",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Find the Collaborator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Find the Collaborator": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Data in the Google Sheet": {
      "main": [
        [
          {
            "node": "Find the Collaborator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Submit Form with Keyword, Business Info, Industry": {
      "main": [
        [
          {
            "node": "Scrape Data from TikTok through Keyword by BrightData",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Data from Snapshot Generated by BrightData": {
      "main": [
        [
          {
            "node": "Update Data in the Google Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Scrape Data from TikTok through Keyword by BrightData": {
      "main": [
        [
          {
            "node": "3 Minute Wait Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 人工智能, 营销

需要付费吗?

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

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

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

外部链接
在 n8n.io 查看

分享此工作流