通过Twilio和Redis缓冲消息增强客户聊天体验
高级
这是一个Support, Product, AI领域的自动化工作流,包含 18 个节点。主要使用 If, Set, Wait, Redis, Twilio 等节点,结合人工智能技术实现智能自动化。 使用Twilio和Redis缓冲消息功能增强客户聊天体验
前置要求
- •Redis 服务器连接信息
- •OpenAI API Key
使用的节点 (18)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e"
},
"nodes": [
{
"id": "d61d8ff3-532a-4b0d-a5a7-e02d2e79ddce",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2660,
480
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1
},
{
"id": "b6d5c1cf-b4a1-4901-b001-0c375747ee63",
"name": "无操作,不执行任何操作",
"type": "n8n-nodes-base.noOp",
"position": [
1660,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f4e08e32-bb96-4b5d-852e-26ad6fec3c8c",
"name": "添加到消息堆栈",
"type": "n8n-nodes-base.redis",
"position": [
1340,
200
],
"parameters": {
"list": "=chat-buffer:{{ $json.From }}",
"tail": true,
"operation": "push",
"messageData": "={{ $json.Body }}"
},
"credentials": {
"redis": {
"id": "zU4DA70qSDrZM1El",
"name": "Redis account"
}
},
"typeVersion": 1
},
{
"id": "181ae99e-ebe7-4e99-b5a5-999acc249621",
"name": "是否继续?",
"type": "n8n-nodes-base.if",
"position": [
1660,
360
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ec39573f-f92a-4fe4-a832-0a137de8e7d0",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Get Latest Message Stack').item.json.messages.last() }}",
"rightValue": "={{ $('Twilio Trigger').item.json.Body }}"
}
]
}
},
"typeVersion": 2
},
{
"id": "640c63ca-2798-48a9-8484-b834c1a36301",
"name": "窗口缓冲内存",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2780,
480
],
"parameters": {
"sessionKey": "=chat-debouncer:{{ $('Twilio Trigger').item.json.From }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.2
},
{
"id": "123c35c5-f7b2-4b4d-b220-0e5273e25115",
"name": "Twilio 触发器",
"type": "n8n-nodes-base.twilioTrigger",
"position": [
940,
360
],
"webhookId": "0ca3da0e-e4e1-4e94-8380-06207bf9b429",
"parameters": {
"updates": [
"com.twilio.messaging.inbound-message.received"
]
},
"credentials": {
"twilioApi": {
"id": "TJv4H4lXxPCLZT50",
"name": "Twilio account"
}
},
"typeVersion": 1
},
{
"id": "f4e86455-7f4d-4401-8f61-a859be1433a9",
"name": "获取最新消息堆栈",
"type": "n8n-nodes-base.redis",
"position": [
1500,
360
],
"parameters": {
"key": "=chat-buffer:{{ $json.From }}",
"keyType": "list",
"options": {},
"operation": "get",
"propertyName": "messages"
},
"credentials": {
"redis": {
"id": "zU4DA70qSDrZM1El",
"name": "Redis account"
}
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "02f8e7f5-12b4-4a5a-9ce9-5f0558e447aa",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232.162872321277,
-50.203627749982275
],
"parameters": {
"color": 7,
"width": 632.8309394802918,
"height": 766.7069233634998,
"content": "## 步骤 2. 缓冲传入消息"
},
"typeVersion": 1
},
{
"id": "311c0d69-a735-4435-91b6-e80bf7d4c012",
"name": "发送回复",
"type": "n8n-nodes-base.twilio",
"position": [
3000,
320
],
"parameters": {
"to": "={{ $('Twilio Trigger').item.json.From }}",
"from": "={{ $('Twilio Trigger').item.json.To }}",
"message": "={{ $json.output }}",
"options": {}
},
"credentials": {
"twilioApi": {
"id": "TJv4H4lXxPCLZT50",
"name": "Twilio account"
}
},
"typeVersion": 1
},
{
"id": "c0e0cd08-66e3-4ca3-9441-8436c0d9e664",
"name": "等待 5 秒",
"type": "n8n-nodes-base.wait",
"position": [
1340,
360
],
"webhookId": "d486979c-8074-4ecb-958e-fcb24455086b",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "c7959fa2-69a5-46b4-8e67-1ef824860f4e",
"name": "获取聊天历史",
"type": "@n8n/n8n-nodes-langchain.memoryManager",
"position": [
2000,
280
],
"parameters": {
"options": {
"groupMessages": true
}
},
"typeVersion": 1.1
},
{
"id": "55933c54-5546-4770-8b36-a31496163528",
"name": "窗口缓冲记忆1",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
2000,
420
],
"parameters": {
"sessionKey": "=chat-debouncer:{{ $('Twilio Trigger').item.json.From }}",
"sessionIdType": "customKey"
},
"typeVersion": 1.2
},
{
"id": "459c0181-d239-4eec-88b6-c9603868d518",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
774.3250485705519,
198.07493876489747
],
"parameters": {
"color": 7,
"width": 431.1629802181097,
"height": 357.49804533541777,
"content": "## 步骤 1. 监听 Twilio 消息"
},
"typeVersion": 1
},
{
"id": "e06313a9-066a-4387-a36c-a6c6ff57d6f9",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1900,
80
],
"parameters": {
"color": 7,
"width": 618.970917763344,
"height": 501.77420646931444,
"content": "## 步骤 3. 获取自上次回复以来的消息"
},
"typeVersion": 1
},
{
"id": "601a71f6-c6f8-4b73-98c7-cfa11b1facaa",
"name": "获取消息缓冲区",
"type": "n8n-nodes-base.set",
"position": [
2320,
280
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "01434acb-c224-46d2-99b0-7a81a2bb50c5",
"name": "messages",
"type": "string",
"value": "={{\n$('Get Latest Message Stack').item.json.messages\n .slice(\n $('Get Latest Message Stack').item.json.messages.lastIndexOf(\n $('Get Chat History').item.json.messages.last().human\n || $('Twilio Trigger').item.json.chatInput\n ),\n $('Get Latest Message Stack').item.json.messages.length\n )\n .join('\\n')\n}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "9e49f2de-89e6-4152-8e9c-ed47c5fc4654",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2549,
120
],
"parameters": {
"color": 7,
"width": 670.2274698011594,
"height": 522.5993538768389,
"content": "## 步骤 4. 为多条消息发送单一智能体回复"
},
"typeVersion": 1
},
{
"id": "be13c74a-467c-4ab1-acca-44878c68dba4",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
380,
80
],
"parameters": {
"width": 375.55385425077225,
"height": 486.69228315530853,
"content": "## 试试看!"
},
"typeVersion": 1
},
{
"id": "334d38e1-ec16-46f2-a57d-bf531adb8d3d",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
2660,
320
],
"parameters": {
"text": "={{ $json.messages }}",
"agent": "conversationalAgent",
"options": {},
"promptType": "define"
},
"typeVersion": 1.6
}
],
"pinData": {},
"connections": {
"AI Agent": {
"main": [
[
{
"node": "Send Reply",
"type": "main",
"index": 0
}
]
]
},
"Twilio Trigger": {
"main": [
[
{
"node": "Add to Messages Stack",
"type": "main",
"index": 0
},
{
"node": "Wait 5 seconds",
"type": "main",
"index": 0
}
]
]
},
"Wait 5 seconds": {
"main": [
[
{
"node": "Get Latest Message Stack",
"type": "main",
"index": 0
}
]
]
},
"Get Chat History": {
"main": [
[
{
"node": "Get Messages Buffer",
"type": "main",
"index": 0
}
]
]
},
"Should Continue?": {
"main": [
[
{
"node": "Get Chat History",
"type": "main",
"index": 0
}
],
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Get Messages Buffer": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Window Buffer Memory": {
"ai_memory": [
[
{
"node": "AI Agent",
"type": "ai_memory",
"index": 0
}
]
]
},
"Window Buffer Memory1": {
"ai_memory": [
[
{
"node": "Get Chat History",
"type": "ai_memory",
"index": 0
}
]
]
},
"Get Latest Message Stack": {
"main": [
[
{
"node": "Should Continue?",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 客户支持, 产品, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
基于 AI 代理和 n8n 表单的对话式面试
基于 AI 代理和 n8n 表单的对话式面试
If
Set
Form
+13
40 节点Jimleuk
产品
使用Telegram、Google表格和AI创建产品满意度调查
通过Telegram、Google表格和AI创建产品满意度调查
If
Set
Redis
+12
40 节点Jimleuk
工程
使用 OpenAI 和 Redis 会话管理的聊天支持客户认证
使用 OpenAI 和 Redis 会话管理的聊天支持客户认证
Set
Form
Redis
+10
19 节点Jimleuk
客户支持
预测话语结束以实现更流畅的Telegram和Gemini AI代理聊天
预测话语结束以实现更流畅的Telegram和Gemini AI代理聊天
If
Set
Wait
+12
29 节点Jimleuk
客户支持
使用JIRA、Supabase和AI自动分配支持工单
使用JIRA、Supabase和AI自动分配支持工单
If
Set
Jira
+15
36 节点Jimleuk
客户支持
基于AI的学生助手(通过Twilio SMS提供课程信息)
基于AI的学生助手(通过Twilio SMS提供课程信息)
Set
Twilio
Airtable
+6
12 节点Jimleuk
人工智能
工作流信息
难度等级
高级
节点数量18
分类3
节点类型12
作者
Jimleuk
@jimleukFreelance consultant based in the UK specialising in AI-powered automations. I work with select clients tackling their most challenging projects. For business enquiries, send me an email at hello@jimle.uk LinkedIn: https://www.linkedin.com/in/jimleuk/ X/Twitter: https://x.com/jimle_uk
外部链接
在 n8n.io 查看 →
分享此工作流