Hiểu ba khái niệm trong bài này thì bạn dùng được mọi nền tảng no-code — vì chúng chỉ khác nhau về giao diện, còn xương sống thì giống hệt.
1. Trigger — cái gì khởi động luồng
Có hai loại trigger:
- Instant / Webhook trigger: kích hoạt ngay lập tức khi sự kiện xảy ra (ví dụ: có tin nhắn mới). Nhanh, gần thời gian thực.
- Polling / Scheduled trigger: nền tảng "hỏi thăm" app định kỳ (mỗi 1-15 phút) xem có gì mới, hoặc chạy theo lịch (mỗi 8h sáng). Chậm hơn nhưng đủ dùng cho đa số việc.
2. Action — agent làm gì
Mỗi bước sau trigger là một action. Vài action điển hình cho dân business:
- Tạo/cập nhật dòng trong Sheet, Airtable, CRM.
- Gửi email, tin nhắn Slack/Telegram/Zalo.
- Tạo task trong Trello/Asana/ClickUp.
- Gọi AI để tóm tắt, phân loại, soạn văn bản.
3. Luồng dữ liệu — linh hồn của agent
Đây là phần người mới hay bỏ qua nhưng lại quan trọng nhất. Mỗi bước nhả ra dữ liệu (output), và bước sau lấy dữ liệu đó làm đầu vào (input). Việc bạn làm nhiều nhất khi dựng agent là mapping: kéo trường dữ liệu từ bước trước thả vào ô của bước sau.
Hình dung dữ liệu chảy như nước qua các đốt ống:
[Trigger: Form mới]
output: { ten, sdt, san_pham, gia }
|
v
[Action 1: Thêm vào Sheet]
input.Ten <- {{trigger.ten}}
input.SDT <- {{trigger.sdt}}
|
v
[Action 2: Gửi Zalo]
input.message <- "Chào {{trigger.ten}}, đã nhận đơn {{trigger.san_pham}}"
Ký hiệu {{...}} là cách nền tảng tham chiếu tới dữ liệu bước trước. Zapier gọi là "insert data", Make hiển thị dạng bong bóng, n8n dùng biểu thức. Bản chất giống nhau: trỏ tới một trường của bước trước.
Khung tư duy "đọc" một agent
Khi nhìn bất kỳ luồng nào, tự hỏi theo thứ tự:
1. TRIGGER: Điều gì bắt đầu? App nào? Instant hay scheduled?
2. DATA IN: Trigger cho ra những trường nào?
3. STEPS: Mỗi bước biến đổi/di chuyển dữ liệu gì?
4. MAPPING: Trường nào của bước trước chảy vào ô nào?
5. DATA OUT: Kết quả cuối cùng nằm ở đâu, ai thấy?
Ví dụ cụ thể: agent nhắc công nợ
- Trigger (scheduled): mỗi ngày 9h sáng.
- Action 1: đọc Sheet công nợ, lọc dòng có
ngay_han < hôm nayvàtrang_thai = chưa trả. - Action 2 (lặp mỗi dòng): gửi email nhắc tới
{{email_khach}}với nội dung chèn{{ten}}và{{so_tien}}. - Action 3: ghi log "đã nhắc" vào cột
lan_nhac_cuoi.
Một điểm nữa cần nhớ: dữ liệu giữa các bước có kiểu (text, số, ngày, danh sách). Một trường "giá" có thể là chuỗi "500000" hoặc số 500000 tùy app. Nhầm kiểu là nguồn lỗi kinh điển khi so sánh hay tính toán ở bước sau — bài về logic sẽ nói kỹ hơn.
Các bước luyện tập
- Chọn một agent bạn muốn xây (từ Bài 1).
- Viết ra giấy trigger của nó (loại gì, app nào).
- Liệt kê tuần tự các action.
- Với mỗi action, ghi rõ nó CẦN dữ liệu gì và LẤY từ bước nào.
- Vẽ mũi tên mapping giữa các bước — đây chính là bản thiết kế bạn sẽ dựng ở Bài 4.
Sai lầm thường gặp
- Quên rằng scheduled trigger có độ trễ: đừng kỳ vọng phản hồi tức thì nếu dùng polling 15 phút.
- Mapping sai trường: kéo nhầm "tên" vào ô "email" — luôn kiểm tra tên trường, đừng chỉ nhìn thứ tự.
- Không kiểm tra dữ liệu rỗng: nếu trigger đôi khi không có trường
sdt, action sau sẽ lỗi. Bài 6 sẽ xử lý việc này. - Nhồi quá nhiều action vào một luồng: khó debug. Tách thành các luồng nhỏ, rõ trách nhiệm.