8
n8n 中文网amn8n.com

监控业务日常指标

中级

这是一个CRM, AI Summarization领域的自动化工作流,包含 15 个节点。主要使用 Code, Gmail, Trello, Webhook, Telegram 等节点。 使用Gemini从表格自动生成销售洞察并即时通知团队

前置要求
  • Google 账号和 Gmail API 凭证
  • HTTP Webhook 端点(n8n 会自动生成)
  • Telegram Bot Token
  • Google Sheets API 凭证
  • Google Gemini API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "coBopLGa9cP3cCp0",
  "meta": {
    "instanceId": "d02289ff41436fdfe97f97a509483d64007d2a482e6a216298112e027bb59fbf",
    "templateCredsSetupCompleted": true
  },
  "name": "监控业务日常指标",
  "tags": [],
  "nodes": [
    {
      "id": "b922d17e-4f70-41b0-a885-4bad99505cc4",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        0
      ],
      "webhookId": "5e2d95f2-a6c7-4ae0-b3bd-c10bde013de9",
      "parameters": {
        "path": "5e2d95f2-a6c7-4ae0-b3bd-c10bde013de9",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "138de074-7f57-43ba-8feb-b7d93026e26a",
      "name": "保存到表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        208,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ $json.body.date }}",
            "New Leads": "={{ $json.body.newLeads }}",
            "Calls Made": "={{ $json.body.callsMade }}",
            "Revenue ($)": "={{ $json.body.revenue }}",
            "Deals Closed": "={{ $json.body.dealsClosed }}",
            "Demos Booked": "={{ $json.body.demosBooked }}"
          },
          "schema": [
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "New Leads",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "New Leads",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Calls Made",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Calls Made",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Demos Booked",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Demos Booked",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Deals Closed",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Deals Closed",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Revenue ($)",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Revenue ($)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "hhkaTilBRdo87XG7",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "bf661e88-82d8-40c1-837f-e341ceeef8c0",
      "name": "从 Google Drive 下载",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        0
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "hhkaTilBRdo87XG7",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "7365f559-c550-4c35-b276-e01f0115df42",
      "name": "Google Gemini 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1088,
        256
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-pro"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "LqsDVdm5OmSBk8zP",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5175473d-5f3d-4771-8373-287b6bbe9897",
      "name": "生成洞察",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        800,
        0
      ],
      "parameters": {
        "options": {
          "summarizationMethodAndPrompts": {
            "values": {
              "prompt": "Write a concise summary of the daily business metrics, Show the current situation by comparing the latest data to the previous 3 days. The revenue is on dollars. Generate a summary with html format only the body and remove the intro and remove ```html tag because it's not rendered well, show the changes from previous date in percentage and seperate column. this text will attached for the email message:\n\n\n\"{text}\"\n",
              "combineMapPrompt": "Write a concise summary following:\n\n\n\"{text}\"\n\nCONCISE SUMMARY:"
            }
          }
        },
        "chunkSize": 100000
      },
      "typeVersion": 2.1
    },
    {
      "id": "1a0f5b2d-7024-462e-9349-c6e8998c57a9",
      "name": "发送消息",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1168,
        -256
      ],
      "webhookId": "6cae85b5-583e-4104-b5e2-32f4aeb4cc24",
      "parameters": {
        "sendTo": "rully.saputra4@gmail.com",
        "message": "=Daily Report Summary\n\n{{ $json.output.text }}",
        "options": {},
        "subject": "=Business Metrics - {{ $('Concat Sales Data').item.json.lastDate }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "jnWB2PPVjndum47v",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "25589e11-7088-416e-8232-8ccd22c23cc7",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -240
      ],
      "parameters": {
        "width": 416,
        "height": 176,
        "content": "## 每日销售指标自动洞察"
      },
      "typeVersion": 1
    },
    {
      "id": "3b1d401b-18f5-4ffc-95d1-93be8cc6156d",
      "name": "连接销售数据",
      "type": "n8n-nodes-base.code",
      "position": [
        576,
        0
      ],
      "parameters": {
        "jsCode": "const data = []\nfor (const item of $input.all()) {\n  data.push({\n    date: `Date: ${item.json.Date}`,\n    newLeads: `New Leads: ${item.json['New Leads']}`,\n    callsMade: `Calls Made: ${item.json['Calls Made']}`,\n    demosBooked: `Demos Booked: ${item.json['Demos Booked']}`,\n    dealsClosed: `Deals Closed: ${item.json['Deals Closed']}`,\n    revenue: `Revenue in $: ${item.json['Revenue ($)']}`\n  })\n}\n\nreturn [\n  {\n    json: {\n      lastDate:$('Webhook').first().json.body.date,\n      data\n    }\n  }\n]"
      },
      "typeVersion": 2
    },
    {
      "id": "a9c81702-a52d-41ec-95b3-cedc6583f6c5",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        208
      ],
      "parameters": {
        "color": 7,
        "content": "## 处理数据"
      },
      "typeVersion": 1
    },
    {
      "id": "6dc8a3b2-bd8d-4055-9e90-0df55b3eeec2",
      "name": "创建待办事项",
      "type": "n8n-nodes-base.trello",
      "position": [
        1792,
        176
      ],
      "parameters": {
        "name": "={{ $workflow.name }}-  {{ $now }}",
        "listId": "66266d87882b20a8324063bc",
        "description": "={{ $json.text }}",
        "additionalFields": {
          "idMembers": "5b90fe107e11f13a69d74fde"
        }
      },
      "credentials": {
        "trelloApi": {
          "id": "VS372VfWnHDK7QwR",
          "name": "Trello account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c689b22f-26cf-4699-8f32-661708bdf3cb",
      "name": "分类洞察",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        1440,
        -16
      ],
      "parameters": {
        "options": {
          "systemPromptTemplate": "Please classify the text provided by the user into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the text with cleared html tag. Clear the html string to get the actual data"
        },
        "inputText": "={{ $json.text }}",
        "categories": {
          "categories": [
            {
              "category": "Good",
              "description": "The revenue has increased by 5% and the demo closed has increased compared to three days ago."
            },
            {
              "category": "Bad",
              "description": "the revenue has decreased by 5% and the deals closed is same compared to three days ago"
            },
            {
              "category": "Very Bad",
              "description": "the revenue has decreased by 15% and deal closed around 0-3 deals compared to three days ago"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "e5bf06e8-9531-46fe-a4d9-5eda708cbf6e",
      "name": "移除 HTML 标签",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1136,
        0
      ],
      "parameters": {
        "text": "=clean this text from html tag to retrieve the information. Don't explain, just return the cleaned text following the telegram format message.\n\n{{ $json.output.text }}",
        "batching": {},
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "407597d8-dbdc-4562-ad4f-f1abda2433a1",
      "name": "通知群组",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1856,
        -80
      ],
      "webhookId": "3014e752-b166-45ab-9c6a-0a2c4e21db0b",
      "parameters": {
        "text": "={{ $workflow.name }}- {{ $now }}\n\nThe performance\n{{ $json.text }}",
        "chatId": "-4869385284",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "BDQbUISqJJFVGPsF",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "243e3add-1b8a-47b5-b6b6-fcdf7c687c49",
      "name": "创建会议",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        1936,
        176
      ],
      "parameters": {
        "end": "={{ $now.plus(25, 'hour') }}",
        "start": "={{ $now.plus(24, 'hours')}}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "rumahdwikora2@gmail.com",
          "cachedResultName": "rumahdwikora2@gmail.com"
        },
        "additionalFields": {
          "summary": "=Business Daily Metrics - {{ $today }}",
          "attendees": [
            "rully.saputra4@gmail.com"
          ],
          "description": "=Discussing the very bad business daily metrics {{ $json.url }}",
          "guestsCanInviteOthers": true
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "iIjE8gZbePEd5pzy",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b156c86d-2a06-4795-88a3-13b134c3c50e",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        368
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 208,
        "content": "## 创建即时行动"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8fdcf839-fcbd-4553-874e-385d6358c031",
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Save to Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get All Rows": {
      "main": [
        [
          {
            "node": "Concat Sales Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save to Sheet": {
      "main": [
        [
          {
            "node": "Get All Rows",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Classify Insight": {
      "main": [
        [
          {
            "node": "Notify Group",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notify Group",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create a backlog",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a backlog": {
      "main": [
        [
          {
            "node": "Create a meeting",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove HTML Tags": {
      "main": [
        [
          {
            "node": "Classify Insight",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Concat Sales Data": {
      "main": [
        [
          {
            "node": "Generate Insights",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Insights": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          },
          {
            "node": "Remove HTML Tags",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Insights",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Classify Insight",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Remove HTML Tags",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 客户关系管理, AI 摘要总结

需要付费吗?

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

工作流信息
难度等级
中级
节点数量15
分类2
节点类型12
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Rully Saputra

Rully Saputra

@rullysaputra15

Specializing in software engineering with over 5 years of hands-on experience. In addition to my expertise in web development, I also have experience in creating Hybrid mobile apps.

外部链接
在 n8n.io 查看

分享此工作流