Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 14 — Make (Integromat) — visual workflow

Mở đầu — vì sao bài này quan trọng

Ở bài trước, bạn đã làm quen với Zapier — công cụ "citizen automation" giúp người không biết code vẫn nối được các app lại với nhau. Zapier rất tốt khi bạn cần một luồng đơn giản theo kiểu "khi có A thì làm B". Nhưng thực tế công việc hiếm khi đơn giản như vậy. Một quy trình kinh doanh thật thường có rẽ nhánh ("nếu khách VIP thì xử lý kiểu khác"), có vòng lặp ("gửi mail cho từng người trong danh sách 200 khách"), có gom dữ liệu từ nhiều nguồn rồi biến đổi trước khi ghi xuống, và đôi khi cần xử lý cả những cấu trúc dữ liệu phức tạp như JSON lồng nhau.

Đây chính là lúc Make (tên cũ là Integromat) tỏa sáng. Make là một nền tảng tự động hóa quy trình theo kiểu visual workflow — bạn kéo thả các "module" lên một khung vẽ (canvas) và nối chúng lại bằng những đường dây, giống như đang vẽ sơ đồ luồng. Điểm khác biệt cốt lõi: Make cho bạn sức mạnh logic gần như của một lập trình viên nhưng vẫn giữ giao diện trực quan để người làm nghiệp vụ (marketing, vận hành, kế toán) tự xây dựng được.

Tại sao bài này quan trọng với bạn? Vì trong hệ sinh thái hyperautomation, Make nằm đúng ở vùng "vừa đủ mạnh, vừa đủ rẻ, vừa đủ dễ" — nơi nhiều doanh nghiệp vừa và nhỏ ở Việt Nam đang dừng chân trước khi (hoặc thay vì) đầu tư vào RPA hạng nặng hay iPaaS doanh nghiệp. Hiểu Make giúp bạn tự động hóa được những quy trình mà Zapier "đuối", mà không cần thuê đội kỹ sư.

Khái niệm cốt lõi

Make là gì?

Make là một no-code/low-code automation platform hoạt động trên đám mây. Bạn xây dựng các scenario (kịch bản) — mỗi scenario là một luồng tự động hóa hoàn chỉnh. Trong scenario, bạn đặt các module: mỗi module là một thao tác với một dịch vụ nào đó (đọc dòng mới trong Google Sheets, tạo deal trong HubSpot, gửi tin nhắn Telegram, gọi một API bất kỳ...).

Make có hơn 2.000 app tích hợp sẵn, và quan trọng hơn, có HTTP module cùng JSON module để bạn kết nối với bất kỳ dịch vụ nào có API — kể cả khi nó chưa được tích hợp chính thức. Đây là một trong những lý do dân kỹ thuật yêu thích Make.

Bốn loại module bạn phải nắm

  • Trigger (mỏ neo bắt đầu): module đầu tiên, khởi động scenario. Có hai kiểu: instant trigger (webhook, chạy ngay khi có sự kiện) và polling trigger (Make định kỳ kiểm tra, ví dụ mỗi 15 phút xem có email mới không).
  • Action: module thực hiện một việc — tạo, đọc, cập nhật, xóa dữ liệu ở một app.
  • Search: module tìm kiếm và trả về nhiều bản ghi (ví dụ: tìm tất cả khách hàng có trạng thái "chưa thanh toán").
  • Aggregator / Iterator: cặp công cụ "gói lại" và "tách ra". Iterator tách một mảng (array) thành nhiều dòng để xử lý từng cái; Aggregator gom nhiều dòng thành một (ví dụ: gộp 10 sản phẩm thành một email tổng hợp duy nhất).

Khác biệt giữa Make và Zapier

Đây là phần bạn cần khắc cốt ghi tâm, vì câu hỏi "nên dùng Zapier hay Make?" xuất hiện gần như trong mọi dự án automation.

Tiêu chíZapierMake
Giao diệnDanh sách bước tuyến tính (step 1 → 2 → 3)Canvas trực quan, kéo thả, nhìn được toàn bộ luồng dạng sơ đồ
Logic rẽ nhánhCó "Paths" nhưng hạn chếRouter mạnh, nhiều nhánh, mỗi nhánh có filter riêng
Vòng lặp / mảngXử lý array yếu, hay phải "ngầm"Iterator/Aggregator xử lý array rõ ràng, linh hoạt
Biến đổi dữ liệuFormatter cơ bảnHàng trăm hàm built-in (text, math, date, array...)
Kết nối API tùy ýWebhooks + Code stepHTTP/JSON module rất mạnh, làm "API client" đúng nghĩa
Mô hình tính phíTheo số task (mỗi bước = 1 task)Theo số operation (mỗi module chạy = 1 operation)
Độ dốc họcRất thoải mái cho người mớiHơi dốc hơn, nhưng "trần" cao hơn nhiều
Cách diễn giải đơn giản: Zapier giống chiếc xe số tự động — lên xe là chạy, ai cũng lái được, nhưng khó tùy chỉnh. Make giống xe số sàn có nhiều chế độ — học lâu hơn một chút, nhưng khi đã quen, bạn điều khiển được những đoạn đường mà xe tự động không qua nổi, và thường tốn ít "nhiên liệu" (chi phí) hơn cho cùng một quãng đường phức tạp.

Mô hình chi phí: operation vs task

Đây là điểm thực dụng. Make tính theo operation — mỗi lần một module thực thi là một operation. Một scenario có 5 module, chạy 100 lần thì tốn khoảng 500 operation. Make có gói miễn phí 1.000 operation/tháng, và các gói trả phí tính theo bậc thang operation, rẻ hơn đáng kể so với cách tính theo task của Zapier khi luồng có nhiều bước. Với doanh nghiệp Việt Nam ngân sách hạn chế, điểm này thường quyết định lựa chọn.

Tình huống thực tế

Ví dụ 1 — Shop mỹ phẩm trên Shopee gom đơn về một mối

Chị Lan điều hành một shop mỹ phẩm nhập khẩu, mỗi ngày khoảng 80–120 đơn đến từ ba kênh: Shopee, fanpage Facebook và website tự xây trên WordPress/WooCommerce. Trước đây nhân viên phải copy thủ công đơn từ ba nơi vào một file Google Sheets để đội đóng gói theo dõi — mỗi ngày mất khoảng 2 tiếng và thường sai sót khi đông đơn.

Đội của chị dựng một scenario Make như sau: ba trigger từ ba nguồn (webhook từ WooCommerce, kết nối Shopee Open API qua HTTP module, và một form Facebook lead) cùng đổ về một Router. Sau router, mỗi nhánh dùng một module Set variable để chuẩn hóa dữ liệu (tên trường khác nhau ở mỗi kênh được map về cùng một định dạng: tên khách, SĐT, sản phẩm, số lượng, địa chỉ). Cuối cùng tất cả ghi vào một dòng Google Sheets duy nhất, đồng thời gửi một tin nhắn Telegram vào nhóm kho.

Kết quả: thời gian nhập liệu thủ công về gần như bằng 0, sai sót đơn giảm rõ rệt, và quan trọng là khi có đơn giá trị cao (trên 2 triệu), một filter trên router tự động gắn cờ "ưu tiên" và nhắn riêng cho chị Lan. Bài học: sức mạnh của Make nằm ở chỗ gom nhiều nguồn không đồng nhất rồi chuẩn hóa dữ liệu — việc mà Zapier làm được nhưng rườm rà hơn nhiều.

Ví dụ 2 — Công ty SaaS B2B gửi hóa đơn hàng loạt

Một startup SaaS ở TP.HCM (tạm gọi là FlowVN) bán phần mềm quản lý kho theo gói tháng cho khoảng 300 khách hàng doanh nghiệp. Cuối mỗi tháng, kế toán phải tạo hóa đơn cho từng khách, đính kèm PDF và gửi email — một công việc lặp đi lặp lại cực kỳ tốn sức.

Họ dùng Make với một scenario có Iterator: module Search lấy về danh sách 300 khách hàng đang active từ database (qua HTTP module gọi API nội bộ), Iterator tách thành 300 dòng. Với mỗi dòng, scenario gọi một module tạo PDF (qua dịch vụ PDF API), rồi gửi email qua module Gmail/SMTP có đính kèm. Để tránh bị nhà cung cấp email chặn vì gửi quá nhanh, họ chèn module Sleep giữa các vòng và bật cơ chế error handler để nếu một khách lỗi (email sai chẳng hạn) thì ghi log và bỏ qua, chứ không làm sập cả luồng 300 người.

Mỗi lần chạy tốn khoảng 300 × 4 = 1.200 operation, nằm gọn trong gói trả phí cơ bản. Bài học: Iterator + error handling là combo giúp Make xử lý được những tác vụ "hàng loạt có rủi ro" — điều mà công cụ kéo thả đơn giản thường bó tay.

Ví dụ 3 — Agency marketing tự động hóa báo cáo và cảnh báo

Một agency ở Hà Nội quản lý quảng cáo Facebook/Google cho 25 khách hàng. Mỗi sáng, account manager phải vào từng tài khoản quảng cáo kiểm tra ngân sách còn lại và hiệu suất — dễ bỏ sót khi tài khoản sắp hết tiền hoặc CPA tăng vọt.

Họ xây scenario chạy theo lịch (mỗi sáng 7h): gọi Facebook Marketing API và Google Ads API qua HTTP module, dùng các hàm built-in của Make để tính toán (so sánh chi tiêu với ngưỡng, tính chênh lệch CPA so với hôm qua lưu trong Data Store). Nếu phát hiện bất thường, một Router rẽ sang nhánh cảnh báo, dùng Aggregator gom tất cả cảnh báo của các khách thành một báo cáo duy nhất rồi đẩy vào Slack của đội. Bình thường mọi thứ ổn thì chỉ ghi số liệu vào Google Sheets dashboard.

Bài học: Make không chỉ "nối app" mà còn tính toán và ra quyết định nhờ kho hàm và Data Store (bộ nhớ lưu trạng thái giữa các lần chạy). Đây là ranh giới phân biệt một công cụ automation thực thụ với một công cụ chỉ "đẩy dữ liệu qua lại".

Hướng dẫn từng bước

Hãy cùng dựng một scenario mẫu: "Khi có khách hàng mới điền form đăng ký, lưu vào Google Sheets và gửi email chào mừng, riêng khách doanh nghiệp thì báo cho sales qua Telegram."

  • Tạo scenario mới. Đăng nhập make.com, vào Scenarios → Create a new scenario. Bạn sẽ thấy một canvas trống với một dấu cộng lớn ở giữa.
  • Thêm trigger. Nhấp dấu cộng, chọn app nguồn (ví dụ Google Forms hoặc Webhooks → Custom webhook nếu form của bạn tự code). Với webhook, Make sinh ra một URL — dán URL này vào nơi gửi dữ liệu của form. Bấm Run once và submit thử một bản ghi để Make "học" cấu trúc dữ liệu.
  • Thêm module Router. Nối từ trigger, thêm module Flow Control → Router. Router sẽ tỏa ra nhiều nhánh.
  • Đặt filter cho từng nhánh. Trên đường dây của nhánh "khách doanh nghiệp", nhấp biểu tượng cờ-lê và đặt điều kiện: loại_khách Equal to doanh nghiệp. Nhánh còn lại để mặc định (fallback).
  • Thêm action ghi dữ liệu. Ở cả hai nhánh (hoặc đặt trước router để dùng chung), thêm Google Sheets → Add a Row, map các trường từ trigger vào đúng cột bằng cách kéo các "quả bóng" dữ liệu màu vào ô.
  • Thêm email chào mừng. Thêm Email/Gmail → Send an email. Trong nội dung, dùng cú pháp map biến: Xin chào {{tên}} — dấu ngoặc nhọn kép là cách Make chèn dữ liệu động.
  • Nhánh sales. Trên nhánh doanh nghiệp, thêm Telegram → Send a message tới group sales, nội dung gắn thông tin khách.
  • Dùng hàm khi cần biến đổi. Ví dụ chuẩn hóa SĐT: dùng hàm replace(phone; " "; "") để bỏ khoảng trắng, hay formatDate(now; "DD/MM/YYYY") cho ngày.
  • Chạy thử và đọc log. Bấm Run once, mỗi module sẽ hiện bong bóng số "operation" cho biết nó chạy mấy lần và dữ liệu vào/ra. Đây là công cụ debug quý giá.
  • Đặt lịch và bật scenario. Cấu hình Scheduling (real-time với webhook, hoặc định kỳ), rồi gạt nút ON. Scenario của bạn đã sống.

Lỗi thường gặp & mẹo

  • Đốt operation vô tội vạ. Lỗi phổ biến nhất của người mới: để polling trigger chạy mỗi 1 phút trên gói miễn phí, tiêu sạch quota trong vài ngày. Mẹo: dùng instant trigger (webhook) khi có thể, và giãn lịch polling hợp lý (15 phút thường là đủ).
  • Quên xử lý lỗi. Một scenario không có error handler sẽ dừng toàn bộ khi gặp một bản ghi lỗi, kéo theo những lần chạy sau cũng kẹt. Mẹo: nhấp chuột phải vào module → Add error handler và chọn hướng xử lý (Resume, Ignore, Rollback, Break). Với xử lý hàng loạt, thường chọn Ignore hoặc Resume để bỏ qua bản ghi lỗi và đi tiếp.
  • Nhầm lẫn Iterator và Aggregator. Nhiều người tách array bằng Iterator nhưng quên gom lại bằng Aggregator, dẫn đến gửi 50 email riêng lẻ thay vì 1 email tổng hợp. Mẹo: nhớ quy tắc — tách ra để xử lý từng cái thì dùng Iterator; muốn trả về một kết quả gộp thì kết thúc bằng Aggregator.
  • Map sai dữ liệu lồng nhau (nested JSON). Khi API trả JSON nhiều tầng, dữ liệu bạn cần có thể nằm sâu bên trong. Mẹo: dùng Run once để xem cấu trúc thật, rồi dùng Parse JSON nếu Make nhận về dạng chuỗi text thay vì object.
  • Không dùng Data Store cho trạng thái. Muốn nhớ "khách này đã gửi mail chưa" giữa các lần chạy? Đừng cố nhồi vào Google Sheets. Mẹo: dùng Data Store — kho key-value tích hợp sẵn, nhanh và sạch hơn.
  • Quên giới hạn tốc độ của app đích. Gửi 300 email/giây sẽ bị nhà cung cấp chặn. Mẹo: chèn module Sleep, hoặc giảm số bản ghi xử lý mỗi lần chạy bằng cài đặt Maximum number of results.

Bài tập thực hành

  • Cơ bản: Tạo tài khoản miễn phí trên make.com. Dựng một scenario: khi có dòng mới trong Google Sheets thì gửi cho bạn một tin nhắn Telegram. Chạy Run once và quan sát số operation tiêu tốn.
  • Trung cấp: Mở rộng scenario trên bằng một Router hai nhánh: nếu cột "giá trị đơn" lớn hơn 1.000.000 thì gửi Telegram, ngược lại chỉ ghi log vào một sheet khác. Tự đặt filter và kiểm thử với cả hai trường hợp.
  • Nâng cao: Dùng HTTP module gọi một API công khai miễn phí (ví dụ API tỷ giá hoặc thời tiết), dùng Parse JSON để lấy giá trị cần, áp một hàm built-in để định dạng, rồi ghi kết quả vào Google Sheets mỗi sáng theo lịch. Thêm error handler để luồng không sập khi API tạm lỗi.
  • Tư duy: Viết ra một quy trình thủ công lặp lại trong công việc thật của bạn (hoặc của công ty bạn biết). Vẽ tay sơ đồ scenario Make tương ứng, chỉ rõ đâu là trigger, đâu cần router, đâu cần iterator/aggregator. So sánh xem dùng Make hay Zapier sẽ hợp lý hơn và giải thích vì sao.

Tóm tắt

Make (Integromat) là nền tảng tự động hóa visual workflow đứng giữa "dễ dùng" và "mạnh mẽ": bạn kéo thả module trên canvas nhưng có quyền dùng logic rẽ nhánh (Router), vòng lặp (Iterator/Aggregator), hàng trăm hàm biến đổi dữ liệu, kho lưu trạng thái (Data Store) và HTTP module để gọi bất kỳ API nào. So với Zapier, Make có đường cong học hơi dốc hơn nhưng "trần" cao hơn nhiều và thường rẻ hơn cho các luồng phức tạp nhờ mô hình tính theo operation.

Ba điều cốt lõi cần nhớ: (1) chọn Make khi quy trình của bạn có nhiều nhánh, nhiều nguồn, hoặc cần xử lý array và biến đổi dữ liệu; (2) luôn thiết kế kèm error handling và cân nhắc chi phí operation ngay từ đầu; (3) tận dụng Run once để debug và Data Store để quản lý trạng thái. Khi nắm vững những công cụ này, bạn có thể tự động hóa phần lớn quy trình vận hành của một doanh nghiệp vừa và nhỏ mà không cần viết một dòng code nào — và đó chính là sức mạnh thực sự của citizen automation ở cấp độ cao.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi