使用 Telegram、GPT-4 和 Google Sheets 自动化非政府组织援助请求管理
中级
这是一个Ticket Management, AI Chatbot领域的自动化工作流,包含 12 个节点。主要使用 Set, Switch, Telegram, GoogleSheets, Agent 等节点。 使用Telegram、GPT-4和Google Sheets自动化非政府组织援助请求管理
前置要求
- •Telegram Bot Token
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "PvcEnJDre7QTh3Xy",
"meta": {
"instanceId": "9eff06f9794a5c6da9f8bedd7572cd2897d884c2b43f32b8368bd92e03c34228",
"templateCredsSetupCompleted": true
},
"name": "使用 Telegram、GPT-4 和 Google Sheets 自动化非政府组织援助请求管理",
"tags": [],
"nodes": [
{
"id": "e93ae817-3f4b-49dc-8fe8-821170633c69",
"name": "Telegram 触发器",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
80,
-80
],
"webhookId": "e344c7c7-dd4b-48e7-86fa-f0e00fd12c96",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "56283c02-e027-47c0-94ab-02745a082f80",
"name": "路由消息类型",
"type": "n8n-nodes-base.switch",
"position": [
240,
-80
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "dc5471a7-7a28-43e7-8666-1842cba51c95",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "Audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4a94e9ac-99ac-4187-b7d3-6de1a71506dc",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.message.voice.file_id }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "10c260a8-4987-42ec-bca2-b3192147b702",
"name": "获取音频文件",
"type": "n8n-nodes-base.telegram",
"position": [
380,
60
],
"webhookId": "51579376-9e38-4c43-b726-59b60458cb4d",
"parameters": {
"fileId": "={{ $json.message.voice.file_id }}",
"resource": "file"
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "950d8c4e-1f99-40cc-8434-f54693806d0f",
"name": "转录语音消息",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
540,
60
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"id": "I2N5Mx7hiecxYcpu",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "38ebb5b9-d13f-4587-8717-42f324ef74e2",
"name": "提取文本消息",
"type": "n8n-nodes-base.set",
"position": [
460,
-180
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d7c9be19-c1c4-4287-ac0e-7a2be9732a51",
"name": "text",
"type": "string",
"value": "={{ $json.message.text }}"
}
]
}
},
"typeVersion": 3.4,
"alwaysOutputData": false
},
{
"id": "59a1eb8b-38f3-478f-8a71-3990cf2df204",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
840,
-100
],
"parameters": {
"text": "= here is request from beneficiary: {{ $json.text }}",
"options": {
"systemMessage": "You are the NGO TPM team leader. The user has requested help. Categorize the request, and please suggest an action for the TPM team to take\nاكتب دائماً باللغة العربية\nThe output should be like\n{\n \"category\": \"مشكلة في توزيع المساعدات\",\n \"action\": \"التواصل مع فرق التوزيع للتحقق من سبب عدم وصول المساعدات إلى القرية والتأكد من الإجراءات اللازمة لحل المشكلة.\"\n}\n\n\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "3c9aaed8-6956-4bd4-89a0-610e7e4e2982",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
840,
120
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "I2N5Mx7hiecxYcpu",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "c66af39a-150f-4a37-92dc-601e5b3879a5",
"name": "发送确认消息",
"type": "n8n-nodes-base.telegram",
"position": [
1640,
-80
],
"webhookId": "0b6bd34e-c586-4cef-a6b0-da7a55a5b7ca",
"parameters": {
"text": "=تم استقبال طلبك انه هنالك {{ $('AI Agent').item.json.output.category }}",
"chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
"additionalFields": {
"appendAttribution": false
}
},
"credentials": {
"telegramApi": {
"id": "eQGhTntXIBs9WNlc",
"name": "Telegram DigiSteps1_bot message"
}
},
"typeVersion": 1.2
},
{
"id": "625e6f44-7bbe-416b-9912-9b8fc3545f89",
"name": "将音频请求保存到表格",
"type": "n8n-nodes-base.googleSheets",
"position": [
1440,
-200
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $('Telegram Trigger').item.json.message.message_id }}",
"action": "={{ $json.output.action }}",
"category": "={{ $json.output.category }}\n",
"last name": "={{ $('Telegram Trigger').item.json.message.chat.last_name }}",
"First name": "={{ $('Telegram Trigger').item.json.message.chat.first_name }}",
"Transcription": "={{ $('Transcribe Voice Message').item.json.text }}",
"Telegram User Name": "={{ $('Telegram Trigger').item.json.message.chat.username }}"
},
"schema": [
{
"id": "ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Text",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Transcription",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Transcription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "action",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "action",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "First name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "last name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Telegram User Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Telegram User Name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit?usp=sharing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "KtYF0aYlnYbm8XkV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "7d7b8310-c0cf-433c-932f-97219f37bec3",
"name": "结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1020,
120
],
"parameters": {
"jsonSchemaExample": "{\n \"category\": \"مشكلة في توزيع المساعدات\",\n \"action\": \"التواصل مع فرق التوزيع للتحقق من سبب عدم وصول المساعدات إلى القرية والتأكد من الإجراءات اللازمة لحل المشكلة.\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "ab338a5f-51ac-4ebc-a668-59ddec459d9b",
"name": "路由到适当的表格",
"type": "n8n-nodes-base.switch",
"position": [
1200,
-100
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Audio",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "5b7518a8-578a-4fd6-8240-0b72f073ca76",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.voice.file_id }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "Text",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "def32c5a-8ffc-46a1-9e2f-68d161eb5436",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "06ef0f7b-63a3-4427-a2a5-1d059a54ebc4",
"name": "将文本请求保存到表格",
"type": "n8n-nodes-base.googleSheets",
"position": [
1440,
-20
],
"parameters": {
"columns": {
"value": {
"ID": "={{ $('Telegram Trigger').item.json.message.message_id }}",
"Text": "={{ $('Telegram Trigger').item.json.message.text }}",
"action": "={{ $json.output.action }}",
"category": "={{ $json.output.category }}\n",
"last name": "={{ $('Telegram Trigger').item.json.message.chat.last_name }}",
"First name": "={{ $('Telegram Trigger').item.json.message.chat.first_name }}",
"Telegram User Name": "={{ $('Telegram Trigger').item.json.message.chat.username }}"
},
"schema": [
{
"id": "ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Text",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Transcription",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Transcription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "action",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "action",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "First name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "First name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "last name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Telegram User Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Telegram User Name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"ID"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1JKCLCjfm3xIFg5YH0EH9qK4W69jjeX673dFxaHfVRzo/edit?usp=sharing"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "KtYF0aYlnYbm8XkV",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "b3d1915c-e70f-491a-b9d9-736820d48adf",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "Route to Appropriate Sheet",
"type": "main",
"index": 0
}
]
]
},
"Fetch Audio File": {
"main": [
[
{
"node": "Transcribe Voice Message",
"type": "main",
"index": 0
}
]
]
},
"Telegram Trigger": {
"main": [
[
{
"node": "Route Message Type",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Route Message Type": {
"main": [
[
{
"node": "Extract Text Message",
"type": "main",
"index": 0
}
],
[
{
"node": "Fetch Audio File",
"type": "main",
"index": 0
}
]
]
},
"Extract Text Message": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Transcribe Voice Message": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Route to Appropriate Sheet": {
"main": [
[
{
"node": "Save Audio Request to Sheet",
"type": "main",
"index": 0
}
],
[
{
"node": "Save Text Request to Sheet",
"type": "main",
"index": 0
}
]
]
},
"Save Text Request to Sheet": {
"main": [
[
{
"node": "Send Confirmation Message",
"type": "main",
"index": 0
}
]
]
},
"Save Audio Request to Sheet": {
"main": [
[
{
"node": "Send Confirmation Message",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 工单管理, AI 聊天机器人
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
宠物美容发布与预约自动化
使用AI、Facebook和Telegram机器人自动化宠物美容发布与预约
If
Set
Switch
+17
36 节点Christian Moises
AI 聊天机器人
基于 GPT、LangChain 和智能路由的 AI 驱动客户服务自动化
AI驱动客户服务自动化,基于GPT、LangChain和智能路由
Set
Gmail
Merge
+19
46 节点Paul
客户支持
音乐生成工作流
使用 Suno API、Flux、Runway 和 Creatomate 生成 AI 歌曲和音乐视频
Set
Wait
Merge
+16
60 节点Joseph
其他
餐厅预订
基于AI的餐厅预订系统,集成Telegram、日历和邮件通知
Set
Gmail
Switch
+9
21 节点Aziz B
AI 聊天机器人
基于AI的WhatsApp客户服务(GPT-4、智能路由与知识库)
基于AI的WhatsApp客户服务(GPT-4、智能路由与知识库)
Set
Gmail
Merge
+19
45 节点Paul
AI 聊天机器人
🎧 IT语音支持自动化机器人 – Telegram语音消息转JIRA工单(使用OpenAI Whisper)
通过Whisper和GPT-4.1 Mini将Telegram语音消息自动转换为JIRA工单
If
Set
Code
+11
25 节点Trung Tran
工单管理