24 项满意度评分追踪
高级
这是一个Market Research, AI Summarization领域的自动化工作流,包含 16 个节点。主要使用 Set, Code, GoogleSheets, McpClientTool, Agent 等节点。 使用 Bright Data 和 OpenAI 跨平台跟踪客户 NPS 评分
前置要求
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (16)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "wRFk4MmXtL2en4zX",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "24 项满意度评分追踪",
"tags": [],
"nodes": [
{
"id": "5418cb29-421a-4087-9206-af79d036fd7f",
"name": "⏰ 每周运行 NPS 追踪器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
1
],
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "aed37f9d-27db-4123-9f05-01bb5164f7d3",
"name": "✏️ 设置调查页面 URL",
"type": "n8n-nodes-base.set",
"position": [
200,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "96319b57-b99b-460e-ae2c-9927de713274",
"name": "url",
"type": "string",
"value": "https://www.trustpilot.com/review/shopify.com"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "eb159575-b6d9-49ef-af47-05f7dac4d818",
"name": "🧠 使用智能体抓取评论 (MCP)",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
440,
0
],
"parameters": {
"text": "=Extract Customer reviews, Star ratings (1 to 5 stars), Comments (optional for deeper insight) and Date of review from the following url\n\nURL: {{ $json.url }}",
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "ba4c9999-6ff5-4cb8-a882-5adfe19ca5a0",
"name": "📊 根据评分计算 NPS",
"type": "n8n-nodes-base.code",
"position": [
920,
0
],
"parameters": {
"jsCode": "const reviews = items[0].json.output; // The agent output you provided\nlet promoters = 0;\nlet passives = 0;\nlet detractors = 0;\n\nfor (const review of reviews) {\n const starRating = review.rating;\n\n // Convert 1–5 stars to 0–10 scale\n const score = starRating * 2;\n\n // Categorize into NPS groups\n if (score >= 9) {\n promoters += 1;\n } else if (score >= 7) {\n passives += 1;\n } else {\n detractors += 1;\n }\n}\n\n// NPS Calculation\nconst total = promoters + passives + detractors;\nconst nps = total > 0 ? ((promoters - detractors) / total) * 100 : 0;\n\nreturn [\n {\n json: {\n totalResponses: total,\n promoters,\n passives,\n detractors,\n nps: Math.round(nps),\n message: `NPS Score is ${Math.round(nps)} based on ${total} responses.`\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "533563dd-4258-4e18-bd94-ecbfead0416f",
"name": "📄 将 NPS 记录到 Google 表格",
"type": "n8n-nodes-base.googleSheets",
"position": [
1100,
0
],
"parameters": {
"columns": {
"value": {
"NPS": "={{ $json.nps }}",
"Passive": "={{ $json.passives }}",
"summary": "={{ $json.message }}",
"Detractor": "={{ $json.detractors }}",
"Promoters": "={{ $json.promoters }}",
"Total Responses": "={{ $json.totalResponses }}"
},
"schema": [
{
"id": "Total Responses",
"type": "string",
"display": true,
"required": false,
"displayName": "Total Responses",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Promoters",
"type": "string",
"display": true,
"required": false,
"displayName": "Promoters",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Passive",
"type": "string",
"display": true,
"required": false,
"displayName": "Passive",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Detractor",
"type": "string",
"display": true,
"required": false,
"displayName": "Detractor",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "NPS",
"type": "string",
"display": true,
"required": false,
"displayName": "NPS",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "summary",
"type": "string",
"display": true,
"required": false,
"displayName": "summary",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SuIKadXmZ-vUga75VsTMK7CgURsXn6KYh7j5_eM6m7k/edit?usp=drivesdk",
"cachedResultName": "NPS Score"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "r2mDaisH6e9VkwHl",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "19e2572a-9823-4520-9de5-abb3bac64d85",
"name": "🎯 提示与引导智能体",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
400,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "101f8b62-352e-4e28-b5ef-da401e626750",
"name": "🌐 执行网页抓取 (Bright Data)",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
580,
260
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"id": "eqq94k789oJCd6jU",
"name": "MCP Client (STDIO) account"
}
},
"typeVersion": 1
},
{
"id": "ac4346c1-57fa-402e-ab9f-2a94ca5125e5",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
-840
],
"parameters": {
"color": 5,
"width": 360,
"height": 1020,
"content": "## 🔶 **第一部分:设置目标调查页面**"
},
"typeVersion": 1
},
{
"id": "3d7ce000-5de1-4c4f-a15b-f10fc1f68010",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-1100
],
"parameters": {
"color": 3,
"width": 340,
"height": 1280,
"content": "## 🤖 **第二部分:使用 AI 智能体抓取评论**"
},
"typeVersion": 1
},
{
"id": "1c2c8d84-137a-490a-b178-67a831c94a40",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
-860
],
"parameters": {
"color": 6,
"width": 360,
"height": 1040,
"content": "## 📈 **第三部分:分析并记录 NPS 结果**"
},
"typeVersion": 1
},
{
"id": "2d67aa1b-4816-4177-b12f-fa317f183fb2",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1720,
-840
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "======================================="
},
"typeVersion": 1
},
{
"id": "e28e886d-519d-4941-99cf-ee546cb28944",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1720,
-500
],
"parameters": {
"color": 4,
"width": 1289,
"height": 2778,
"content": "# 📊 **满意度评分追踪工作流**"
},
"typeVersion": 1
},
{
"id": "9f4ab1c3-7645-41db-88de-a909f2dc3eb1",
"name": "便利贴5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1340,
-860
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## 如果您通过此链接加入 Bright Data,我将获得少量佣金 — 感谢您支持更多免费内容!"
},
"typeVersion": 1
},
{
"id": "01b5ab5b-d3f3-4c26-8d27-7a360f51b91f",
"name": "自动修复输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
720,
260
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "67963b9e-df9f-49c2-957b-b3c698bbfb7c",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
700,
480
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "00af00b9-e6c0-4106-ba81-cc60d52ce2d7",
"name": "结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
860,
480
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"rating\": 1,\n \"comment\": \"Avoid at all costs they don’t support businesses from fraud, they always side with customer chargebacks! And charge fees for nothing, your loss of stock, money, time, postage, and fees!\",\n \"date\": \"2 days ago\",\n \"user\": \"Monisha\"\n },\n {\n \"rating\": 2,\n \"comment\": \"Shopify is too big of a company to hold payments or not payout next day; with Shopify you will only get two deposits a week.\",\n \"date\": \"13 hours ago\",\n \"user\": \"Komplex Fitness\"\n },\n {\n \"rating\": 1,\n \"comment\": \"Shopify requires access to reading my email messages, cannot do anything without it.\",\n \"date\": \"2 days ago\",\n \"user\": \"Andre Tuseyev\"\n },\n {\n \"rating\": 1,\n \"comment\": \"Bought a pair of Hugo Italian design black leather trainers. Opened the package and my utter disappointment, they were not leather, they are certainly not Italian design.\",\n \"date\": \"6 days ago\",\n \"user\": \"ROGER EGERTON\"\n },\n {\n \"rating\": 3,\n \"comment\": \"Despite many negative reviews, we’ve been using Shopify for nearly 10 years.\",\n \"date\": \"6 days ago\",\n \"user\": \"Mandy\"\n },\n {\n \"rating\": 5,\n \"comment\": \"Great platform to manage my online store efficiently.\",\n \"date\": \"1 week ago\",\n \"user\": \"Sarah H.\"\n }\n]\n"
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e8e2c0a0-956b-4b35-96a3-882f6d618498",
"connections": {
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Auto-fixing Output Parser",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Auto-fixing Output Parser": {
"ai_outputParser": [
[
{
"node": "🧠 Scrape Reviews with Agent (MCP)",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"🎯 Prompt & Guide Agent": {
"ai_languageModel": [
[
{
"node": "🧠 Scrape Reviews with Agent (MCP)",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"⏰ Run Weekly NPS Tracker": {
"main": [
[
{
"node": "✏️ Set Survey Page URL",
"type": "main",
"index": 0
}
]
]
},
"✏️ Set Survey Page URL": {
"main": [
[
{
"node": "🧠 Scrape Reviews with Agent (MCP)",
"type": "main",
"index": 0
}
]
]
},
"📊 Calculate NPS from Ratings": {
"main": [
[
{
"node": "📄 Log NPS to Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"🧠 Scrape Reviews with Agent (MCP)": {
"main": [
[
{
"node": "📊 Calculate NPS from Ratings",
"type": "main",
"index": 0
}
]
]
},
"🌐 Execute Web Scrape (Bright Data)": {
"ai_tool": [
[
{
"node": "🧠 Scrape Reviews with Agent (MCP)",
"type": "ai_tool",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 市场调研, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
16 监控竞争对手定价
基于Bright Data MCP和Google表格的竞争对手定价自动监控
Set
Code
Gmail
+8
18 节点Yaron Been
市场调研
27 分析市场空白
使用 OpenAI 和 Bright Data 从市场空白生成 SaaS 产品创意
Set
Code
Google Sheets
+7
16 节点Yaron Been
市场调研
竞争对手产品发布监控
基于Bright Data和OpenAI的即时竞争对手产品发布监控,发送至邮箱/表格
Set
Code
Gmail
+8
18 节点Yaron Been
市场调研
19 监控关键词排名
使用Bright Data MCP和GPT-4o AI分析跟踪SEO关键词排名
Set
Code
Google Sheets
+7
16 节点Yaron Been
市场调研
23 分析客户终身价值
使用GPT-4和Bright Data MCP分析与定位高价值客户
If
Set
Code
+9
20 节点Yaron Been
市场调研
智能网站漏斗分析器
使用GPT-4o、Bright Data和Google Sheets分析网站转化漏斗
Set
Google Sheets
Mcp Client Tool
+6
15 节点Yaron Been
市场调研
工作流信息
难度等级
高级
节点数量16
分类2
节点类型10
作者
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
外部链接
在 n8n.io 查看 →
分享此工作流