8
n8n 中文网amn8n.com

我的客户智能引擎

高级

这是一个Market Research, AI Summarization领域的自动化工作流,包含 25 个节点。主要使用 Code, Gmail, Merge, Reddit, SerpApi 等节点。 使用 Anthropic、Reddit、X 和 SerpAPI 进行客户痛点分析和 AI 简报

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "PgYCSNco4ZUxp1Qf",
  "meta": {
    "instanceId": "766c8c237f056d009bb1bd53e73633458b146427b1ae9c6ec10561694aa89152",
    "templateCredsSetupCompleted": true
  },
  "name": "我的客户智能引擎",
  "tags": [],
  "nodes": [
    {
      "id": "b8dd0104-33f0-427b-907e-c71cd7366c39",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        560,
        -112
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "e4b66790-4ffb-4605-a831-fe0a34c6745d",
      "name": "过滤和标记 Reddit",
      "type": "n8n-nodes-base.code",
      "position": [
        176,
        256
      ],
      "parameters": {
        "jsCode": "\nreturn $input.all()\n    .filter(item => $input.first().json.score > 5) \n    .map(item => ({\n        json: {\n            title: $input.first().json.title,\n            text: $input.first().json.selftext,\n            source_url: $input.first().json.url,\n            source: 'Reddit',\n            full_text: `${item.json.title} ${item.json.selftext}`\n        }\n    }));"
      },
      "typeVersion": 2
    },
    {
      "id": "116053e4-cf92-4e90-a817-e54744a511c8",
      "name": "分类和情感分析",
      "type": "n8n-nodes-base.code",
      "position": [
        880,
        -96
      ],
      "parameters": {
        "jsCode": "return $input.all().map(item => {\n    const text = item.json.full_text.toLowerCase();\n    let pain_point = 'Uncategorized';\n    let sentiment = 0; \n\n    if (text.includes('wait') || text.includes('hold') || text.includes('busy signal')) {\n        pain_point = 'Call Hold/Availability';\n        sentiment -= 2;\n    } else if (text.includes('schedule') || text.includes('cancel') || text.includes('missed appointment')) {\n        pain_point = 'Scheduling Inefficiency';\n        sentiment -= 3;\n    } else if (text.includes('rude') || text.includes('snippy') || text.includes('unhelpful')) {\n        pain_point = 'Receptionist Tone/Quality';\n        sentiment -= 3;\n    } else if (text.includes('code') || text.includes('system') || text.includes('ai') || text.includes('automated')) {\n        pain_point = 'Automated System Frustration';\n        sentiment -= 1;\n    }\n\n    item.json.pain_point = pain_point;\n    item.json.sentiment_score = sentiment;\n    item.json.unique_key = pain_point + item.json.text.substring(0, 50).replace(/[^a-zA-Z0-9]/g, '');\n\n    return item;\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "5ac35644-fdd6-42f8-9e6f-86ada4386e80",
      "name": "去重、计数和格式化",
      "type": "n8n-nodes-base.code",
      "position": [
        1232,
        -96
      ],
      "parameters": {
        "jsCode": "const inputItems = $input.all();\n\nif (!Array.isArray(inputItems) || inputItems.length === 0) {\n    return []; \n}\n\n\nconst uniqueItems = new Map();\nconst painPointCounts = {};\nconst sourceCounts = {}; \nlet totalSentiment = 0; \n\nfor (const item of inputItems) {\n    if (!item.json || !item.json.unique_key) continue; \n    \n    if (!uniqueItems.has(item.json.unique_key)) {\n        uniqueItems.set(item.json.unique_key, item);\n        totalSentiment += item.json.sentiment_score;\n    }\n    \n    painPointCounts[item.json.pain_point] = (painPointCounts[item.json.pain_point] || 0) + 1;\n    sourceCounts[item.json.source] = (sourceCounts[item.json.source] || 0) + 1; \n}\n\nconst totalUniqueItems = uniqueItems.size;\nconst averageSentiment = totalUniqueItems > 0 ? totalSentiment / totalUniqueItems : 0;\nconst roundedAvgSentiment = Math.round(averageSentiment * 100) / 100;\n\n\nconst summaryString = `\nCurrent Market Intelligence Brief (Total Unique Complaints: ${totalUniqueItems}):\nAverage Sentiment Intensity (Lower is Worse): ${roundedAvgSentiment}\nPain Point Frequencies: ${JSON.stringify(painPointCounts, null, 2)}\nSource Distribution: ${JSON.stringify(sourceCounts, null, 2)}\nTop 5 Unique Complaint Examples: \n${Array.from(uniqueItems.values()).slice(0, 5).map(item => \n    `- [${item.json.pain_point}] \"${item.json.title?.substring(0, 60)}...\" (Source: ${item.json.source})`\n).join('\\n')}\n`;\n\n\nconst outputForSheets = [];\nconst painPointKeys = Object.keys(painPointCounts);\n\nif (painPointKeys.length > 0) {\n    for (const key of painPointKeys) {\n        const latestSourceItem = Array.from(uniqueItems.values()).find(item => item.json.pain_point === key);\n        \n        const sheetObject = {\n            'Pain_Point': key,\n            'Count': painPointCounts[key],\n            'Average_Sentiment': roundedAvgSentiment, \n            'Latest_Source': latestSourceItem?.json.source || 'N/A', \n            'LLM_SUMMARY_HOLDER': summaryString \n        };\n        \n        outputForSheets.push({ json: sheetObject });\n    }\n}\n\n\nreturn outputForSheets;"
      },
      "typeVersion": 2
    },
    {
      "id": "86de386e-02a5-401c-862b-f034ac530a7e",
      "name": "过滤和标记 X",
      "type": "n8n-nodes-base.code",
      "position": [
        176,
        800
      ],
      "parameters": {
        "jsCode": "const rawTweets = $input.item.json.data || $input.item.json.tweets; \n\nif (!rawTweets || !Array.isArray(rawTweets)) {\n    return [];\n}\n\nreturn rawTweets\n    .map(tweet => ({\n        json: {\n            title: tweet.user ? 'Tweet from @' + tweet.user.screen_name : 'Tweet',\n            text: tweet.text || '', \n            source_url: tweet.url || `https://twitter.com/i/web/status/${tweet.id_str}`,\n            source: 'Twitter (External API)',\n            full_text: tweet.text || '',\n            favorite_count: tweet.favorite_count || 0,\n        }\n    }));"
      },
      "typeVersion": 2
    },
    {
      "id": "89ee7c6d-9af1-4406-9e55-1d555be8c69b",
      "name": "获取摘要",
      "type": "n8n-nodes-base.code",
      "position": [
        1760,
        32
      ],
      "parameters": {
        "jsCode": "const previousNodeName = 'Deduplicate, Count, and Format'; \nconst previousNodeOutput = $items(previousNodeName, 0);\n\nif (!previousNodeOutput || previousNodeOutput.length === 0 || !previousNodeOutput[0].json) {\n    return [{ json: { summary: \"Error: Could not retrieve summary string from upstream node.\" } }];\n}\n\nconst summary = previousNodeOutput[0].json.LLM_SUMMARY_HOLDER || \"No market intelligence data found for this run.\"; \n\nif (summary.includes(\"No market intelligence data found\")) {\n    const cleanSummary = \"The system ran, but no relevant market complaints were found in the data sources. No brief is required.\";\n    return [{ json: { summary: cleanSummary } }];\n}\n\nreturn [{ json: { summary: summary } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "871834d2-510f-4b1c-82bb-3159e123ea68",
      "name": "搜索 Reddit",
      "type": "n8n-nodes-base.reddit",
      "position": [
        -48,
        256
      ],
      "parameters": {
        "limit": 50,
        "filters": {},
        "operation": "getAll",
        "subreddit": "={{ $json.subreddit }}"
      },
      "credentials": {
        "redditOAuth2Api": {
          "id": "LQf5gOlHg5jrdJ68",
          "name": "Reddit account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "06e6eebe-a394-4135-99f3-d1d4da03d62a",
      "name": "搜索 Google",
      "type": "n8n-nodes-serpapi.serpApi",
      "position": [
        -272,
        -368
      ],
      "parameters": {
        "q": "HVAC company customer service problems",
        "location": "={{ $json[\"Location (where you want the search to originate):\"] }}",
        "requestOptions": {},
        "additionalFields": {
          "hl": "en",
          "num": "20"
        }
      },
      "credentials": {
        "serpApi": {
          "id": "DIWlQVDEFO4o8beb",
          "name": "SerpAPI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "957b3e0e-4163-4bc4-a72b-538cc03c4158",
      "name": "搜索 X",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -272,
        800
      ],
      "parameters": {
        "url": "https://api.twitterapi.io/twitter/tweet/advanced_search",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ $json[\"Mention X (Twitter) Search Query:\"] }}"
            },
            {
              "name": "queryType",
              "value": "Latest"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "Q7mjBI2AxTsUO2Xj",
          "name": "X/Twitter Demo"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "03925ec9-70a1-4a8e-94f9-1cd358d119a4",
      "name": "过滤和标记 Google",
      "type": "n8n-nodes-base.code",
      "position": [
        176,
        -368
      ],
      "parameters": {
        "jsCode": "return $input.all()\n    .flatMap(item => item.json.organic_results || []) \n    .map(result => ({\n        json: {\n            title: result.title,\n            text: result.snippet,\n            source_url: result.link,\n            source: 'SERP API (Web)',\n            full_text: `${result.title} ${result.snippet}`\n        }\n    }));"
      },
      "typeVersion": 2
    },
    {
      "id": "06b06b67-849a-4881-ba06-0ea2428789dd",
      "name": "高管邮件",
      "type": "@n8n/n8n-nodes-langchain.anthropic",
      "position": [
        1984,
        32
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "claude-haiku-4-5-20251001",
          "cachedResultName": "claude-haiku-4-5-20251001"
        },
        "options": {
          "system": "You are a strategic AI product consultant tasked with generating a professional executive summary for a sales team. \n\n***CRITICAL CONSTRAINT: Do NOT use markdown code blocks (e.g., ```html or ```) or any external delimiters. Output ONLY the raw HTML content. Do NOT include <html>, <head>, or <body> tags.***\n\nYour response must strictly adhere to the following structure and formatting rules:\n\n<h1>AI Voice Agent Executive Summary – HVAC Customer Service Market</h1>\n\n<h2>OPPORTUNITY STATEMENT</h2>\n(Provide a two-sentence summary of the biggest market opportunity for the AI Voice Agent based on the data. Use <p> tags for paragraphs.)\n\n<hr>\n\n<h2>TOP 3 PAIN/SELLING POINTS</h2>\n(List the three highest-count pain points. For each point, the pain point must be formatted using a large **<h3> tag** and bold text: <b>1. [Pain Point Name]</b>. Provide a <b>corresponding AI Voice Agent Feature Suggestion</b> that solves that specific pain. Use HTML unordered lists <ul> for clean formatting of feature suggestions.)\n\n<hr>\n\n<h2>SOURCE TRUST ASSESSMENT</h2>\n(Provide a complete analysis of the data's reliability, ensuring the table is fully rendered and includes ALL THREE SOURCES (Reddit, Twitter, SERP API). \n\n***CRITICAL STYLING FIX: The table MUST be wrapped in a <div align=\"center\"> container. The table MUST have width=\"80%\" set as an attribute and the border=\"1\" attribute.***\n\nUse a single HTML table for the analysis. For a clean, single-line border, the table MUST include the following inline style: **style=\"border-collapse: collapse; border: 1px solid black;\"**\n\nThe table header cells (<th>) MUST have the following combined inline style: **style=\"background-color: #f2f2f2; padding: 10px; text-align: center;\"** (This sets the background to light gray, adds padding, and center-aligns the text).\n\nThe table data cells (<td>) MUST have the following inline style: **style=\"padding: 10px;\"** (This adds padding to the regular data cells).\n\nThe table MUST include the following columns:\n1. <b>Data Source</b>\n2. <b>Volume</b> (Must include both **number of mentions** AND **percentage of total**—e.g., 200 mentions (87%))\n3. <b>Reliability Rating</b> (Use text and star emojis)\n4. <b>Context & Limitations</b>\n\nFollow the table with a final key insight summary paragraph.)"
        },
        "messages": {
          "values": [
            {
              "content": "=DATA TO ANALYZE:\n{{ $json.summary }}"
            }
          ]
        }
      },
      "credentials": {
        "anthropicApi": {
          "id": "CFRCoeDLcmUNPQT7",
          "name": "Anthropic account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d2e6ff58-1af5-486c-aa84-52ab8e4f9824",
      "name": "发送邮件",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2320,
        32
      ],
      "webhookId": "3ac6cf9d-8d4d-4055-86e8-9c82a7d13d41",
      "parameters": {
        "sendTo": "={{ $('Form').item.json[\"What is your Email?\"] }}",
        "message": "={{ $json.content[0].text }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "=re: Market briefing for {{ $('Form').item.json[\"What is your Name?\"] }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "PJrUDp0UTEVBDOMT",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6d8947d0-ca54-4036-bb15-77152ed4bf8b",
      "name": "记录搜索详情",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1760,
        -256
      ],
      "parameters": {
        "columns": {
          "value": {
            "Count": "={{ $json.Count }}",
            "Pain_Point": "={{ $json.Pain_Point }}",
            "Latest_Source": "={{ $json.Latest_Source }}",
            "Execution_Date": "={{ $now.format('dd/LL/yyyy') }}",
            "Average_Sentiment": "={{ $json.Average_Sentiment }}",
            "Summary_Sample_Example": "={{ $json.LLM_SUMMARY_HOLDER }}"
          },
          "schema": [
            {
              "id": "Execution_Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Execution_Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Latest_Source",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Latest_Source",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Pain_Point",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Pain_Point",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Count",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Count",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Average_Sentiment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Average_Sentiment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary_Sample_Example",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary_Sample_Example",
              "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/1q1Qw8LqRjn-RsDNkbrUJVw7UWfuqR-VInWYSikvYYnY/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1q1Qw8LqRjn-RsDNkbrUJVw7UWfuqR-VInWYSikvYYnY",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1q1Qw8LqRjn-RsDNkbrUJVw7UWfuqR-VInWYSikvYYnY/edit?usp=drivesdk",
          "cachedResultName": "Customer Intent"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "jBABhxE6xPp1vBwL",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "13cbdc50-d991-467c-bcb8-da40f150af79",
      "name": "表单",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -720,
        -80
      ],
      "webhookId": "997fbb25-7733-4286-a5db-14fbce3ea11f",
      "parameters": {
        "options": {},
        "formTitle": "Customer intelligence Briefing",
        "formFields": {
          "values": [
            {
              "fieldLabel": "What is your Name?",
              "requiredField": true
            },
            {
              "fieldType": "email",
              "fieldLabel": "What is your Email?",
              "requiredField": true
            },
            {
              "fieldLabel": "Location (where you want the search to originate):",
              "placeholder": "United States",
              "requiredField": true
            },
            {
              "fieldLabel": "Mention SerpAPI (Google) Search Query:",
              "placeholder": "Refer to STICKY NOTE",
              "requiredField": true
            },
            {
              "fieldLabel": "Mention X (Twitter) Search Query:",
              "placeholder": "Refer to STICKY NOTE",
              "requiredField": true
            },
            {
              "fieldLabel": "Mention the #1 subreddit to search:",
              "placeholder": "Refer to STICKY NOTE",
              "requiredField": true
            },
            {
              "fieldLabel": "Mention the #2 subreddit to search:",
              "placeholder": "Refer to STICKY NOTE",
              "requiredField": true
            }
          ]
        },
        "formDescription": "The system will analyze the web, categorize complaints, and deliver a strategic executive summary to the sales team within minutes."
      },
      "typeVersion": 2.3
    },
    {
      "id": "4b2111ee-09bd-45f7-b8b7-81b37403f4c1",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1168,
        -128
      ],
      "parameters": {
        "width": 624,
        "height": 736,
        "content": "## 触发器:表单"
      },
      "typeVersion": 1
    },
    {
      "id": "19ea5f7a-a156-4350-b243-a0b308d3e7e1",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -672
      ],
      "parameters": {
        "color": 2,
        "width": 704,
        "height": 480,
        "content": "数据流摄取:SERP API"
      },
      "typeVersion": 1
    },
    {
      "id": "97c6df85-6b40-4b14-afaa-9bc1a31daff9",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -128
      ],
      "parameters": {
        "color": 2,
        "width": 704,
        "height": 560,
        "content": "数据流摄取:Reddit"
      },
      "typeVersion": 1
    },
    {
      "id": "cbe7c270-a0eb-4107-ac7d-1b0c5a1423c8",
      "name": "列表创建器",
      "type": "n8n-nodes-base.code",
      "position": [
        -272,
        256
      ],
      "parameters": {
        "jsCode": "return [\n    { json: { subreddit: $input.first().json[\"Mention the #1 subreddit to search:\"] } },\n    { json: { subreddit: $input.first().json[\"Mention the #2 subreddit to search:\"] } },\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "3fc140dd-d940-46ba-a93c-07f619c5b517",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        496
      ],
      "parameters": {
        "color": 2,
        "width": 704,
        "height": 480,
        "content": "数据流摄取:X"
      },
      "typeVersion": 1
    },
    {
      "id": "fb6c3b6d-5c68-4760-8741-ad604f1bbaea",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -560
      ],
      "parameters": {
        "color": 2,
        "width": 624,
        "height": 656,
        "content": "核心分析引擎"
      },
      "typeVersion": 1
    },
    {
      "id": "1f4ea8d1-93de-42be-ad0b-eb3b84e91622",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -16
      ],
      "parameters": {
        "width": 848,
        "height": 688,
        "content": "最终交付系统:LLM 简报与分发"
      },
      "typeVersion": 1
    },
    {
      "id": "c9f47226-c11e-499c-9246-64960bb93a2a",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -560
      ],
      "parameters": {
        "width": 848,
        "height": 480,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "80550bfb-1b83-4c0f-8b40-ae1dd688b303",
      "name": "便利贴12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2016,
        -560
      ],
      "parameters": {
        "color": 5,
        "width": 624,
        "height": 368,
        "content": "日志搜索详情节点"
      },
      "typeVersion": 1
    },
    {
      "id": "6b8bd8d3-b3b4-47d9-bb3b-60c7beee3321",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1280,
        -768
      ],
      "parameters": {
        "color": 7,
        "width": 3920,
        "height": 1856,
        "content": "# 你好!"
      },
      "typeVersion": 1
    },
    {
      "id": "ba1380c4-3024-4e7d-97ad-2326a07814d0",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2016,
        -128
      ],
      "parameters": {
        "width": 624,
        "height": 736,
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bc1a0b84-4826-47a8-a194-343832b3dfb5",
  "connections": {
    "Form": {
      "main": [
        [
          {
            "node": "Search Google",
            "type": "main",
            "index": 0
          },
          {
            "node": "List Creator",
            "type": "main",
            "index": 0
          },
          {
            "node": "Search X",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Categorization & Sentiment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search X": {
      "main": [
        [
          {
            "node": "Filter & Label X",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Summary": {
      "main": [
        [
          {
            "node": "Executive Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List Creator": {
      "main": [
        [
          {
            "node": "Search Reddit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Google": {
      "main": [
        [
          {
            "node": "Filter & Label Google",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Reddit": {
      "main": [
        [
          {
            "node": "Filter & Label Reddit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Executive Email": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter & Label X": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Log Search Details": {
      "main": [
        []
      ]
    },
    "Filter & Label Google": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter & Label Reddit": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Categorization & Sentiment": {
      "main": [
        [
          {
            "node": "Deduplicate, Count, and Format",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Deduplicate, Count, and Format": {
      "main": [
        [
          {
            "node": "Get Summary",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Search Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 市场调研, AI 摘要总结

需要付费吗?

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

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

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

作者
Bhuvanesh R

Bhuvanesh R

@bhuvanesh

I partner with businesses to design AI voice agents and automation systems. Let's connect on LinkedIn to discuss your AI integration and automation needs.

外部链接
在 n8n.io 查看

分享此工作流