Biến telegram thành office làm việc của OpenClaw
Nếu bạn dùng OpenClaw cho rất nhiều tác vụ khác nhau, nhưng nó cứ nhớ nhớ quên quên, đôi khi lẫn lộn, thì bài này là dành cho bạn.
Tại Sao Cần Nhiều Agent Cho Nhiều Topic?
Telegram forum group cho phép bạn tạo nhiều topic (thread) trong cùng một group — mỗi topic như một kênh riêng biệt.
Nếu bạn đang xây nhiều dự án, nhiều brand, hoặc nhiều mảng công việc khác nhau, việc có một agent riêng cho từng topic giúp:
- Không bị lẫn context: Agent của dự án A không biết gì về dự án B
- Mỗi agent có workspace riêng: File, memory, system prompt khác nhau
- Chuyên biệt hơn: Agent viết content khác agent quản lý code
Cách Setup:
Bước 1 — Chuẩn Bị Telegram Group
OpenClaw dùng tính năng forum group của Telegram — loại group cho phép tạo nhiều topic (thread) riêng biệt. Đây là bước đầu tiên cần làm trước khi đụng vào config.
Tạo group và bật Topics:
- Mở Telegram → tạo group mới (New Group)
- Vào Settings của group → chọn Edit → bật Topics
- Group giờ sẽ có dạng forum — bạn thấy tab Topics thay vì chat thẳng
Tạo các topic theo dự án:
- Trong group, nhấn nút New Topic
- Đặt tên topic (ví dụ: chinhday-com, nhongjars-com, clawopen-vn)
- Tạo đủ số topic bạn cần — mỗi topic sẽ map với một agent
Lấy Topic ID:
Mỗi topic có một ID riêng — bạn cần ID này để config routing. Cách lấy: vào Telegram Web (web.telegram.org) → mở topic → nhìn URL dạng #-1003659371062_163 → số sau dấu _ là topic ID.
Add OpenClaw bot vào group:
- Vào group → Add Members → tìm tên bot của bạn (đặt khi tạo bot trên @BotFather)
- Add bot với quyền Admin (ít nhất cần: Send Messages, Read Messages)
- Quan trọng: Tắt Privacy Mode — vào @BotFather → /mybots → chọn bot → Bot Settings → Group Privacy → Turn off
- Sau khi tắt Privacy Mode, remove bot khỏi group rồi add lại để Telegram apply thay đổi
Sau khi tạo xong , group của chúng ta sẽ trông như thế này :

Bước 2 — Tạo Agent:
Việc tạo agent này, bạn hoàn toàn có thể chat với OpenClaw, nói cho nó là tôi cần các agent riêng biệt vào các topic khác nhau trên Telegram. Tôi cần agent chinhday-com vào Topic “Chinhday.com” , agent nhongjars vào “nhongjars.com” chẳng hạn.
Các bước từ 2-5 bạn có thể làm thủ công, mang tính tham khảo là chính, chat với OpenClaw tiện hơn.
Mỗi agent cần có id, name, workspace, và agentDir trong config:
{"agents":{"list":[{"id":"main"},{"id":"chinhday-com","name":"chinhday-com","workspace":"/home/node/.openclaw/projects/chinhday-com","agentDir":"/home/node/.openclaw/agents/chinhday-com/agent"}]}}Tạo thư mục workspace và agentDir tương ứng. Trong workspace, bạn có thể đặt AGENTS.md, SOUL.md, USER.md — những file này định nghĩa persona và context cho agent đó.
Bước 3 — Cấu hình Routing Theo Topic
Đây là bước quan trọng nhất — và cũng là chỗ dễ sai nhất.
{"channels":{"telegram":{"groups":{"-1003659371062":{"requireMention":false,"groupPolicy":"open","topics":{"163":{"agentId":"chinhday-com"},"346":{"agentId":"nhongjars-com"},"4":{"agentId":"clawopen-vn"}}}}}}}Bước 4 — Restart Gateway
openclaw gateway restartBước 5 — Test
Vào từng topic, nhắn một tin nhắn. Agent đúng sẽ reply. Nếu không, xem phần tiếp theo.
Những cái bẫy mình đã gặp phải
Bẫy 1: Dùng bindings Thay Vì topics Config
OpenClaw có một tính năng gọi là bindings — dùng để route messages theo channel/peer. Trông có vẻ đúng chỗ để setup topic routing. Nhưng format peer.id: "-1003659371062:163" không được xử lý đúng cho forum topics. Kết quả: main agent bắt hết mọi tin nhắn.
Bẫy 2: Main Agent Bắt Hết
Triệu chứng: bạn nhắn vào topic 163, agent chinhday-com không reply — thay vào đó main agent reply. Nguyên nhân: config routing chưa đúng, gateway chưa restart, hoặc bot chưa có quyền đọc message. Cách kiểm tra: nhìn vào session key trong reply. Nếu đúng: agent:chinhday-com:telegram:group:-1003659371062:topic:163
Bẫy 3: Context Pollution Giữa Các Topic
Nếu bạn từng để main agent xử lý một topic trước khi fix routing, session cũ vẫn còn đó. OpenClaw có thể resume session cũ thay vì tạo session mới cho agent đúng. Cách tránh: Sau khi fix routing và restart, kiểm tra session key. Nếu vẫn bị lẫn, xóa session cũ hoặc đợi expire tự nhiên.
Bẫy 4: Bot Không Nhận Được Tin Nhắn Trong Group
Telegram bot mặc định ở Privacy Mode — chỉ nhận tin khi được mention. Fix: Tắt Privacy Mode qua @BotFather → /setprivacy → Disable, hoặc set requireMention: false trong config. Sau khi đổi Privacy Mode, remove và add lại bot trong group.
Verify Nhanh
- Session key: Reply từ agent có đúng format agent:<agentId>:... không?
- Memory riêng: Agent có đọc đúng workspace không? (Hỏi: "bạn là ai?")
- Không lẫn context: Thông tin topic này không xuất hiện ở topic khác
Kết
Setup multi-agent trên Telegram forum không khó — nhưng dễ sai ở chỗ routing config. Key insight: đừng dùng bindings cho topic routing, dùng channels.telegram.groups.*.topics.*. Mình đang dùng setup này để vận hành 3 dự án khác nhau từ một Telegram group duy nhất. Thực sự rất tiện và hiệu quả hơn rất nhiều.