Package Information
Documentation
n8n-nodes-redis-message-aggregator
🌐 Language / Ngôn ngữ: English | Tiếng Việt
English
🚀 n8n custom node for aggregating messages from multiple triggers with Redis and intelligent delay
Solves the problem of scattered messages in chatbots/webhooks by intelligently combining multiple messages into one with smart waiting strategies.
📦 Installation
npm install n8n-nodes-redis-message-aggregator
After installation, restart n8n to load the new nodes.
⚡ Key Features
- ✅ Smart message aggregation: Automatically combines multiple scattered messages into one
- ✅ 2 processing strategies: Smart Wait and Immediate on Complete
- ✅ Real-time waiting: Node actually waits, no external scheduler needed
- ✅ Redis support: Supports local and cloud Redis (Upstash, Redis Cloud)
- ✅ Connection testing: Separate Redis connection test node
- ✅ Flexible keys: Supports user ID, group ID, or combined keys
🎯 Problem Solved
Before using:
Trigger 1: "Hello" → Process immediately → Response "?"
Trigger 2: "there" → Process immediately → Response "?"
Trigger 3: "world!" → Process immediately → Response "?"
After using:
Trigger 1: "Hello" → Save & wait
Trigger 2: "there" → Save & wait
Trigger 3: "world!" → Save & wait 5s → Aggregate: "Hello there world!" → Response
🚀 Quick Start
Step 1: Setup Redis
Option A - Upstash Redis (Recommended for beginners):
- Sign up at upstash.com (free tier available)
- Create a new Redis database
- Copy connection string like:
redis://default:[email protected]:6379
Option B - Local Redis:
# Docker
docker run -d -p 6379:6379 redis:alpine
# macOS
brew install redis && redis-server
# Ubuntu
sudo apt install redis-server
Step 2: Create Credentials
- In n8n, go to Credentials → New → Redis API
- Choose connection type:
- Connection String: Paste connection string from Upstash
- Host & Port: Enter localhost:6379 for local Redis
Step 3: Test Connection
- Add Redis Connection Test node
- Select the credentials you just created
- Choose Complete Test and execute
- Check result: ✅ Connection successful!
Step 4: Basic Workflow
[Manual Trigger] → [Redis Message Aggregator] → [Set] (to see results)
Configure Redis Message Aggregator:
- Key:
user123
(or any string) - Message Content:
Hello world!
- Wait Time:
5
(seconds) - Strategy:
Smart Wait
📚 Node Details
Redis Message Aggregator
Main node for message aggregation with 2 simple strategies:
🧠 Smart Wait (Recommended)
Intelligent waiting - only outputs when certain no new messages are coming.
When to use: Chatbots, webhooks receiving consecutive messages
Example:
// Input: 3 messages with key "user123"
// - "Hello" (10:00:00)
// - "there" (10:00:03)
// - "world!" (10:00:06)
// Output after 5 seconds with no new messages (10:00:11):
{
"status": "messages_aggregated",
"key": "user123",
"aggregatedMessage": "Hello there world!",
"messageCount": 3,
"trigger": "smart_timeout"
}
🎯 Immediate on Complete
Returns immediately when detecting message ending with defined words.
When to use: When you want quick responses with specific ending words
Configuration:
- End Words:
done, finished, ok, complete
(comma-separated)
Example:
// End Words: "done, ok, complete"
"Hello there" → Not complete → Save & wait
"world ok" → Complete (ends with "ok") → Output immediately: "Hello there world ok"
Redis Connection Test
Node for testing and troubleshooting Redis connections.
Test Types:
- Basic Connection: Only test PING
- Read/Write Test: Test SET/GET/DEL operations
- Server Info: Get Redis server information
- Complete Test: Run all tests above
🔧 Advanced Configuration
Key Patterns
Use flexible keys for different scenarios:
// 1-on-1 chat
key = 'user_123';
// Group chat
key = 'group_456';
// User in specific group
key = 'user_123_group_456';
// Session based
key = 'session_abc123';
// Multi-tenant
key = 'tenant_A_user_123';
Strategy Selection Guide
Strategy | Use Case | Output Timing | Best For |
---|---|---|---|
Smart Wait | Chatbot responses | After X seconds no new msg | Real-time chat |
Immediate on Complete | Quick responses | When detect end words | Fast interactions |
💡 Workflow Examples
Example 1: Chatbot with Smart Wait
[Webhook] → [Redis Message Aggregator] → [OpenAI/ChatGPT] → [Response]
Configuration:
- Key:
{{$json.user_id}}
- Message:
{{$json.message}}
- Wait Time:
3
seconds - Strategy:
Smart Wait
Example 2: Order Processing with Immediate Complete
[Webhook] → [Redis Message Aggregator] → [Process Order] → [Confirmation]
Configuration:
- Key:
{{$json.order_id}}
- Message:
{{$json.item}}
- Strategy:
Immediate on Complete
- End Words:
done, complete, finished
📋 Requirements
- n8n version: 0.190.0 or higher
- Node.js: 20.15.0 or higher
- Redis: Any version (local or cloud)
🤝 Contributing
- Fork the repository
- Create your feature branch
- Make your changes
- Test with real n8n environment
- Submit a pull request
📝 License
MIT License - see LICENSE.md for details.
🔗 Links
- NPM Package: https://www.npmjs.com/package/n8n-nodes-redis-message-aggregator
- GitHub Repository: https://github.com/nhh0718/n8n-nodes-gom-tin
- n8n Community: https://community.n8n.io
Tiếng Việt
🚀 n8n custom node để gom tin nhắn từ nhiều trigger với Redis và intelligent delay
Giải quyết vấn đề tin nhắn rời rạc trong chatbot/webhook bằng cách gom nhiều tin nhắn thành một với chiến lược chờ thông minh.
📦 Cài đặt
npm install n8n-nodes-redis-message-aggregator
Sau khi cài đặt, restart n8n để load nodes mới.
⚡ Tính năng chính
- ✅ Gom tin nhắn thông minh: Tự động gom nhiều tin nhắn rời rạc thành một
- ✅ 2 chiến lược xử lý: Smart Wait và Immediate on Complete
- ✅ Real-time waiting: Node thật sự chờ, không cần external scheduler
- ✅ Redis support: Hỗ trợ Redis local và cloud (Upstash, Redis Cloud)
- ✅ Connection testing: Node test kết nối Redis riêng biệt
- ✅ Flexible keys: Hỗ trợ user ID, group ID, hoặc kết hợp
🎯 Vấn đề giải quyết
Trước khi sử dụng:
Trigger 1: "Xin" → Xử lý ngay → Response "?"
Trigger 2: "chào" → Xử lý ngay → Response "?"
Trigger 3: "bạn!" → Xử lý ngay → Response "?"
Sau khi sử dụng:
Trigger 1: "Xin" → Lưu & chờ
Trigger 2: "chào" → Lưu & chờ
Trigger 3: "bạn!" → Lưu & chờ 5s → Gom: "Xin chào bạn!" → Response
🚀 Bắt đầu nhanh
Bước 1: Setup Redis
Option A - Upstash Redis (Khuyến nghị cho người mới):
- Đăng ký tại upstash.com (free tier)
- Tạo Redis database mới
- Copy connection string dạng:
redis://default:[email protected]:6379
Option B - Redis local:
# Docker
docker run -d -p 6379:6379 redis:alpine
# macOS
brew install redis && redis-server
# Ubuntu
sudo apt install redis-server
Bước 2: Tạo Credentials
- Trong n8n, vào Credentials → New → Redis API
- Chọn connection type:
- Connection String: Paste connection string từ Upstash
- Host & Port: Nhập localhost:6379 cho Redis local
Bước 3: Test Connection
- Thêm node Redis Connection Test
- Chọn credentials vừa tạo
- Chọn Complete Test và execute
- Xem kết quả: ✅ Connection successful!
Bước 4: Basic Workflow
[Manual Trigger] → [Redis Message Aggregator] → [Set] (để xem kết quả)
Cấu hình Redis Message Aggregator:
- Key:
user123
(hoặc bất kỳ string nào) - Message Content:
Xin chào!
- Wait Time:
5
(giây) - Strategy:
Smart Wait
📚 Chi tiết Nodes
Redis Message Aggregator
Node chính để gom tin nhắn với 2 chiến lược đơn giản:
🧠 Smart Wait (Khuyến nghị)
Chờ thông minh - chỉ output khi chắc chắn không có tin nhắn mới.
Khi nào dùng: Chatbot, webhook nhận tin nhắn liên tiếp
Ví dụ:
// Input: 3 tin nhắn với key "user123"
// - "Xin" (10:00:00)
// - "chào" (10:00:03)
// - "bạn!" (10:00:06)
// Output sau 5 giây không có tin mới (10:00:11):
{
"status": "messages_aggregated",
"key": "user123",
"aggregatedMessage": "Xin chào bạn!",
"messageCount": 3,
"trigger": "smart_timeout"
}
🎯 Immediate on Complete
Trả về ngay khi phát hiện tin nhắn kết thúc bằng từ được định nghĩa.
Khi nào dùng: Khi muốn response nhanh với những từ kết thúc cụ thể
Cấu hình:
- End Words:
xong, rồi, nhé, ok, done
(ngăn cách bởi dấu phẩy)
Ví dụ:
// End Words: "xong, rồi, nhé"
"Xin chào" → Chưa hoàn chỉnh → Lưu & chờ
"bạn nhé" → Hoàn chỉnh (kết thúc bằng "nhé") → Output ngay: "Xin chào bạn nhé"
Redis Connection Test
Node để test và troubleshoot Redis connection.
Test Types:
- Basic Connection: Chỉ test PING
- Read/Write Test: Test SET/GET/DEL
- Server Info: Lấy thông tin Redis server
- Complete Test: Chạy tất cả tests above
🔧 Cấu hình nâng cao
Key Patterns
Sử dụng key linh hoạt cho các tình huống khác nhau:
// Chat 1-1
key = 'user_123';
// Group chat
key = 'group_456';
// User trong group cụ thể
key = 'user_123_group_456';
// Session based
key = 'session_abc123';
// Multi-tenant
key = 'tenant_A_user_123';
Hướng dẫn chọn Strategy
Strategy | Use Case | Output Timing | Best For |
---|---|---|---|
Smart Wait | Chatbot responses | Sau X giây no new message | Real-time chat |
Immediate on Complete | Quick responses | Khi detect end words | Fast interactions |
💡 Ví dụ Workflow
Ví dụ 1: Chatbot với Smart Wait
[Webhook] → [Redis Message Aggregator] → [OpenAI/ChatGPT] → [Response]
Cấu hình:
- Key:
{{$json.user_id}}
- Message:
{{$json.message}}
- Wait Time:
3
giây - Strategy:
Smart Wait
Ví dụ 2: Xử lý đơn hàng với Immediate Complete
[Webhook] → [Redis Message Aggregator] → [Process Order] → [Confirmation]
Cấu hình:
- Key:
{{$json.order_id}}
- Message:
{{$json.item}}
- Strategy:
Immediate on Complete
- End Words:
xong, hoàn thành, rồi
📋 Yêu cầu hệ thống
- n8n version: 0.190.0 trở lên
- Node.js: 20.15.0 trở lên
- Redis: Bất kỳ version nào (local hoặc cloud)
🤝 Đóng góp
- Fork repository
- Tạo feature branch
- Thực hiện thay đổi
- Test với n8n environment thực tế
- Tạo pull request
📝 License
MIT License - xem LICENSE.md để biết chi tiết.
🔗 Links
- NPM Package: https://www.npmjs.com/package/n8n-nodes-redis-message-aggregator
- GitHub Repository: https://github.com/nhh0718/n8n-nodes-gom-tin
- n8n Community: https://community.n8n.io