Bot gửi tin vào nhóm
Tạo bot để GitLab, n8n, hệ thống bán hàng hay script của bạn tự đăng tin, thẻ, ảnh và tệp vào nhóm chat.
Bot giúp hệ thống bên ngoài tự đăng tin vào nhóm chat, không cần ai ngồi gõ tay. Vài ví dụ:
- GitLab báo build lỗi hay deploy xong vào nhóm Dev.
- Hệ thống bán hàng đẩy đơn mới vào nhóm Kinh doanh.
- Webhook ngân hàng báo tiền về vào nhóm Kế toán.
- Script chạy lúc 8 giờ sáng gửi báo cáo doanh thu kèm tệp Excel.
Bot chỉ gửi tin một chiều: bot đăng tin vào nhóm nhưng không đọc tin trong nhóm và không trả lời ai.

Ai làm được gì
| Việc | Ai làm được |
|---|---|
| Tạo bot | Mọi nhân viên. Người tạo là chủ bot. |
| Sửa tên, ảnh, tắt/bật, tạo token mới, xoá bot | Chỉ chủ bot. |
| Thêm bot vào nhóm, gỡ bot khỏi nhóm | Chỉ chủ nhóm. Chủ bot cũng rút được bot của mình khỏi nhóm. |
| Xem nhóm có những bot nào | Mọi thành viên nhóm. |
Bot chỉ thêm được vào nhóm thường, không thêm vào tin nhắn riêng hay kênh phòng ban. Chủ nhóm chỉ thêm được bot của chính mình, hoặc bot mà chủ bot đang là thành viên của nhóm đó.
Tạo bot
Ở đầu danh sách hội thoại, bấm nút + rồi chọn Tạo bot.

Đặt tên bot (2–40 ký tự) và mô tả ngắn. Ảnh đại diện có thể thêm ngay hoặc để sau. Mọi người trong nhóm sẽ thấy tên này ở mỗi tin bot gửi, nên hãy chọn tên nói rõ bot làm gì, như "Cảnh báo GitLab" hay "Thông báo đơn hàng".

Một số tên bị từ chối để tránh nhầm với thông báo chính thức: tên trùng tên đồng nghiệp, trùng bot khác trong công ty, hoặc các tên như "Hệ thống", "Quản trị", "Salework".
Bấm Tạo bot. Màn hình hiện token của bot kèm lệnh mẫu.

Token và webhook URL chỉ hiện một lần. Đóng hộp thoại là không xem lại được. Hãy lưu vào nơi an toàn (trình quản lý mật khẩu, biến bí mật của GitLab CI, phần cấu hình của n8n…). Nếu làm mất, bạn tạo token hoặc URL mới; cái cũ ngừng hoạt động ngay.
Thêm bot vào nhóm
Chỉ chủ nhóm làm được bước này.
Mở nhóm muốn nhận tin, bấm biểu tượng ⓘ (Thông tin hội thoại) ở góc trên. Trong mục Bot, bấm Thêm bot.

Chọn một bot có sẵn, hoặc chọn Tạo bot mới cho nhóm này để đặt tên và thêm bot vào nhóm trong một bước.


Thêm xong, màn hình hiện webhook URL của nhóm. Sao chép và dán URL này vào hệ thống sẽ gửi tin (GitLab, n8n, Zapier, phần mềm bán hàng…).

Gửi tin từ hệ thống bên ngoài
Có hai cách gửi. Cả hai đều dùng địa chỉ có sẵn trong hộp thoại ở trên.
| Webhook URL | Token Bot API | |
|---|---|---|
| Phạm vi | Đúng một nhóm | Mọi nhóm bot đang ở |
| Cách dùng | Gửi thẳng vào URL, không cần thêm gì | Gửi kèm header Authorization: Bot <token> |
| Hợp với | n8n, Zapier, GitLab, webhook ngân hàng | Lập trình viên tự viết tích hợp |
| Làm thêm được | Gửi chữ, thẻ, ảnh, tệp | Như webhook, thêm sửa và thu hồi tin |
Gửi một tin chữ:
curl -X POST '<WEBHOOK_URL>' \
-H 'Content-Type: application/json' \
-d '{"text":"✅ Deploy production thành công — pipeline #1234"}'Gửi kèm ảnh và tệp (tối đa 10 tệp, mỗi tệp 10MB):
curl -X POST '<WEBHOOK_URL>' \
-F 'payload_json={"text":"📊 Báo cáo doanh thu tuần 40"}' \
-F 'files=@doanh-thu-tuan-40.png' \
-F 'files=@doanh-thu-tuan-40.xlsx'<API> là phần đầu của webhook URL, đứng trước /api/v1/….
# Xem bot đang ở những nhóm nào (lấy channelId)
curl '<API>/api/v1/chat/bot/channels' \
-H 'Authorization: Bot <TOKEN>'
# Gửi tin vào một nhóm
curl -X POST '<API>/api/v1/chat/bot/messages' \
-H 'Authorization: Bot <TOKEN>' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: don-hang-10023' \
-d '{"channelId":"<CHANNEL_ID>","text":"🛒 Đơn mới #10023 — 1.250.000 ₫"}'
# Gửi tệp
curl -X POST '<API>/api/v1/chat/bot/files' \
-H 'Authorization: Bot <TOKEN>' \
-F 'channelId=<CHANNEL_ID>' -F 'caption=Báo cáo tuần 40' \
-F 'files=@bao-cao.xlsx'Bot API còn có PATCH /api/v1/chat/bot/messages/{messageId} để sửa tin đã
gửi (trong 48 giờ), ví dụ đổi "⏳ Đang deploy" thành "✅ Xong", và DELETE để
thu hồi tin. Bot chỉ sửa và thu hồi được tin của chính nó. Mô tả đầy đủ nằm
trong đặc tả OpenAPI, mục Chat Bots.
Bot gửi được những gì
-
Chữ tối đa 4.000 ký tự. Link trong tin tự bấm được.
-
Thẻ thông tin: tiêu đề, dòng phụ và các cặp "nhãn – giá trị", ví dụ Mã đơn, Khách hàng, Tổng tiền. Thẻ của bot không có nút bấm, chân thẻ luôn ghi "Bot · tên bot".
{ "card": { "title": "❌ Build thất bại — pipeline #1235", "subtitle": "Nhánh feat/thanh-toan · commit 8f3a2c1", "fields": [ { "label": "Bước lỗi", "value": "test:api" }, { "label": "Người đẩy code", "value": "Phạm Văn Hải" } ] } } -
Ảnh và tệp: ảnh hiện ngay trong nhóm, tệp hiện thành thẻ có nút tải. Nhận ảnh PNG, JPG, GIF, WebP và tệp PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), CSV, TXT, ZIP.
-
Nhắc tên: thêm
"mentionUserIds": ["…"]để nhắc tối đa 5 thành viên của nhóm. Bot không dùng được @All.
Chống gửi trùng
Nhiều hệ thống tự gửi lại khi mạng chập chờn. Thêm header Idempotency-Key (mã
đơn, mã giao dịch…) vào yêu cầu. Gửi lại cùng một mã thì Salework Space trả lại
tin cũ và không đăng trùng.
Khi gửi không thành công
| Mã lỗi | Nghĩa |
|---|---|
401 | Token hoặc URL sai, đã đổi, bot đã tắt/xoá, hoặc chủ bot không còn làm việc. |
403 | Bot không còn trong nhóm, hoặc chủ bot đã rời nhóm. |
413 / 415 | Tệp quá lớn hoặc loại tệp không được phép. |
429 | Gửi quá nhanh (quá 20 tin/phút vào một nhóm). Đợi một lát rồi gửi lại. |
Quản lý bot của bạn
Bấm + › Bot của tôi để xem mọi bot bạn đã tạo, số nhóm của từng bot và lần dùng gần nhất.

Bấm vào một bot để:
- Đổi tên, mô tả, ảnh đại diện.
- Tắt bot tạm thời. Khi tắt, mọi token và webhook URL ngừng nhận tin cho tới khi bật lại.
- Tạo token mới nếu token cũ bị lộ hoặc bị mất. Token cũ ngừng hoạt động ngay.
- Xem bot đang ở nhóm nào, lấy webhook URL mới cho từng nhóm hoặc rút bot khỏi nhóm.
- Xoá bot: bot rời mọi nhóm, token và webhook ngừng hoạt động. Tin bot đã gửi vẫn còn trong nhóm.

Trên điện thoại, Bot của tôi mở toàn màn hình.

Câu hỏi thường gặp
Bot có làm phiền mọi người không? Tin của bot báo thông báo như tin thường. Ai thấy ồn thì tắt thông báo của nhóm; bot không dùng được @All.
Tôi nghỉ việc thì bot của tôi sao? Bot ngừng gửi tin ngay khi tài khoản của bạn bị khoá. Tin cũ vẫn còn trong nhóm.
Lộ webhook URL thì làm gì? Người có URL chỉ gửi được vào đúng nhóm đó. Vào Bot của tôi (hoặc mục Bot trong thông tin nhóm nếu bạn là chủ nhóm), chọn Lấy webhook URL mới. URL cũ ngừng hoạt động ngay.
Tại sao bot không đọc được tin trong nhóm? Bot hiện chỉ gửi tin một chiều: chưa đọc tin, chưa nhận lệnh và chưa trả lời người dùng.