使用 Bright Data 抓取 Google 地图并生成 AI 外联消息用于潜在客户开发
高级
这是一个Lead Generation, Multimodal AI领域的自动化工作流,包含 36 个节点。主要使用 If, Set, Wait, Limit, Merge 等节点。 使用 Bright Data 抓取 Google 地图并生成 AI 外联消息用于潜在客户开发
前置要求
- •PostgreSQL 数据库连接信息
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
- •Google Gemini API Key
使用的节点 (36)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "d6b502dfa4d9dd072cdc5c2bb763558661053f651289291352a84403e01b3d1b",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "50f8bf9b-b49a-4caf-816c-0a19f2c42d8a",
"name": "等待5",
"type": "n8n-nodes-base.wait",
"position": [
-1584,
640
],
"webhookId": "96e898b2-3f02-4654-9054-4b69dd63f87b",
"parameters": {
"amount": 60
},
"typeVersion": 1.1
},
{
"id": "fb7673ef-58ef-47a7-a6ab-59a96c600113",
"name": "Count1",
"type": "n8n-nodes-base.set",
"position": [
-2064,
384
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ef3259b8-3818-4584-ad70-72ea81dafda2",
"name": "count",
"type": "number",
"value": 0
}
]
}
},
"typeVersion": 3.4
},
{
"id": "0bf29afc-517a-4df0-a8a5-3db4f228fb43",
"name": "Count Increment1",
"type": "n8n-nodes-base.set",
"position": [
-1408,
640
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d05a51e9-98b5-4f27-a9bc-a7a2a7a16c8d",
"name": "=count",
"type": "number",
"value": "={{ $('No Operation, do nothing4').last().json.count + 1}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "26054f12-cd84-409d-ace8-8e974d4ad3cf",
"name": "No Operation, do nothing4",
"type": "n8n-nodes-base.noOp",
"position": [
-1840,
384
],
"parameters": {},
"typeVersion": 1
},
{
"id": "40669acb-1761-4296-8eb4-579660d1dac3",
"name": "表单提交时",
"type": "n8n-nodes-base.formTrigger",
"position": [
-2736,
384
],
"webhookId": "dce1367e-cff9-4659-b0e4-28d77cffbbb8",
"parameters": {
"options": {
"buttonLabel": "Scrape",
"appendAttribution": false,
"respondWithOptions": {
"values": {
"formSubmittedText": "Scraping started 🔎"
}
}
},
"formTitle": "Maps Extractor",
"formFields": {
"values": [
{
"fieldLabel": "Location URL",
"placeholder": "https://www.google.com.br/maps/@-27.0969036,-52.6273034,14z?hl=pt-BR&entry=ttu&g_ep=EgoyMDI1MDcwOS4wIKXMDSoASAFQAw%3D%3D",
"requiredField": true
},
{
"fieldLabel": "Keyword Search",
"placeholder": "Restaurant",
"requiredField": true
},
{
"fieldLabel": "Country",
"placeholder": "US",
"requiredField": true
},
{
"fieldLabel": "My company's segment",
"placeholder": "Marketing Agency",
"requiredField": true
}
]
},
"formDescription": "Use this form to scrape businesses from Google Maps, based on a starting location.\n\nMake sure to copy the URL from your browser address bar. DO NOT use the Share feature in Google Maps."
},
"typeVersion": 2.2
},
{
"id": "259bf7c0-e7fe-40d4-99b5-2b14c81f425c",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
880,
384
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "d9ebef8c-b67e-48b6-8c9e-1de9365f7783",
"name": "创建表格",
"type": "n8n-nodes-base.postgres",
"position": [
-2448,
-96
],
"parameters": {
"query": "CREATE TABLE business_scraping_result (\n place_id text PRIMARY KEY,\n page_summary TEXT,\n name TEXT,\n category TEXT,\n address TEXT,\n description TEXT,\n google_url TEXT,\n website TEXT,\n phone_number TEXT,\n reviews_count INTEGER,\n rating NUMERIC(2,1),\n services_provided TEXT[],\n top_reviews JSONB,\n sales_helper TEXT\n);\n",
"options": {},
"operation": "executeQuery"
},
"credentials": {
"postgres": {
"id": "UhvXgYq3LTvFrpoz",
"name": "Supabase | Bright Data"
}
},
"typeVersion": 2.6
},
{
"id": "92750861-c9e6-49e3-ac95-a795873f6333",
"name": "当点击“执行工作流”时",
"type": "n8n-nodes-base.manualTrigger",
"disabled": true,
"position": [
-2720,
-96
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f2026d33-7f29-4626-963f-411990cd4afc",
"name": "scrape_as_markdown",
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"position": [
496,
208
],
"parameters": {
"include": "selected",
"endpointUrl": "=https://mcp.brightdata.com/mcp?token=YOUR_BRIGHT_DATA_TOKEN",
"includeTools": [
"scrape_as_markdown"
],
"serverTransport": "httpStreamable"
},
"typeVersion": 1.1
},
{
"id": "e8c95bf2-2bcf-451d-a465-1e1d8e91b584",
"name": "请求完成",
"type": "n8n-nodes-base.if",
"position": [
-1424,
384
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "ea3eb544-5ee9-49b4-85b2-3af89684ed61",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "=running"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "01576305-68c7-4617-b144-e8d6d53c231c",
"name": "达到重试限制",
"type": "n8n-nodes-base.if",
"position": [
-1824,
640
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f118e0f7-8005-4064-8597-f0f31b4cdfd6",
"operator": {
"type": "number",
"operation": "equals"
},
"leftValue": "={{ $('No Operation, do nothing4').last().json.count }}",
"rightValue": 10
}
]
}
},
"typeVersion": 2.2
},
{
"id": "85ffc9bb-fce9-4fe9-af75-937bf3c78773",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2096,
272
],
"parameters": {
"color": 7,
"width": 848,
"height": 592,
"content": "## 重试逻辑"
},
"typeVersion": 1
},
{
"id": "b71ae4f9-184d-4bd1-994a-adc04f2783f5",
"name": "消息生成器",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1088,
384
],
"parameters": {
"text": "={{ JSON.stringify($json) }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are a business development assistant helping an entrepreneur prepare for a cold call to a business lead.\n\nTake into account that my company segment is: {{ $('On form submission').first().json['My company\\'s segment'] }}\n\n# TASK\nYou will receive structured data about a business, including basic info, services, reviews, and contact details.\n\nYour job is to generate:\n1. A short cold call opening message the entrepreneur can use to start the conversation.\n2. A list of supportive talking points or insights the entrepreneur can use during the call to sound informed and build rapport.\n\n# OUTPUT STRUCTURE\n1. Opening Message (Spoken Script):\n- 2–4 sentences.\n- Friendly, confident, respectful tone.\n- Show that the caller is familiar with the business.\n- Mention something specific (e.g. high rating, food quality, atmosphere, community praise).\n- Introduce the caller’s intention (e.g. connect, collaborate, learn more).\n\n2. Call Support Notes (Bullet List):\n- Provide 3–5 relevant talking points about the business based on reviews, services, and offerings.\n- Suggest areas the entrepreneur can mention or ask about (e.g. “Your place seems popular with tourists and locals alike — how do you approach that balance?”)\n- Avoid quoting reviews verbatim — instead, summarize sentiment or praise.\n\n# INSTRUCTIONS\n- Generate a personalized cold call opening message\n- Generate a list of insightful, natural talking points to help the entrepreneur carry the conversation confidently\n\n# GUIDELINES\n- Output only the results, without any intro or outro text."
}
]
},
"promptType": "define"
},
"executeOnce": false,
"typeVersion": 1.7
},
{
"id": "9859f00a-697b-4053-97d4-0b9995fcbc7a",
"name": "公司网站存在",
"type": "n8n-nodes-base.if",
"position": [
16,
384
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "48807393-7b5c-4403-9d00-7dff6d9b1a5b",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json?.company?.open_website }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a347e372-2f66-4420-a242-6a78805dda6c",
"name": "组织数据",
"type": "n8n-nodes-base.set",
"position": [
-688,
384
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e695fad7-d55c-4d88-8ce8-f7940f0bb902",
"name": "place_id",
"type": "string",
"value": "={{ $json.place_id }}"
},
{
"id": "5ec77d22-6cae-49a2-9bad-16a542f0929c",
"name": "=company.google_url",
"type": "string",
"value": "={{ $json.url }}"
},
{
"id": "d318da82-27c7-431c-9fe0-dfd1819436e1",
"name": "company.name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "6b040b65-255c-4f3a-9bb8-e40eda983106",
"name": "company.category",
"type": "string",
"value": "={{ $json.category }}"
},
{
"id": "13ebb481-c965-4c2e-aa4f-da4a5a5f9de2",
"name": "company.address",
"type": "string",
"value": "={{ $json.address }}"
},
{
"id": "eeebdad8-ca95-4b94-a7d1-f9a260b91844",
"name": "company.description",
"type": "string",
"value": "={{ $json.description }}"
},
{
"id": "f4d61c24-1dea-48c8-b0c5-b34db06f434a",
"name": "company.reviews_count",
"type": "number",
"value": "={{ $json.reviews_count }}"
},
{
"id": "06cc04a8-dc98-4deb-aaa9-8d3258cefc31",
"name": "company.rating",
"type": "number",
"value": "={{ $json.rating }}"
},
{
"id": "5db1cdc7-e02f-4aa0-8a63-fac3b404ba5f",
"name": "company.services_provided",
"type": "array",
"value": "={{ $json.services_provided }}"
},
{
"id": "0d22b017-0cc9-4e04-9b1e-1cb15474f56c",
"name": "company.open_website",
"type": "string",
"value": "={{ $json.open_website }}"
},
{
"id": "2abb740f-0dcf-4d1b-96a9-408013eb76fe",
"name": "company.phone_number",
"type": "string",
"value": "={{ $json.phone_number }}"
},
{
"id": "11b1a2e5-c226-4585-a2cc-42d08918dcd8",
"name": "company.top_reviews",
"type": "array",
"value": "={{ $json.top_reviews }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "33646f79-938a-4664-8db0-300b084555e9",
"name": "设置限制",
"type": "n8n-nodes-base.limit",
"position": [
-464,
384
],
"parameters": {
"maxItems": 15
},
"typeVersion": 1
},
{
"id": "73d9e7c7-f169-44f7-9d1e-3cca73b836bd",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
352
],
"parameters": {
"color": 3,
"width": 192,
"height": 80,
"content": "### ☝️ Bright Data MCP"
},
"typeVersion": 1
},
{
"id": "3b641cc7-1b9b-44a5-8d7c-e4f0a92d722d",
"name": "Bright Data | 请求数据",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2304,
384
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "=[\n {\n \"country\": \"{{ $json.Country }}\",\n \"zoom_level\": \"14\",\n \"keyword\": \"{{ $json['Keyword Search'] }}\",\n \"lat\": \"{{ $json.latitude }}\",\n \"long\": {{ $json.longitude.toNumber() }}\n }\n]",
"sendBody": true,
"sendQuery": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_m8ebnr0q2qlklc02fz"
},
{
"name": "include_errors",
"value": "true"
},
{
"name": "type",
"value": "discover_new"
},
{
"name": "discover_by",
"value": "location"
}
]
},
"nodeCredentialType": "brightdataApi"
},
"credentials": {
"brightdataApi": {
"id": "szPPrbXtY1yv0t7E",
"name": "BrightData test account"
}
},
"typeVersion": 4.2
},
{
"id": "0b1c5b72-e2b8-47f6-a4a8-c1c8079fe1d7",
"name": "设置字段",
"type": "n8n-nodes-base.set",
"position": [
640,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "aacc7f04-f2db-4dbd-8089-21a11ce5eaa4",
"name": "summary",
"type": "string",
"value": "={{ $json.output }}"
},
{
"id": "9011fbcc-142b-4366-ad43-5462b4d1a4c1",
"name": "company",
"type": "object",
"value": "={{ $('Set Limit').item.json.company }}"
},
{
"id": "84077369-7220-47d3-b072-72e7f976b20a",
"name": "place_id",
"type": "string",
"value": "={{ $('Set Limit').item.json.place_id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "18b73983-a302-47a8-8713-23769d72caad",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2768,
-336
],
"parameters": {
"color": 4,
"width": 528,
"height": 432,
"content": "## 运行此操作以创建您的 Supabase 表"
},
"typeVersion": 1
},
{
"id": "3652dcbb-195a-49bd-8cfd-9135fc9f5c5f",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2384,
224
],
"parameters": {
"color": 7,
"width": 256,
"height": 336,
"content": "`zoom_level` 控制您的搜索半径。较低的缩放级别意味着较大的半径。"
},
"typeVersion": 1
},
{
"id": "138123ad-ccbf-44b5-a880-16048feabaa4",
"name": "从 URL 提取纬度和经度",
"type": "n8n-nodes-base.set",
"position": [
-2528,
384
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3210b179-d62e-458a-a265-c8ecdb21423f",
"name": "latitude",
"type": "string",
"value": "={{ $json['Location URL'].match(/@(-?\\d+\\.\\d+),(-?\\d+\\.\\d+)/)[1] }}"
},
{
"id": "b2c0c095-08a1-434e-86cd-a68901666d1a",
"name": "longitude",
"type": "string",
"value": "={{ $json['Location URL'].match(/@(-?\\d+\\.\\d+),(-?\\d+\\.\\d+)/)[2] }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "20692ebd-54d3-466f-8fc3-4680ae6c6649",
"name": "检查数据提取状态",
"type": "@brightdata/n8n-nodes-brightdata.brightData",
"position": [
-1632,
384
],
"parameters": {
"resource": "webScrapper",
"operation": "monitorProgressSnapshot",
"snapshot_id": "={{ $('Bright Data | Request data').item.json.snapshot_id }}",
"requestOptions": {}
},
"credentials": {
"brightdataApi": {
"id": "szPPrbXtY1yv0t7E",
"name": "BrightData test account"
}
},
"typeVersion": 1
},
{
"id": "4ad46e5e-fd26-479f-82fe-9e9eadc6f726",
"name": "下载快照内容",
"type": "@brightdata/n8n-nodes-brightdata.brightData",
"position": [
-1168,
384
],
"parameters": {
"resource": "webScrapper",
"operation": "downloadSnapshot",
"snapshot_id": "={{ $('Bright Data | Request data').item.json.snapshot_id }}",
"requestOptions": {}
},
"credentials": {
"brightdataApi": {
"id": "szPPrbXtY1yv0t7E",
"name": "BrightData test account"
}
},
"typeVersion": 1
},
{
"id": "cb24cd2f-6573-4ca4-932e-e3facbd99e63",
"name": "快照构建完成",
"type": "n8n-nodes-base.if",
"position": [
-928,
384
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "7095f725-e308-44a2-884b-23f64a38b5cf",
"operator": {
"type": "string",
"operation": "notEquals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "building"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "29293465-3a93-4594-9351-8d753414092c",
"name": "等待",
"type": "n8n-nodes-base.wait",
"position": [
-912,
592
],
"webhookId": "13bc3a84-cfab-4f8a-a31b-dcefd2ea197c",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "49295de7-384b-4ded-80d3-be6d82d624db",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
304
],
"parameters": {
"color": 7,
"width": 224,
"height": 224,
"content": "限制要保存到数据库中的项目数量(如果您愿意)。"
},
"typeVersion": 1
},
{
"id": "e1b4b9c1-4abb-493c-b744-7729cf105337",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
272,
208
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "gpt-4.1-mini"
},
"options": {
"temperature": 0.5
}
},
"credentials": {
"openAiApi": {
"id": "5LVOlVwHUgB8MAj2",
"name": "OpenAI - n8n project"
}
},
"typeVersion": 1.2
},
{
"id": "2b0580c3-098b-4cbb-8df0-a202fab50c76",
"name": "Google Gemini聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1088,
592
],
"parameters": {
"options": {},
"modelName": "models/gemini-2.5-pro"
},
"credentials": {
"googlePalmApi": {
"id": "9iKgzeC7G4p9Z4Yu",
"name": "Gemini API"
}
},
"typeVersion": 1
},
{
"id": "0d412f34-8db8-444a-8b4e-3ef535f7bf66",
"name": "遍历项目",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-240,
384
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "38e7f499-1212-413f-9654-b5a784b4b428",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
240
],
"parameters": {
"color": 7,
"width": 208,
"height": 288,
"content": "这里使用循环是为了确保即使某个项目出现错误,所有先前的项目仍将保存在数据库中。"
},
"typeVersion": 1
},
{
"id": "f96bfc5e-9d97-4941-84c3-02803bfafbe5",
"name": "抓取与总结",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
272,
0
],
"parameters": {
"text": "=Use the tool 'scrape_as_markdown' with the url:\n{{ $json.company.open_website }}",
"options": {
"systemMessage": "=You are a web-scraping AI agent equipped with the tool 'scrape_as_markdown'.\n\n# TASK\nScrape the homepage of the provided website and generate a structured summary of the company based on the main content.\n\n## OBJECTIVES\n1. Scrape.\n2. Extract only the core content of the page.\n3. Identify key information:\n - Company mission or vision\n - Products or services offered\n - Target audience or market\n - Key messaging, branding, or positioning\n - Any highlighted achievements, updates, or announcements\n\n## CONSTRAINTS\n- Prioritize meaningful textual content over visuals or layout elements.\n- Ensure clarity and neutrality in the summary.\n\n# OUTPUT REQUIREMENTS\nReturn a summary of 300-500 words in the following format:\n[Company Name]:\n\n[Summary of company in 300-500 words, clearly structured and written in neutral, informative language.]"
},
"promptType": "define"
},
"executeOnce": false,
"typeVersion": 2.2
},
{
"id": "ba12786e-24b4-4262-a7f8-e883cf3d2367",
"name": "Supabase | 更新或插入行",
"type": "n8n-nodes-base.postgres",
"position": [
1456,
384
],
"parameters": {
"table": {
"__rl": true,
"mode": "list",
"value": "business_scraping_result",
"cachedResultName": "business_scraping_result"
},
"schema": {
"__rl": true,
"mode": "list",
"value": "public"
},
"columns": {
"value": {
"name": "={{ $('Merge').item.json.company.name }}",
"rating": "={{ $('Merge').item.json.company.rating }}",
"address": "={{ $('Merge').item.json.company.address }}",
"website": "={{ $('Merge').item.json.company.open_website }}",
"category": "={{ $('Merge').item.json.company.category }}",
"place_id": "={{ $('Merge').item.json.place_id }}",
"google_url": "={{ $('Merge').item.json.company.google_url }}",
"description": "={{ $('Merge').item.json.company.description }}",
"top_reviews": "={{ { \"reviews\": $('Merge').item.json.company.top_reviews } }}",
"page_summary": "={{ $('Merge').item.json.summary }}",
"phone_number": "={{ $('Merge').item.json.company.phone_number }}",
"sales_helper": "={{ $json.text }}",
"reviews_count": "={{ $('Merge').item.json.company.reviews_count }}",
"services_provided": "={{ $('Merge').item.json.company.services_provided }}"
},
"schema": [
{
"id": "place_id",
"type": "string",
"display": true,
"removed": false,
"required": true,
"displayName": "place_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "page_summary",
"type": "string",
"display": true,
"required": false,
"displayName": "page_summary",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "name",
"type": "string",
"display": true,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "category",
"type": "string",
"display": true,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "address",
"type": "string",
"display": true,
"required": false,
"displayName": "address",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "description",
"type": "string",
"display": true,
"required": false,
"displayName": "description",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "google_url",
"type": "string",
"display": true,
"required": false,
"displayName": "google_url",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "website",
"type": "string",
"display": true,
"required": false,
"displayName": "website",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "phone_number",
"type": "string",
"display": true,
"required": false,
"displayName": "phone_number",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "reviews_count",
"type": "number",
"display": true,
"required": false,
"displayName": "reviews_count",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "rating",
"type": "number",
"display": true,
"required": false,
"displayName": "rating",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "services_provided",
"type": "array",
"display": true,
"required": false,
"displayName": "services_provided",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "top_reviews",
"type": "object",
"display": true,
"required": false,
"displayName": "top_reviews",
"defaultMatch": false,
"canBeUsedToMatch": false
},
{
"id": "sales_helper",
"type": "string",
"display": true,
"required": false,
"displayName": "sales_helper",
"defaultMatch": false,
"canBeUsedToMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"place_id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "upsert"
},
"credentials": {
"postgres": {
"id": "UhvXgYq3LTvFrpoz",
"name": "Supabase | Bright Data"
}
},
"typeVersion": 2.6
},
{
"id": "eec559ce-5a6b-4ef5-9571-4501b0aead51",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1376,
224
],
"parameters": {
"color": 7,
"width": 272,
"height": 320,
"content": "要使用 Postgres 凭据连接到 Supabase,只需点击 Supabase 标题中的 `Connect` 按钮,并使用 `Transaction pooler` 参数。"
},
"typeVersion": 1
},
{
"id": "2e2c2538-d0f9-4b99-8416-01fa05155707",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2544,
-256
],
"parameters": {
"color": 7,
"width": 272,
"height": 320,
"content": "要使用 Postgres 凭据连接到 Supabase,只需点击 Supabase 标题中的 `Connect` 按钮,并使用 `Transaction pooler` 参数。"
},
"typeVersion": 1
},
{
"id": "2afe13ea-056e-4cf6-89cf-004185d14da9",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3216,
-336
],
"parameters": {
"width": 416,
"height": 848,
"content": "### 此 n8n 工作流自动化从 Google Maps 提取潜在客户,使用 AI 丰富数据,并存储结果用于冷外展。"
},
"typeVersion": 1
},
{
"id": "ff9438ac-9290-491f-b057-b201aa5cc2b0",
"name": "便签10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1680,
-112
],
"parameters": {
"color": 7,
"width": 660,
"height": 664,
"content": "# 作者"
},
"typeVersion": 1
},
{
"id": "17b4edba-7e3b-4e15-99b9-d8a2744e4e41",
"name": "便签16",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
448
],
"parameters": {
"color": 4,
"width": 620,
"height": 80,
"content": "### 💡 **想学习高级n8n技能并通过构建工作流赚钱吗?**"
},
"typeVersion": 1
}
],
"pinData": {
"On form submission": [
{
"Country": "US",
"formMode": "test",
"submittedAt": "2025-08-05T02:44:02.015-03:00",
"Location URL": "https://www.google.com/maps/place/Costco+Wholesale/@37.4761982,-122.2192525,16z/data=!4m15!1m8!3m7!1s0x808fb68ad0cfc739:0x7eb356b66bd4b50e!2sSilicon+Valley,+CA,+USA!3b1!8m2!3d37.387474!4d-122.0575434!16zL20vMDZwdzY!3m5!1s0x808fa308fb20aca3:0x4fcccf4c41f3ed6a!8m2!3d37.4784321!4d-122.2162829!16s%2Fg%2F1tg6vy9k?entry=ttu&g_ep=EgoyMDI1MDczMC4wIKXMDSoASAFQAw%3D%3D",
"Keyword Search": "Restaurant",
"My company's segment": "AI Agency"
}
]
},
"connections": {
"Wait": {
"main": [
[
{
"node": "Download the snapshot content",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Message Generator",
"type": "main",
"index": 0
}
]
]
},
"Wait5": {
"main": [
[
{
"node": "Count Increment1",
"type": "main",
"index": 0
}
]
]
},
"Count1": {
"main": [
[
{
"node": "No Operation, do nothing4",
"type": "main",
"index": 0
}
]
]
},
"Set Limit": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Set Fields": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Organize data": {
"main": [
[
{
"node": "Set Limit",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Company website exists",
"type": "main",
"index": 0
}
]
]
},
"Count Increment1": {
"main": [
[
{
"node": "No Operation, do nothing4",
"type": "main",
"index": 0
}
]
]
},
"Request finished": {
"main": [
[
{
"node": "Download the snapshot content",
"type": "main",
"index": 0
}
],
[
{
"node": "Reached retry limit",
"type": "main",
"index": 0
}
]
]
},
"Message Generator": {
"main": [
[
{
"node": "Supabase | Upsert row",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Scrape & Summarize",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Extract latitude and logitude from URL",
"type": "main",
"index": 0
}
]
]
},
"Scrape & Summarize": {
"main": [
[
{
"node": "Set Fields",
"type": "main",
"index": 0
}
]
]
},
"scrape_as_markdown": {
"ai_tool": [
[
{
"node": "Scrape & Summarize",
"type": "ai_tool",
"index": 0
}
]
]
},
"Reached retry limit": {
"main": [
[],
[
{
"node": "Wait5",
"type": "main",
"index": 0
}
]
]
},
"Supabase | Upsert row": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Company website exists": {
"main": [
[
{
"node": "Scrape & Summarize",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "Message Generator",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"No Operation, do nothing4": {
"main": [
[
{
"node": "Check status of data extraction",
"type": "main",
"index": 0
}
]
]
},
"Bright Data | Request data": {
"main": [
[
{
"node": "Count1",
"type": "main",
"index": 0
}
]
]
},
"Snapshot finished building": {
"main": [
[
{
"node": "Organize data",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Download the snapshot content": {
"main": [
[
{
"node": "Snapshot finished building",
"type": "main",
"index": 0
}
]
]
},
"Check status of data extraction": {
"main": [
[
{
"node": "Request finished",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Create Table",
"type": "main",
"index": 0
}
]
]
},
"Extract latitude and logitude from URL": {
"main": [
[
{
"node": "Bright Data | Request data",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 潜在客户开发, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
潜在客户开发与邮件工作流
使用Google Maps、SendGrid和AI自动化B2B潜在客户开发与邮件营销
If
Set
Code
+21
141 节点Ezema Kingsley Chibuzo
潜在客户开发
使用GPT-5和fal.ai图像从关键词到WordPress自动化SEO博客流程
使用GPT-5和fal.ai图像从关键词到WordPress自动化SEO博客流程
Set
Code
Wait
+20
96 节点Paul
内容创作
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
AI潜在客户挖掘智能体
使用Apify、AI和Gmail的自动化潜在客户生成与冷邮件发送
If
Set
Wait
+11
20 节点Rakin Jakaria
潜在客户开发
(Duc)深度研究市场模板
集成PerplexityAI研究和OpenAI内容的多层级WordPress博客生成器
If
Set
Xml
+28
132 节点Daniel Ng
人工智能
工作流信息
难度等级
高级
节点数量36
分类2
节点类型18
作者
Solomon
@solomonTeaching at the Scrapes Academy (see link below). For business inquiries: automations.solomon@gmail.com | Telegram: t.me/salomaoguilherme | LinkedIn: linkedin.com/in/guisalomao/
外部链接
在 n8n.io 查看 →
分享此工作流