Đưa lead TikTok về hệ thống bằng n8n
n8n chưa có node TikTok chính thức, nhưng TikTok cho ba đường lấy lead từ Instant Form: tải tệp, gọi API tạo tác vụ tải, hoặc đăng ký webhook. Bài này đi từng bước cả ba cách, khuyên bắt đầu từ cách đơn giản, và dựng lớp chống trùng để mỗi khách chỉ là một dòng. Đối chiếu n8n 2.44.4 và tài liệu TikTok API for Business v1.3, tháng 10/2026.
Lead TikTok nằm trong Ads Manager, Sale gọi chậm một ngày
Một cửa hàng chạy quảng cáo TikTok dạng Instant Form. Mỗi sáng, người chạy quảng cáo vào Ads Manager tải tệp lead, dán vào Google Sheet rồi nhắn nhóm Sale. Hôm nào bận, lead nằm đó tới chiều; có hôm dán trùng, hai Sale cùng gọi một khách. (Tình huống minh hoạ.)
Bài này dựng đường đi tự động từ TikTok về bảng khách bằng n8n, kèm báo Sale qua Telegram. Bạn nên đã làm quen n8n qua workflow đầu tiên và có bảng khách như Google Sheets làm CRM. Các bước đối chiếu n8n bản 2.44.4 (10/2026); tên node có thể đổi ở bản sau.
Đưa lead TikTok về hệ thống bằng n8n là gì?
Đưa lead TikTok về hệ thống bằng n8n là dùng workflow lấy lead từ TikTok Lead Generation (tệp tải về, API tác vụ tải lead hoặc webhook LEAD), chuẩn hoá, bỏ bản trùng, ghi vào bảng khách và báo người phụ trách.
Danh mục tài liệu n8n không có node TikTok, trang tích hợp TikTok trên n8n.io cũng không tồn tại. Vì vậy cả ba cách đều dựng từ node lõi: Extract From File, HTTP Request, Webhook. Cẩn thận với node cộng đồng mang tên TikTok: đó là mã của bên thứ ba, chạy với toàn quyền trên máy chủ n8n.
Nguồn: n8n – danh mục tài liệu · n8n – HTTP Request
Chọn cách nào: bắt đầu từ tệp hoặc API tác vụ
| Cách | Lead về sau bao lâu | Cần gì | Điểm cần biết |
|---|---|---|---|
| 1. Tải tệp CSV | Theo nhịp bạn tải (vd mỗi sáng) | Quyền Admin trong Ads Manager | Ads Manager chỉ lưu lead 90 ngày |
| 2. API tác vụ tải lead | Theo lịch chạy (vd mỗi giờ) | App TikTok for Business, token dài hạn, quyền admin tài khoản quảng cáo | Tệp tải hết hạn sau 10 phút; mỗi lần lấy toàn bộ lead |
| 3. Webhook LEAD | Gần như ngay khi có lead | Như cách 2, cộng URL webhook công khai có HTTPS | Gửi ít nhất một lần, có thể trùng; định dạng dữ liệu cần tự đọc tài liệu |
Nguồn: TikTok – Access leads data · TikTok – Download leads · TikTok – Create a subscription
Chuẩn bị
- Quyền Admin trên tài khoản quảng cáo TikTok (TikTok chỉ cho Admin tải và quản lý lead).
- Bảng khách có cột khoá (
lead_idhoặcsdt), dòng 1 là tiêu đề. Cách thiết kế xem Google Sheets làm CRM. - Bot Telegram và nhóm Sale đã thêm bot, theo bot Telegram báo cáo.
- Cho Cách 2 và 3: app TikTok API for Business và long-term access token (lấy qua
/oauth2/access_token/; auth_code dùng một lần, hiệu lực 1 giờ). Token này không tự hết hạn nhưng mất hiệu lực khi nhà quảng cáo huỷ uỷ quyền. - Một tệp lead mẫu tải tay từ Ads Manager để biết chính xác tên các cột của form.
Nguồn: TikTok – quyền Admin · TikTok – Authentication
Cách 1: tải tệp CSV rồi để n8n nhập giúp
Trong TikTok Ads Manager: Campaigns → chọn quảng cáo Lead Generation → cột Results → Download Lead Data. Lead từ Instant Form và TikTok Direct Messages tự đồng bộ vào Ads Manager và Leads Center; lead thu trên website thì không. Sau đó, thay vì dán tay, cho n8n nhập tệp:
- Thêm n8n Form Trigger có một trường kiểu File. Mục Authentication chọn n8n User Auth để chỉ người đã đăng nhập n8n mới mở được form.
- Thêm Extract From File, thao tác Extract From CSV; ô Input Binary Field ghi đúng tên trường tệp của form.
- Thêm Edit Fields (Set) để đổi tên cột và chuẩn hoá số điện thoại (mẫu bên dưới).
- Thêm lớp chống trùng (mục sau), rồi Google Sheets thao tác Append or Update Row.
- Kết thúc bằng Telegram → Send Message vào nhóm Sale: "Đã nhập N lead mới".
# Node "Edit Fields (Set)" – chế độ Manual Mapping, mỗi dòng là một trường
lead_id = {{ $json["<tên cột mã lead trong tệp>"] }}
ho_ten = {{ $json["<tên cột họ tên>"] }}
sdt = {{ String($json["<tên cột SĐT>"]).replace(/\D/g, '').replace(/^84/, '0') }} # bỏ ký tự lạ, đổi 84 thành 0
nguon = TikTok – <tên form hoặc chiến dịch>
nhap_luc = {{ $now.toISO() }}Vì Ads Manager chỉ giữ lead 90 ngày, đặt lịch nhắc tải ít nhất mỗi tuần, tốt hơn là mỗi ngày.
Nguồn: TikTok – Download Lead Data · n8n – Form Trigger · n8n – Extract From File
Cách 2: API tác vụ tải lead chạy theo lịch
TikTok cho tải lead bất đồng bộ: tạo tác vụ (task) cho một page_id hoặc ad_id, hỏi lại tới khi status = SUCCEED, rồi tải tệp. Kết quả là tệp CSV (tới 10MB) hoặc zip (trên 10MB), thời gian theo UTC+0, và tệp hết hạn sau 10 phút. Chỉ admin tài khoản quảng cáo được tạo và tải.
- Schedule TriggerChạy mỗi giờ, múi giờ Asia/Ho_Chi_Minh
- HTTP RequestTạo tác vụ tải lead
- WaitChờ khoảng 30 giây
- HTTP Request + IfHỏi trạng thái; chưa SUCCEED thì quay lại Wait
- HTTP RequestTải tệp ngay, Response Format = File
- Extract From FileExtract From CSV, rồi chuẩn hoá và chống trùng như Cách 1
# Node "HTTP Request" – tạo tác vụ tải lead (Cách 2)
Method : <theo trang "Create a lead download task">
URL : https://business-api.tiktok.com/open_api/v1.3/page/lead/task/
Authentication : Generic Credential Type → Header Auth
Name : Access-Token
Value : <long-term access token – chỉ nhập trong Credentials của n8n>
Tham số : <mã tài khoản quảng cáo>, page_id hoặc ad_id – đúng tên trên trang tài liệu
# Node "HTTP Request" – tải tệp khi status = SUCCEED
URL : https://business-api.tiktok.com/open_api/v1.3/page/lead/task/download/
Response Format : File # nhận tệp CSV (≤ 10MB) hoặc zip (> 10MB)- Đường dẫn ghép từ địa chỉ gốc
/open_api/v1.3/của TikTok; phương thức và tên tham số hãy chép đúng từ trang tài liệu từng endpoint. Lead lưu tại EEA, Thuỵ Sĩ, Anh cần headerx-lead-region: eu, tại Mỹ cầnx-lead-region: us; các quốc gia khác (nhiều khả năng gồm Việt Nam) không cần header này. - Vòng hỏi trạng thái phải có điểm dừng: dùng
$runIndex(số lần node đã chạy trong lượt) để sau khoảng 10 vòng thì dừng bằng Stop And Error, cho workflow lỗi báo về Telegram. - Tệp lớn là zip: thêm Compression → Decompress trước Extract From File.
- Mỗi lần chạy theo lịch là một lượt chạy (execution). Trang giá n8n lấy ví dụ: lịch mỗi 5 phút tốn khoảng 8.600–8.900 lượt mỗi tháng, nên đừng đặt dày hơn mức Sale thực sự cần.
Nguồn: TikTok – Create a lead download task · TikTok – Download leads · n8n – HTTP Request · n8n – Compression · n8n – Pricing
Cách 3: webhook LEAD, chỉ khi đã đọc kỹ tài liệu
TikTok có Subscription API: gửi callback_url, subscription_detail và access_token tới https://business-api.tiktok.com/open_api/v1.3/subscription/subscribe/; loại LEAD báo khi có lead mới. Đăng ký tính theo subscription_id, một page có thể nằm trong nhiều subscription. Ba điều đã kiểm tra:
- Tài liệu TikTok ghi cơ chế "at least once delivery" (gửi ít nhất một lần): cùng một lead có thể tới hơn một lần.
- Token bị thu hồi thì webhook ngừng, phải đăng ký lại.
- Thử bằng
/page/lead/mock/create/: mỗi Instant Form tạo được một lead thử; muốn tạo lại phải xoá bằng/page/lead/mock/delete/.
Phía n8n: dùng node Webhook phương thức POST, callback_url là Production URL (chỉ có hiệu lực sau khi Publish). Đặt Respond = Immediately để trả lời ngay, xử lý sau. Giữ Path ngẫu nhiên mặc định và không chia sẻ URL.
Nguồn: TikTok – Create a subscription · TikTok – Create a test lead · n8n – Webhook
Chống trùng lead: ba lớp, chọn ít nhất hai
| Lớp | Node và cài đặt | Tác dụng |
|---|---|---|
| 1. Bỏ lead đã thấy | Remove Duplicates → Remove Items Processed in Previous Executions, Keep Items Where = Value Is New, Value to Dedupe On = lead_id | Lead đã qua ở lượt trước bị loại; mặc định nhớ 10.000 giá trị |
| 2. Ghi theo khoá | Google Sheets → Append or Update Row, Column to Match On = lead_id hoặc sdt | Có rồi thì cập nhật, chưa có mới thêm dòng |
| 3. Bảng đánh dấu | Data Table → If Row Does Not Exist hoặc Upsert | Ghi dấu đã xử lý, dùng chung nhiều workflow |
- Khoá nên là mã lead nếu tệp có cột này; nếu không, dùng số điện thoại đã chuẩn hoá cộng tên form.
- Chỉ báo Sale với lead đi qua lớp 1 hoặc 3. Lớp 2 vẫn cần, vì lịch sử của Remove Duplicates có giới hạn và bị xoá khi bạn chạy Clear Deduplication History.
Nguồn: n8n – Remove Duplicates · n8n – Google Sheets · n8n – Data Table
Báo Sale qua Telegram, đừng để bot tự gọi khách
Gom lead mới của mỗi lượt thành một tin (tên, số đã che bớt, form) gửi vào nhóm Sale; Telegram khuyên nhóm không quá 20 tin mỗi phút. Aduca đang vận hành nguyên tắc tương tự: chatbot trên n8n báo Sale khách nóng qua Telegram, người thật quyết định liên hệ. Thêm nút bấm "Đã nhận" để ghi người phụ trách vào bảng, xem bot Telegram nhận lệnh duyệt.
Nguồn: Telegram Bots FAQ – giới hạn gửi · n8n – Telegram
Kiểm tra đã chạy đúng
- Nhập cùng một tệp CSV hai lần: bảng không sinh dòng mới, Telegram không báo lần hai.
- Cách 2: tab Executions có lượt chạy theo lịch, tệp tải về đọc được, giờ trong bảng đã quy về giờ Việt Nam.
- Cách 3: tạo lead thử bằng mock API, thấy đúng một dòng trong bảng.
- Số trong cột
sdtđều bắt đầu bằng 0, không có dấu cách. - Workflow lỗi được báo về Telegram qua error workflow (xem giám sát lỗi).
Lỗi thường gặp
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Tải tệp báo hết hạn | Quá 10 phút sau khi tác vụ xong | Tải ngay sau khi thấy SUCCEED, không đặt Wait dài ở bước này |
| API báo thiếu quyền | Token không thuộc admin tài khoản quảng cáo, hoặc đã bị thu hồi | Cấp lại token, cập nhật trong Credentials |
| Cột trống sau Extract From File | Sai tên cột hoặc sai Input Binary Field | Mở tệp mẫu, đối chiếu tên cột từng chữ |
| Bảng vẫn có dòng trùng | Khoá khác nhau do số chưa chuẩn hoá | Chuẩn hoá SĐT trước Remove Duplicates và trước khi ghi |
| Webhook không nhận gì | Dùng Test URL hoặc chưa Publish | Đăng ký Production URL, Publish workflow |
An toàn & chính sách
- Access token chỉ nằm trong Credentials của n8n; không dán vào URL, ghi chú workflow, ảnh chụp màn hình hay nhóm chat.
- Lead là dữ liệu cá nhân: chỉ lưu trường cần cho tư vấn, giới hạn người xem bảng, theo Luật Bảo vệ dữ liệu cá nhân 91/2025/QH15.
- Liên hệ đúng mục đích khách đã đăng ký. Gọi điện, SMS, email quảng cáo phải theo Nghị định 91/2020 (đồng ý trước, số lần; khung giờ cho SMS và cuộc gọi); chi tiết ở bám đuổi khách đúng chính sách.
- Node cộng đồng mang tên TikTok là mã của bên thứ ba, chưa được kiểm chứng và chạy với toàn quyền trên máy chủ n8n; bài không hướng dẫn cài.
- Phần quy định trong bài là tóm tắt để vận hành, không phải tư vấn pháp lý.
Nguồn: n8n – Credentials · n8n – Community nodes risks
Bắt đầu từ đâu?
- Hôm nay: tải một tệp lead, dựng workflow Cách 1, thử nhập hai lần để kiểm tra chống trùng.
- Tuần này: xin token, dựng Cách 2 chạy mỗi giờ, so số lead với Ads Manager.
- Khi cần nhanh hơn: đọc tài liệu Subscription, thêm webhook làm tín hiệu cho Cách 2.
Bài tiếp theo: Google Sheets làm CRM: thêm, cập nhật, tra cứu.
Muốn được tư vấn cách áp dụng n8n cho quy trình của doanh nghiệp, bạn có thể đăng ký Tư vấn 1-1 hoặc Coaching 1-1; chi phí báo sau buổi tư vấn.
Đọc tiếp: Google Sheets làm CRM →
Câu hỏi thường gặp
n8n có node TikTok để lấy lead không?
Tại thời điểm kiểm tra (10/2026), danh mục tài liệu n8n không có node TikTok. Cách làm là dùng các node có sẵn: Extract From File để đọc tệp CSV, HTTP Request để gọi TikTok API for Business và Webhook để nhận thông báo.
Lead TikTok lưu trong Ads Manager bao lâu?
Trang trợ giúp của TikTok ghi Ads Manager chỉ lưu lead 90 ngày, và chỉ người có quyền Admin mới tải và quản lý lead. Vì vậy dù chọn cách nào, hãy đưa lead về bảng khách của bạn đều đặn, đừng để quá hạn.
Vì sao bài không hướng dẫn kiểm tra chữ ký webhook của TikTok?
Vì Aduca chưa đối chiếu được trang tài liệu chi tiết về định dạng dữ liệu và cách xác thực webhook LEAD. Bài chỉ nêu điều đã kiểm tra: TikTok gửi theo kiểu ít nhất một lần nên có thể trùng. Trước khi dùng webhook, hãy đọc tài liệu Subscription của TikTok; nếu chưa rõ, dùng cách tải tệp hoặc API tác vụ.
Lead tải bằng API có cả lead cũ không?
Có. Tác vụ tải lấy toàn bộ lead của một page_id hoặc ad_id, nên mỗi lần chạy sẽ gặp lại lead đã nhập. Lớp chống trùng theo mã lead hoặc số điện thoại đã chuẩn hoá là bắt buộc.
Có nên nhắn tin, gọi điện cho lead ngay khi về bảng không?
Nên liên hệ sớm trong giờ phù hợp, theo đúng nội dung khách đã đăng ký. Với cuộc gọi, tin nhắn SMS, email mang tính quảng cáo, Nghị định 91/2020 yêu cầu đồng ý trước và giới hạn số lần trong 24 giờ; khung giờ bắt buộc áp cho tin nhắn (7h–22h) và cuộc gọi (8h–17h), email nên theo cùng tinh thần. Xem thêm bài bám đuổi khách đúng chính sách.
Tài liệu liên quan
- n8n · AI Agentn8n là gì? Tự động hoá quy trình kết hợp AI cho doanh nghiệpn8n là gì: công cụ tự động hoá quy trình nối Facebook, Google Sheets, Telegram, CRM thành workflow, chèn được bước AI. Cloud hay tự cài, giấy phép, giới hạn.
- n8n · AI AgentLàm chatbot Facebook Messenger bằng n8n: webhook, chữ ký, Send API, cửa sổ 24 giờLàm chatbot Facebook Messenger bằng n8n: xác minh webhook, kiểm chữ ký X-Hub-Signature-256, trả 200 trong 5 giây, gửi qua Send API, cửa sổ 24 giờ, App Review.
- n8n · AI Agentn8n Cloud hay tự cài: chi phí, gói và giấy phép cần biếtn8n Cloud hay tự cài: bảng gói Cloud bằng EUR theo lượt chạy, bản Community miễn phí và chi phí thật khi tự cài, giấy phép fair-code, chọn theo 5 tình huống.
- n8n · AI AgentKết nối Zalo OA với n8n: webhook 2 giây, token 25 giờ, tin Tư vấn miễn phí 48 giờKết nối Zalo OA với n8n từng bước: webhook trả 200 trong 2 giây, làm mới access token 25 giờ, gửi tin Tư vấn qua API, khung 48 giờ miễn phí và giới hạn 7 ngày.
Xem tất cả tài liệu hướng dẫn →
Đăng ký tư vấn 1:1
Chuyên gia Aduca cùng bạn xem quy trình hiện tại, chọn việc nên giao cho AI Agent trước và cách kiểm soát rủi ro.
Nguồn tham khảo
- TikTok Ads – Access leads data
- TikTok API for Business – Create a lead download task
- TikTok API for Business – Download leads
- TikTok API for Business – Create a subscription
- TikTok API for Business – Create a test lead
- TikTok API for Business – Authentication
- n8n Docs – HTTP Request
- n8n Docs – Webhook
- n8n Docs – Remove Duplicates
- n8n Docs – Google Sheets: Sheet operations
Lịch sử cập nhật
- 21/10/2026 — Bản đầu.
Miễn trừ trách nhiệm
Bài viết thuộc chuỗi kiến thức của Công ty Cổ phần Giáo dục Aduca, chia sẻ miễn phí cho mục đích học tập. Thông tin kỹ thuật đối chiếu với tài liệu chính thức của các dự án và nền tảng tại ngày cập nhật (có ghi nguồn); phần nhận định là quan điểm của Aduca. OpenClaw, Hermes Agent, Claude (thương hiệu của Anthropic), ChatGPT (thương hiệu của OpenAI), n8n (thương hiệu của n8n GmbH), các phần mềm chạy model và các model AI mở (Ollama, LM Studio, Qwen, Gemma, gpt-oss…), Obsidian, Notion, phương pháp Building a Second Brain (Tiago Forte) cùng các phần mềm, dịch vụ nêu trong bài thuộc về chủ sở hữu tương ứng, không thuộc Aduca; Aduca không phải đối tác chính thức của các công ty này. Tính năng, gói và giá có thể thay đổi bất cứ lúc nào – hãy kiểm tra trang chính thức trước khi mua. Kết quả áp dụng phụ thuộc quy trình, dữ liệu và con người của từng doanh nghiệp; bài viết không cam kết doanh thu hay hiệu quả cụ thể. © 2026 Aduca — được trích dẫn khi ghi rõ nguồn aduca.vn.