Skip to content

Template, Run logs, Ví dụ thực tế & FAQ

← Quay lại Tổng quan Automation

Trang này gom các tính năng hỗ trợ vận hành flow: Template Picker (mẫu thông báo), Run logs (debug từng lần chạy), tab Cài đặt, hướng dẫn test trước khi bật, 4 ví dụ thực tế và câu hỏi thường gặp.


Template Picker (cho thông báo)

Thay vì viết nội dung mỗi lần, bạn có thể chọn template có sẵn:

  • Dropdown hiển thị template nhóm theo category (ví dụ: CRM, Approval, Triển khai)
  • Mỗi template có tên + event_key + preview
  • Tìm kiếm theo tên / category
  • Quản lý template ở Cài đặt → Mattermost templates

Khi nào dùng template?

  • ✅ Nội dung dài, format đẹp, hay tái sử dụng
  • ✅ Khi nhiều flow cần gửi cùng kiểu thông báo (đỡ phải sửa nhiều nơi)
  • ❌ Thông báo siêu ngắn 1-2 dòng — viết inline nhanh hơn

Hiện tại Mattermost có hệ thống template; Email thì viết HTML/body trực tiếp.


Tab 3 — Run logs

Tab này cho bạn xem lịch sử mỗi lần flow chạy:

Lịch sử chạy (50 gần nhất)
completed 432ms
26/05 14:32:11
failed 1.2s
26/05 13:18:04
Channel "wins-vip" không tồn tại
completed 388ms
26/05 11:45:33
Run a3f21bc7
26/05 14:32:11 · 432ms
✅ Trigger: Deal thắng
deal_id: 9821 · amount: 75,000,000
✅ Điều kiện: amount > 50tr
→ nhánh "VIP"
✅ Gửi Mattermost → #wins-vip
payload 1.2KB · 200 OK

Bên trái — danh sách run

  • 50 run gần nhất
  • Mỗi dòng: trạng thái (completed / failed / running), loại trigger, thời điểm chạy, duration
  • Run failed hiển thị thông báo lỗi ngay

Bên phải — chi tiết run

Bấm 1 run bất kỳ ở bên trái → bên phải hiện timeline từng bước:

  • Mỗi bước có icon thành công/thất bại
  • Hiển thị input + output của bước
  • Bước failed hiện chi tiết lỗi

Debug nhanh

Khi flow không chạy như mong đợi, mở Run logs và xem bước nào lỗi. Thường là:

  • Người nhận trống (Smart Picker không resolve được user)
  • Channel Mattermost gõ sai
  • HTTP request URL sai
  • Template không tồn tại

Tab 4 — Cài đặt

Tab này hiển thị thông tin tổng quan + nút nguy hiểm:

Thống kê

Chỉ sốÝ nghĩa
Đã chạyTổng số lần flow đã được trigger
Lần cuốiThời điểm chạy gần nhất
Thành côngSố lần chạy xong không lỗi (xanh)
LỗiSố lần có ít nhất 1 bước fail (đỏ)

Thông tin

  • Phiên bản — version flow (auto tăng khi save)
  • Ngày tạo / Cập nhật cuối
  • Loại — Hệ thống (auto seed) hay Người dùng tạo

Vùng nguy hiểm

  • Nút Xoá flow — xoá vĩnh viễn flow + toàn bộ run history
  • Flow hệ thống bị xoá sẽ tự re-seed lại (status=paused) khi server boot lại lần sau

Test flow trước khi bật

Luôn test trước khi kích hoạt

Flow production có thể spam thông báo hàng trăm lần — test kỹ trước.

Quy trình: Lưu flow (vẫn Nháp) → bấm ▶ Chạy thử → mở Run logs xem từng bước → sửa lỗi → khi ổn bấm Kích hoạt.


Ví dụ flow thực tế

Ví dụ 1 — Deal won → triển khai + chúc mừng

Ví dụ 2 — Báo cáo hàng tuần (cron)

  • Trigger: Theo lịch — 0 8 * * 1 (8h sáng thứ Hai)
  • Hành động 1: HTTP request — gọi internal API lấy số liệu doanh thu tuần trước
  • Hành động 2: Gửi Mattermost — channel #bao-cao, template "Báo cáo doanh thu tuần"

Ví dụ 3 — Đơn duyệt bị từ chối → DM lại người gửi

  • Trigger: Phê duyệt → Bị từ chối
  • Hành động: Gửi Mattermost
    • Người nhận: Từ trigger → "Người gửi đơn"
    • DM (không phải channel)
    • Nội dung: "Đơn của bạn vừa bị từ chối. Lý do: {{trigger_data.reject_reason}}. Vào đơn để xem thêm."

Ví dụ 4 — Task bị comment → noti followers

  • Trigger: Công việc → Bình luận task
  • Hành động: Web push
    • Người nhận: Từ trigger → "Followers (array)"
    • Title: "{{trigger_data.commenter_name}} vừa bình luận"
    • Body: "{{trigger_data.comment_text}}"

Mẹo hay

Best practice

  • Tên có ý nghĩa: "[Trigger] → [Action]" như "Deal won → noti #wins"
  • Test thử trước: dùng nút Chạy thử + xem Run logs trước khi kích hoạt
  • Lọc payload ở trigger: nhiều trigger (như "Tiền về") có dropdown lọc trạng thái — dùng để tránh fire 2 lần
  • Smart Recipient "Từ trigger" > User cố định: dùng "Owner của deal" thay vì hardcode 1 user — flow tự thích nghi khi đổi owner
  • Tách flow nhỏ: 1 flow 10 hành động khó debug — tách thành 2-3 flow nhỏ nối qua webhook hoặc trigger phụ
  • Đặt mô tả + tags rõ: dễ tìm sau khi có 30+ flow trong workspace

Tránh

  • Vòng lặp vô hạn: flow trigger khi update + action cũng update → đệ quy. Hệ thống có chặn nhưng nên tránh
  • Spam channel: trigger event nổ rất nhanh (vd "Task đổi trạng thái" mỗi vài phút) → nếu gửi channel public dễ gây phiền. Cân nhắc DM hoặc thêm điều kiện lọc
  • HTTP request không retry: action http_request fail là fail luôn — cần đảm bảo endpoint ổn định
  • Chờ N giây > 60s: max 60s, lâu hơn dùng cron flow khác

Câu hỏi thường gặp

Flow có chạy ngay khi tạo không? Không. Flow mới mặc định Nháp — phải bấm Kích hoạt mới chạy. Trigger dựa trên sự kiện tương lai, không backfill dữ liệu cũ.

Flow hệ thống là gì? Flow được module tự seed sẵn (ví dụ CRM seed flow noti khi có Lead mới). Sửa nội dung được, tạm dừng được, nhưng không xoá vĩnh viễn — server sẽ tự re-seed lại (status paused).

Webhook URL có public không? Có. Bảo vệ ở mức flow_id không đoán được (UUID 36 ký tự). Nếu cần xác thực thêm, dùng HTTP request từ ERP gọi vào kèm token thay vì webhook trigger.

Email có template như Mattermost không? Chưa. Email hiện viết HTML/body trực tiếp ở form action.

Flow trigger event nhưng vẫn không chạy — check gì?

  1. Flow đang Đang chạy (không phải Nháp/Tạm dừng)
  2. Trigger có payload filter — giá trị có khớp không
  3. Vào Run logs xem có dòng nào fire không
  4. Module phát event có đang bật không

CNV Work — Nền tảng SaaS đa workspace cho doanh nghiệp