Appearance
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:
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ạy | Tổng số lần flow đã được trigger |
| Lần cuối | Thời điểm chạy gần nhất |
| Thành công | Số lần chạy xong không lỗi (xanh) |
| Lỗi | Số 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ì?
- Flow đang Đang chạy (không phải Nháp/Tạm dừng)
- Trigger có payload filter — giá trị có khớp không
- Vào Run logs xem có dòng nào fire không
- Module phát event có đang bật không
