8
n8n 中文网amn8n.com

使用Gemini AI、Typeform和Google表格报告分类支持工单

高级

这是一个Support, AI领域的自动化工作流,包含 17 个节点。主要使用 Code, EmailSend, GoogleSheets, TypeformTrigger, ChainLlm 等节点,结合人工智能技术实现智能自动化。 使用Gemini AI、Typeform和Google表格报告分类支持工单

前置要求
  • Google Sheets API 凭证
  • Google Gemini API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "5aaf4236c70e34e423fbdb2c7b754d19253a933bb1476d548f75848a01e473cf",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "fc0f2155-ac48-4cd0-97d2-3eb81dac1757",
      "name": "Google Gemini 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -840,
        120
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash"
      },
      "typeVersion": 1
    },
    {
      "id": "992c9e1b-ec91-4470-887f-e43c899cfb8c",
      "name": "### 替换 Airtable 连接",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1080,
        -280
      ],
      "parameters": {
        "color": 4,
        "width": 500,
        "height": 1280,
        "content": "======================================="
      },
      "typeVersion": 1
    },
    {
      "id": "4c76ce3a-6c1d-493b-b648-12c0d56fd9d8",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -820,
        -640
      ],
      "parameters": {
        "width": 580,
        "content": "此工作流从Google Sheets检索支持工单数据,计算每个类别中的工单数量,并通过电子邮件发送摘要报告。"
      },
      "typeVersion": 1
    },
    {
      "id": "ab24dd90-ae20-496d-a963-6c89a65d2340",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -960,
        -180
      ],
      "parameters": {
        "width": 170,
        "height": 80,
        "content": "触发工作流开始摘要过程。"
      },
      "typeVersion": 1
    },
    {
      "id": "968d3213-dafc-415f-8760-31e0fb55d94a",
      "name": "表单触发器",
      "type": "n8n-nodes-base.typeformTrigger",
      "position": [
        -940,
        -380
      ],
      "webhookId": "d02525cf-b9c1-492d-866c-e188bd781155",
      "parameters": {
        "formId": "lwldQPTN"
      },
      "typeVersion": 1.1
    },
    {
      "id": "d57b9477-f789-4ee2-a664-eba7f787a750",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -680,
        -160
      ],
      "parameters": {
        "width": 190,
        "height": 100,
        "content": "使用Gemini模型将每个支持请求分类或标记到预定义的类别中。"
      },
      "typeVersion": 1
    },
    {
      "id": "bb7ae6f3-5c32-47a3-a91b-97e4e4b4e0b1",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -400,
        -160
      ],
      "parameters": {
        "width": 170,
        "height": 100,
        "content": "解析Gemini的响应以仅从输出中提取相关的类别标签。"
      },
      "typeVersion": 1
    },
    {
      "id": "b7eb9e53-916f-4c34-babf-c8b23641b8a2",
      "name": "AI分类",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -740,
        -380
      ],
      "parameters": {
        "text": "=Classify the support request below:\nMessage: {{ $json['Your message'] }}\n\nReturn output with 'category' and 'sentiment' columns of JSON FILE:\n{\n  \"category\": one of [\"Billing\", \"Bug Report\", \"Feature Request\", \"How-To\", \"Complaint\"],\n  \"sentiment\": one of [\"Positive\", \"Neutral\", \"Negative\"]\n}\n ",
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "eb3c3d0a-cdad-4792-a954-1de022d968dd",
      "name": "提取类别",
      "type": "n8n-nodes-base.code",
      "position": [
        -360,
        -380
      ],
      "parameters": {
        "jsCode": "// Get the input string\nconst inputString = $json.text;\n\n// Remove code block markers using regex\nconst cleaned = inputString.replace(/```json|```/g, '').trim();\n\n// Parse the JSON\nconst data = JSON.parse(cleaned);\n\n// Extract the values\nconst category = data.category;\nconst sentiment = data.sentiment;\n\n// Return as output\nreturn [{ category, sentiment }];"
      },
      "typeVersion": 2
    },
    {
      "id": "b3c418d7-9113-46eb-af0a-2372de5a3eec",
      "name": "存储数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -120,
        -380
      ],
      "parameters": {
        "columns": {
          "value": {
            "Name": "={{ $('Form Trigger').item.json['Enter your name'] }}",
            "Email": "={{ $('Form Trigger').item.json['Enter your email'] }}",
            "Message": "={{ $('Form Trigger').item.json['Your message'] }}",
            "Category": "={{ $json.category }}",
            "Sentiment": "={{ $json.sentiment }}",
            "Timestamp": "={{$now}}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Sentiment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Sentiment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "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/1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM/edit?usp=drivesdk",
          "cachedResultName": "Support"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "51ef2daa-2c2e-409c-a103-6f915d3ef0d0",
      "name": "获取支持工单数据",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        100,
        -380
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1SY1fCAbsvyTzIBbmwZpdktbUFN4jKNIpF4GJ9lFKvPM/edit?usp=drivesdk",
          "cachedResultName": "Support"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "b3258a29-9bfa-4361-83d3-804aac76e976",
      "name": "递增计数器",
      "type": "n8n-nodes-base.code",
      "position": [
        300,
        -380
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\nconst counts = {};\nitems.forEach(item => {\n  const cat = item.json.Category;\n  if (cat) {\n    counts[cat] = (counts[cat] || 0) + 1;\n  }\n});\nreturn [{ json: { summary: counts } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "5c8193a0-6fab-494a-bd40-b26188c319b0",
      "name": "电子邮件工单摘要",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        500,
        -380
      ],
      "parameters": {
        "text": "=Hello,\n\nHere is the updated count of categorized support tickets:\n\nBilling: {{$json.summary.Billing || 0}}\nBug Report: {{$json.summary['Bug Report'] || 0}}\nFeature Request: {{$json.summary['Feature Request'] || 0}}\nHow-To: {{$json.summary['How-To'] || 0}}\nComplaint: {{$json.summary.Complaint || 0}}\n\nBest regards,\nSupport Tracker",
        "options": {},
        "subject": "Support Ticket Summary",
        "toEmail": "notify@example.com",
        "fromEmail": "you@example.com"
      },
      "typeVersion": 1
    },
    {
      "id": "3827fa87-5669-4217-88fe-978328f0ec4c",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -180
      ],
      "parameters": {
        "width": 170,
        "height": 120,
        "content": "将每个分类和数据工单追加到中央Google表格中,用于记录保存和后续聚合。"
      },
      "typeVersion": 1
    },
    {
      "id": "c515d231-f260-4c5a-9895-19fe0c229762",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        -180
      ],
      "parameters": {
        "width": 170,
        "height": 120,
        "content": "从Google表格获取所有分类条目以按类别计算工单数量。"
      },
      "typeVersion": 1
    },
    {
      "id": "f6eb3bd4-c4fa-4b98-bc58-1930118e3b25",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        300,
        -180
      ],
      "parameters": {
        "width": 170,
        "height": 100,
        "content": "按类别分组工单并计算每组的总数,为报告准备数据。"
      },
      "typeVersion": 1
    },
    {
      "id": "5ec81b1c-14d1-4540-9acb-ad8c97632246",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        520,
        -180
      ],
      "parameters": {
        "width": 170,
        "height": 100,
        "content": "发送包含今天运行中每个类别工单总数的电子邮件。"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Store Data": {
      "main": [
        [
          {
            "node": "Fetch Support Ticket Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Form Trigger": {
      "main": [
        [
          {
            "node": "AI Categorization",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Category": {
      "main": [
        [
          {
            "node": "Store Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Categorization": {
      "main": [
        [
          {
            "node": "Extract Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Increment Counter": {
      "main": [
        [
          {
            "node": "Email Ticket Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Categorization",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Support Ticket Data": {
      "main": [
        [
          {
            "node": "Increment Counter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 客户支持, 人工智能

需要付费吗?

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

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

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

作者
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host

外部链接
在 n8n.io 查看

分享此工作流