🎧 IT语音支持自动化机器人 – Telegram语音消息转JIRA工单(使用OpenAI Whisper)
高级
这是一个Ticket Management, AI Summarization领域的自动化工作流,包含 25 个节点。主要使用 If, Set, Code, Jira, Merge 等节点。 通过Whisper和GPT-4.1 Mini将Telegram语音消息自动转换为JIRA工单
前置要求
- •Slack Bot Token 或 Webhook URL
- •Telegram Bot Token
- •Google Drive API 凭证
- •OpenAI API Key
使用的节点 (25)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "6CQ1q9QNxrj2uI22",
"meta": {
"instanceId": "4a2e6764ba7a6bc9890d9225f4b21d570ce88fc9bd57549c89057fcee58fed0f",
"templateId": "5473",
"templateCredsSetupCompleted": true
},
"name": "🎧 IT 语音支持自动化机器人 – Telegram 语音消息转 JIRA 工单(使用 OpenAI Whisper)",
"tags": [
{
"id": "3R2z7RUjxRHnnAdm",
"name": "IT Workflow",
"createdAt": "2025-07-31T14:10:26.526Z",
"updatedAt": "2025-07-31T14:10:26.526Z"
},
{
"id": "ow6eIe95VK6fRkyw",
"name": "Chatbot",
"createdAt": "2025-08-05T06:23:11.231Z",
"updatedAt": "2025-08-05T06:23:11.231Z"
}
],
"nodes": [
{
"id": "d86b9562-b23b-4683-b77b-6af858369fe1",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1712,
1088
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "PPSwAKeLQYgAPobT",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "f373c9fe-54ae-4639-9020-a7bc0dc491a6",
"name": "多表:您可以连接多个表以实现有组织的数据结构",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1840,
1088
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"chatid\": \"IT-REQ-20240701-001\",\n \"requested_by\": {\n \"name\": \"\",\n \"department\": \"\"\n },\n \"from\":\"\",\n \"category\": \"Feature\",\n \"priority\": \"High\",\n \"status\": \"Open\",\n \"title\": \"Purchase 2TB SSD compatible with MacBook\",\n \"description\": \"Request to purchase a 2TB or larger SSD compatible with MacBook for data backup and transfer purposes. The requester expects the SSD to be reliable and durable. Delivery is expected by 2024-07-05. Please proceed with sourcing a compatible model and ensure proper procurement process is followed. Original request came via IT support email.\",\n \"due_date\": \"2024-07-05\",\n \"created_at\": \"2024-07-01T10:30:00Z\",\n \"original_message\":\"\",\n \"audioUrl\":\"\"\n }\n]"
},
"typeVersion": 1.3
},
{
"id": "3d157208-5282-4e80-92cc-391a4f531526",
"name": "向 IT 支持团队发送消息",
"type": "n8n-nodes-base.slack",
"position": [
2528,
768
],
"webhookId": "cb2e481d-9325-4e1c-9ce1-70c6ff0136ef",
"parameters": {
"text": "=📩 *New IT Support Request Submitted*\n👤 *Requested by:* {{ $('Transcript Processing Agent').item.json.output[0].requested_by.name }} | ({{ $('Transcript Processing Agent').item.json.output[0].requested_by.department }})\n🎯 *Category:* {{ $('Transcript Processing Agent').item.json.output[0].category }}\n📊 *Priority:* {{ $('Transcript Processing Agent').item.json.output[0].priority }}\n📝 *Title:* {{ $('Transcript Processing Agent').item.json.output[0].title }}\n\n🧾 *Description:* \n{{ $('Transcript Processing Agent').item.json.output[0].description }}\n\n🔗 *Track in Jira:* {{ $json[\"Jira base URL\"] }}/browse/{{ $('Submit JIRA request ticket').item.json.key }}\n\n📣 Please take action or assign accordingly.",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "={{ $json['IT support slack channel'] }}"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"credentials": {
"slackOAuth2Api": {
"id": "fDHHxMgQm69z0h5T",
"name": "Slack account"
}
},
"typeVersion": 2.3
},
{
"id": "e4282aaf-37f5-4dfd-b37f-a091741954c4",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1456,
128
],
"parameters": {
"width": 1648,
"height": 2112,
"content": "# 🎧 IT 语音支持自动化机器人 – Telegram 语音消息转 JIRA 工单(使用 OpenAI Whisper)"
},
"typeVersion": 1
},
{
"id": "d7f147cf-c456-4b47-b8de-29987dc6208f",
"name": "设置 Jira、Slack、电子邮件",
"type": "n8n-nodes-base.set",
"position": [
2304,
864
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d6d4633f-b2b1-4789-a373-6a37e7965203",
"name": "Jira base URL",
"type": "string",
"value": "https://your-company.atlassian.net"
},
{
"id": "2e7685df-5c0c-476c-aa2c-bbf72c255dfa",
"name": "IT support email",
"type": "string",
"value": "it@your-company.com"
},
{
"id": "068a0089-eb68-4118-a21b-acc5485c4d7e",
"name": "IT support slack channel",
"type": "string",
"value": "it-support"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5940141a-f7ad-415b-b930-027f591a07cd",
"name": "提交 JIRA 请求工单",
"type": "n8n-nodes-base.jira",
"position": [
2080,
864
],
"parameters": {
"project": {
"__rl": true,
"mode": "list",
"value": "10003",
"cachedResultName": "Support"
},
"summary": "={{ $json.output[0].title }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10005",
"cachedResultName": "Task"
},
"additionalFields": {
"assignee": {
"__rl": true,
"mode": "list",
"value": "712020:49f03c74-eab4-4903-aee6-662433856e97",
"cachedResultName": "Dinh Ngoc Huy"
},
"description": "={{ $json.output[0].description }}\nOriginal Voice Message Transcript (by AI)\n---\n{{ $json.output[0].original_message }}\n---\nOriginal Voice Message: {{ $json.output[0].audioUrl }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "4pyiEA4RWXJCkSHl",
"name": "Jira SW Cloud account"
}
},
"executeOnce": false,
"retryOnFail": false,
"typeVersion": 1
},
{
"id": "3d7e9547-d45a-46da-9cf0-eea3c8f0d436",
"name": "Telegram 语音消息触发器",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
336,
960
],
"webhookId": "5cdd7f36-b2e3-4c8d-ab5f-1f2763eb5c75",
"parameters": {
"updates": [
"message"
],
"additionalFields": {
"download": true
}
},
"credentials": {
"telegramApi": {
"id": "paNoPvnV5Wzt4Lhv",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "28ff22df-5242-45aa-8634-159eed3d84af",
"name": "是否为音频消息?",
"type": "n8n-nodes-base.if",
"position": [
560,
960
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "069b1c3b-d683-46f2-b7d6-9dbcdde41445",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.message.toJsonString() }}",
"rightValue": "audio/ogg"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "28fc9885-9978-4403-9dbf-53ee0d498a7b",
"name": "不支持的消息类型",
"type": "n8n-nodes-base.telegram",
"position": [
784,
1056
],
"webhookId": "344e09e1-f90a-4181-b88d-eba8a1729454",
"parameters": {
"text": "=Sorry, I can’t read your input right now.\nPlease send me a voice message, and I’ll help you transcribe and track it! 🎙️💬",
"chatId": "={{ $('Telegram Voice Message Trigger').item.json.message.chat.id }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "paNoPvnV5Wzt4Lhv",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "143e2575-a8fe-4ae4-9344-cd9522aa61c1",
"name": "下载音频消息",
"type": "n8n-nodes-base.telegram",
"position": [
784,
864
],
"webhookId": "b7eb04dc-b5db-4fbd-8ea6-7692282d9469",
"parameters": {
"fileId": "={{ $json.message.voice.file_id }}",
"resource": "file"
},
"credentials": {
"telegramApi": {
"id": "paNoPvnV5Wzt4Lhv",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "35e82630-9f80-4ffb-8a4e-68ed26af0655",
"name": "转录录音",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1008,
768
],
"parameters": {
"options": {},
"resource": "audio",
"operation": "transcribe"
},
"credentials": {
"openAiApi": {
"id": "PPSwAKeLQYgAPobT",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "5f5e1bbe-cda6-48cc-b4fb-fe87ffbcee45",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2768,
208
],
"parameters": {
"width": 768,
"height": 432,
"content": ""
},
"typeVersion": 1
},
{
"id": "119dee85-e382-4d71-8790-3748d4b68a28",
"name": "转录处理代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1680,
864
],
"parameters": {
"text": "=Below is the voice message transcript sent to IT support. Please extract all relevant information according to your instructions.\n---\n{{ $json.toJsonString() }}\n---",
"options": {
"systemMessage": "=You are an intelligent IT Support Assistant.\n\nYour job is to analyze voice message transcripts sent to the IT support team via Telegram, and extract all the key information required for internal processing.\n\nHere’s what you must do:\n\n1. Carefully read the entire transcript content of the voice message.\n2. Determine the **actual requester** by checking:\n - If the speaker clearly mentions their **name, role, or department** during the voice message\n - If no identifying details are mentioned, leave the name and department fields blank (they can be filled in later manually)\n3. Extract the following information:\n - Requester's name (if mentioned)\n - Requester's department or team (if mentioned)\n - Request category: choose from one of the following — *Feature, Incident, Access Request, Maintenance*\n - Priority level: *Low, Medium, High, or Critical*\n - Request title: a clear and concise title summarizing the main intent\n - Request description: provide enough technical and business context for the IT team to take action\n - Due date or urgency if mentioned\n - The full original transcript (for reference)\n\n⚠️ Do not make up information that is not mentioned. If a specific field cannot be determined from the transcript, leave it blank or mark as \"Not specified\".\n\nReturn your output as **clearly structured data in text**, following a readable and organized format (not JSON). This will be converted to structured data by another tool."
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.8
},
{
"id": "097266fd-5914-42c5-a99c-62f24eec27ab",
"name": "通过 Telegram 通知报告人",
"type": "n8n-nodes-base.telegram",
"position": [
2528,
960
],
"webhookId": "ed72173c-01bc-41a7-a369-545e09392e09",
"parameters": {
"text": "=*Dear {{ $('Transcript Processing Agent').item.json.output[0].requested_by.name }},*\n\nThank you for reaching out to the IT Support team. \nWe’ve received your request regarding: \n*{{ $('Transcript Processing Agent').item.json.output[0].title }}*\n\n📝 *Summary:* \n{{ $('Transcript Processing Agent').item.json.output[0].description }}\n\nYour request has been successfully logged in our system and is now being processed by the IT Support team.\n\n🔗 You can track the status of your request here: \n[{{ $('Submit JIRA request ticket').item.json.key }}]({{ $json[\"Jira base URL\"] }}/browse/{{ $('Submit JIRA request ticket').item.json.key }})\n\nOur team will review it shortly and follow up with any updates or actions needed. \n\nBest regards, \n*IT Support Team*",
"chatId": "={{ $('Transcript Processing Agent').item.json.output[0].chatid }}",
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "paNoPvnV5Wzt4Lhv",
"name": "Telegram account"
}
},
"typeVersion": 1.2
},
{
"id": "041b4c60-56a2-4ee5-a537-500874584876",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
1232,
864
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "adb3c7b6-b595-4b53-921c-bd46ab661c66",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
2768,
672
],
"parameters": {
"width": 768,
"height": 272,
"content": ""
},
"typeVersion": 1
},
{
"id": "e7a19034-fd0a-4d0e-934b-85a55e6deff4",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2768,
960
],
"parameters": {
"width": 768,
"height": 512,
"content": ""
},
"typeVersion": 1
},
{
"id": "b059c849-f7e8-45a9-b6ae-d70fb4f19e10",
"name": "备份音频消息到 Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1008,
960
],
"parameters": {
"name": "=audio-{{ $now.toFormat(\"yyyyLLdd-HHmmss\") }}-{{$binary.data.fileName}}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1ObNNVJFR2vcKqP8p-ZnX_eaZy4gBHgha",
"cachedResultUrl": "https://drive.google.com/drive/folders/1ObNNVJFR2vcKqP8p-ZnX_eaZy4gBHgha",
"cachedResultName": "SmartIT"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "fC471es5gk5Mm900",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "09b62491-202a-4a2a-be88-dd1775658fbd",
"name": "在输入 AI 代理前处理输出",
"type": "n8n-nodes-base.code",
"position": [
1456,
864
],
"parameters": {
"jsCode": "const inputs = $input.all();\n\n// Assumes: \n// inputs[0] = transcript\n// inputs[1] = drive metadata\n\nconst transcriptData = inputs[0].json;\nconst driveData = inputs[1].json;\nconst tele = $('Telegram Voice Message Trigger').first().json.message;\n\nconst result = {\n Transcript: transcriptData.text || '',\n AudioURL: driveData.webContentLink || '',\n ChatID: tele.chat.id,\n FirstName: tele.from.first_name\n};\n\nreturn [{ json: result }];"
},
"typeVersion": 2
},
{
"id": "38348903-4c94-46dc-af77-64c47e20bd18",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
640
],
"parameters": {
"width": 528,
"height": 256,
"content": "## 📥 1. Telegram 语音输入与验证"
},
"typeVersion": 1
},
{
"id": "1c8b21e6-074c-4b4a-bfd8-6f55c7a0e0c5",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
496
],
"parameters": {
"width": 528,
"height": 240,
"content": "## 🎙️ 2. 音频处理与转录"
},
"typeVersion": 1
},
{
"id": "d74dcab5-326b-46a3-8dda-a08c2023e1e5",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1184,
1040
],
"parameters": {
"width": 448,
"height": 256,
"content": "## 🔀 3. 合并与预处理数据"
},
"typeVersion": 1
},
{
"id": "2a4b0d93-7f15-45ad-b97c-446f99d6804b",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1584,
608
],
"parameters": {
"width": 448,
"height": 208,
"content": "## 🧠 4. AI 驱动的转录分析"
},
"typeVersion": 1
},
{
"id": "035592de-727c-42e0-a16a-3b50aeca6e79",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2096,
528
],
"parameters": {
"width": 544,
"height": 208,
"content": "## 🛠️ 5. 工单提交与内部通知"
},
"typeVersion": 1
},
{
"id": "b3b9315c-e55d-4bbe-874b-f5ea2ecdf061",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
1168
],
"parameters": {
"width": 480,
"height": 192,
"content": "## 📬 6. 用户确认"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5c7e739d-016a-4e4a-bb00-7f84d89d81d3",
"connections": {
"Merge": {
"main": [
[
{
"node": "Process output before feeding AI agent",
"type": "main",
"index": 0
}
]
]
},
"Is audio message?": {
"main": [
[
{
"node": "Download audio message",
"type": "main",
"index": 0
}
],
[
{
"node": "Un-supported message type",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Transcript Processing Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Download audio message": {
"main": [
[
{
"node": "Backup Audio Message To Google Drive",
"type": "main",
"index": 0
},
{
"node": "Transcribe a recording",
"type": "main",
"index": 0
}
]
]
},
"Transcribe a recording": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Setup Jira, Slack, Email": {
"main": [
[
{
"node": "Send message to IT Support team",
"type": "main",
"index": 0
},
{
"node": "Inform reporter via Telegram",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Transcript Processing Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Submit JIRA request ticket": {
"main": [
[
{
"node": "Setup Jira, Slack, Email",
"type": "main",
"index": 0
}
]
]
},
"Transcript Processing Agent": {
"main": [
[
{
"node": "Submit JIRA request ticket",
"type": "main",
"index": 0
}
]
]
},
"Telegram Voice Message Trigger": {
"main": [
[
{
"node": "Is audio message?",
"type": "main",
"index": 0
}
]
]
},
"Backup Audio Message To Google Drive": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Process output before feeding AI agent": {
"main": [
[
{
"node": "Transcript Processing Agent",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 工单管理, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
SmartSupport流程:从邮件到Jira自动处理IT请求,附带Slack通知
通过AI解决方案和Slack提醒将邮件自动转换为Jira工单
If
Set
Jira
+10
25 节点Trung Tran
工单管理
TalentFlow AI - 批量简历筛选与职位描述匹配
使用GPT-4为HR团队进行批量简历筛选与职位描述匹配
If
Code
Merge
+12
30 节点Trung Tran
人力资源
HireMind – AI驱动的简历智能处理流程
HR AI简历筛选与评估:GPT-4和Google Workspace
If
Code
Slack
+10
26 节点Trung Tran
人力资源
Decodo爬虫API工作流模板(n8n自动化亚马逊图书购买报告)
使用Decodo爬虫和GPT 4.1 mini提取亚马逊图书数据并生成购买报告
Set
Code
Slack
+7
22 节点Trung Tran
AI 摘要总结
Telegram支出追踪器到Google Sheets(使用GPT-4.1)
使用GPT-4.1 Mini从Telegram追踪支出到Google Sheets
If
Code
Telegram
+6
23 节点Trung Tran
个人效率
第一轮 Telegram 和 LinkedIn 快速通道 AI 招聘助手
AI候选人筛选流程:LinkedIn到Telegram,集成Gemini与Apify
If
Set
Code
+15
55 节点Dean Pike
人力资源
工作流信息
难度等级
高级
节点数量25
分类2
节点类型14
作者
Trung Tran
@trungtranEmpowering small and medium businesses with smart automation and practical AI, no big tech team required. Reach out: lets@automatewith.me
外部链接
在 n8n.io 查看 →
分享此工作流