Salework SpaceTài liệu
Chat

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.

Tin của bot trong nhóm
Tin của bot có tên, ảnh đại diện và nhãn BOT. Bot gửi được chữ, thẻ thông tin, ảnh và tệp.

Ai làm được gì

ViệcAi làm được
Tạo botMọ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á botChỉ chủ bot.
Thêm bot vào nhóm, gỡ bot khỏi nhómChỉ 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àoMọ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.

Menu nút +
Nút + gom Tạo nhóm, Tạo bot và Bot của tôi.

Đặ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".

Hộp thoại tạo bot
Tên bot là thứ mọi người nhìn thấy trong nhóm.

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 của bot
Token chỉ hiện đúng một lần, hãy sao chép ngay.

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.

Mục Bot trong thông tin nhóm
Mục Bot nằm giữa Thành viên và Thư viện. Mỗi bot ghi rõ ai là chủ.

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.

Chọn bot để thêm vào nhóm
Chọn bot của bạn, hoặc tạo bot mới ngay tại đây.
Tạo bot mới cho nhóm
Tạo bot mới cho nhóm: bot có mặt trong nhóm ngay sau khi tạo.

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…).

Webhook URL của nhóm
Mỗi nhóm có một webhook URL riêng. Tạo bot mới cho nhóm thì hiện thêm token.

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 URLToken Bot API
Phạm viĐúng một nhómMọi nhóm bot đang ở
Cách dùngGửi thẳng vào URL, không cần thêm gìGửi kèm header Authorization: Bot <token>
Hợp vớin8n, Zapier, GitLab, webhook ngân hàngLập trình viên tự viết tích hợp
Làm thêm đượcGửi chữ, thẻ, ảnh, tệpNhư 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ỗiNghĩa
401Token hoặc URL sai, đã đổi, bot đã tắt/xoá, hoặc chủ bot không còn làm việc.
403Bot không còn trong nhóm, hoặc chủ bot đã rời nhóm.
413 / 415Tệp quá lớn hoặc loại tệp không được phép.
429Gử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.

Danh sách Bot của tôi
Bot của tôi: danh sách bot kèm lệnh mẫu gửi tin.

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.
Chi tiết bot
Chi tiết bot: tên, trạng thái, token và các nhóm bot đang ở.

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

Bot của tôi trên điện thoại
Bot của tôi trên màn hình điện thoại.

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.