Hướng Dẫn Tạo Workflow N8N Tự Động Đăng bài Từ Facebook Lên 5 Nền Tảng: TikTok, Instagram, YouTube, LinkedIn, Threads

Đăng cùng một video lên nhiều nền tảng mạng xã hội tốn nhiều thời gian lặp lại. Bài viết hướng dẫn xây dựng workflow N8N: khi có video mới trên Fanpage Facebook, hệ thống tự động lấy thông tin, xử lý và đăng lên TikTok, Instagram, YouTube Shorts, LinkedIn, Threads, kèm báo cáo qua Telegram.

Tổng Quan Kiến Trúc Workflow

Workflow gồm các khối chính hoạt động nối tiếp và song song:

  1. Webhook nhận sự kiện bài đăng mới từ Facebook
  2. Lấy chi tiết bài viết qua Facebook Graph API
  3. Tải video về và lưu trung gian lên nơi có link công khai
  4. Đăng song song lên 5 nền tảng
  5. Gộp kết quả và gửi báo cáo Telegram
n8n post từ fb qua các nền tảng khác
n8n post từ fb qua các nền tảng khác

Bước 1: Thiết Lập Webhook Nhận Sự Kiện Facebook

Facebook không có sự kiện “có bài mới” riêng biệt. Thay vào đó, Page cần đăng ký (subscribe) trường feed trong ứng dụng Meta Developer. Mỗi khi có thay đổi trên Page — bình luận mới, like mới, hoặc bài đăng mới — Facebook sẽ gửi một request POST tới webhook đã cấu hình.

Trong n8n, tạo node Webhook với phương thức POST, đặt path riêng, và bật xác thực bằng Header Auth để tránh bị gọi trái phép. Vì Page có thể vừa nhận sự kiện bình luận vừa nhận sự kiện video mới qua cùng một webhook, cần thêm node Switch để phân loại: dựa vào trường item (giá trị video cho bài đăng, comment cho bình luận) và verb (giá trị add cho sự kiện mới tạo).

Bước 2: Lấy Chi Tiết Bài Viết Qua Graph API

Payload webhook chỉ chứa post_id, không có link video hay nội dung caption. Cần gọi thêm một request tới Facebook Graph API, endpoint dạng /{post_id}, với các trường messagefull_picturepermalink_url và attachments để lấy đường dẫn video gốc cùng nội dung mô tả.

Nếu Page thường đăng bài theo kiểu lên lịch (schedule), sự kiện webhook có thể bắn ra ngay tại thời điểm đặt lịch, chứ chưa chắc là lúc bài thực sự public. Giải pháp là kiểm tra thêm trường is_published trong response — chỉ cho workflow chạy tiếp khi giá trị này bằng true, tránh xử lý nhầm bài chưa lên sóng.

Bước 3: Tải Video Và Lưu Trung Gian

Link video Facebook trả về có thời hạn ngắn, không dùng trực tiếp được cho dịch vụ đăng bài bên thứ ba vì họ cần thời gian tải video về. Vì vậy phải tải video xuống rồi tải lên nơi lưu trữ có link công khai ổn định.

Cloudflare R2 là lựa chọn phổ biến nhưng yêu cầu thẻ thanh toán ngay cả ở gói miễn phí. Không muốn cung cấp thẻ thì dùng Google Drive: tải file lên, chia sẻ “Bất kỳ ai có link”, tạo link tải trực tiếp từ File ID. Với tần suất một video/ngày, dung lượng trăm megabyte, giới hạn băng thông Drive gần như không ảnh hưởng.

Chất lượng video giữ nguyên ở bước này, không bị nén thêm — độ nén thực tế đến từ Facebook lúc đăng lần đầu, và từ thuật toán riêng của mỗi nền tảng đích khi nhận video.

Lấy Client ID/Secret Google (Dùng Chung Cho Drive Và YouTube)

Cả hai node Google Drive và YouTube trong workflow đều xác thực qua cùng một OAuth Client của Google Cloud, nên chỉ cần tạo một lần:

  1. Vào console.cloud.google.com, tạo một project mới (đặt tên tuỳ ý).
  2. Menu APIs & Services > Library, tìm và bấm Enable cho Google Drive API, sau đó tìm và Enable tiếp YouTube Data API v3.
  3. Vào Google Auth Platform (trang cấu hình quyền truy cập) → bấm Get started → điền App name, support email → chọn Audience là External → điền Contact Information → Finish.
  4. Vào mục Clients → Create Client → chọn Web application.
  5. Dán Authorized redirect URI lấy từ n8n: mở node cần credential (Google Drive hoặc YouTube) trong n8n → Credential → Create New → n8n sẽ hiển thị sẵn URL redirect để copy dán vào đây.
  6. Bấm Create, copy Client ID và Client Secret hiện ra.
  7. Vào mục Audience → Test users → Add users → thêm chính email Google dùng để đăng nhập, vì ứng dụng chưa qua xác minh của Google nên chỉ tài khoản trong danh sách này mới authorize được.

Cập nhật vào n8n: mở lần lượt node Upload to Google DriveShare công khai và Post to YouTube Shorts (Native) → mục Credential → Create New Credential → dán Client ID/Client Secret vừa lấy → bấm Sign in with Google → chọn tài khoản đã thêm vào Test users. Ba node này có thể dùng chung một credential đã tạo.

Bước 4: Đăng Lên TikTok, Instagram, LinkedIn Qua Zernio

Với ba nền tảng này, cách tiếp cận thực tế nhất là dùng một dịch vụ trung gian đã hoàn tất quy trình xác minh (audit) với từng nền tảng, thay vì tự làm audit riêng — quá trình có thể mất vài tuần và yêu cầu đáp ứng nhiều tiêu chuẩn giao diện.

Zernio là một lựa chọn phù hợp cho nhu cầu đăng số lượng lớn: gói miễn phí cho phép kết nối hai tài khoản mạng xã hội với số lượt đăng không giới hạn (riêng nền tảng X/Twitter tính phí theo giá gốc, các nền tảng còn lại miễn phí hoàn toàn trong hai tài khoản đó).

Trong n8n, mỗi nền tảng dùng một node HTTP Request riêng gọi tới API của Zernio, gửi kèm nội dung caption, đường dẫn video công khai, tên nền tảng và mã tài khoản đã kết nối. Các node này chạy song song để nếu một nền tảng gặp lỗi thì không ảnh hưởng tới các nền tảng còn lại — mỗi node được bật chế độ tiếp tục chạy khi gặp lỗi (Continue On Fail).

Tham khảo trang chính thức: postpeer.dev (dịch vụ tương tự dùng làm phương án dự phòng) và zernio.com.

Lấy API Key Và Account ID Từ Zernio

  1. Đăng ký/đăng nhập tại zernio.com, vào dashboard.
  2. Mục API Keys → Create API Key → copy chuỗi key hiện ra (dạng sk_...).
  3. Mục Accounts → Connect Account → chọn từng nền tảng (TikTok, Instagram, LinkedIn) → đăng nhập cấp quyền → sau khi connect xong, copy Account ID hiện ra cho từng tài khoản.

Cập nhật vào n8n: mở từng node Post to TikTok (Zernio)Post to Instagram (Zernio)Post to LinkedIn (Zernio) → tab Headers → sửa giá trị Authorization thành Bearer <API key> (dùng chung 1 key cho cả 3 node) → tab Body (JSON) → thay PLACEHOLDER_TIKTOK_ACCOUNT_ID/PLACEHOLDER_INSTAGRAM_ACCOUNT_ID/PLACEHOLDER_LINKEDIN_ACCOUNT_ID bằng Account ID tương ứng của từng nền tảng.

Bước 5: Đăng Lên YouTube Shorts Bằng API Chính Chủ

Khác với ba nền tảng trên, YouTube có API chính thức miễn phí (YouTube Data API v3) nên không cần qua dịch vụ trung gian — credential đã tạo sẵn ở phần trên.

Trong n8n, node YouTube gốc (không phải HTTP Request) yêu cầu dữ liệu video ở dạng nhị phân (binary), khác với Zernio chỉ cần đường link. Do đó cần thêm một bước tải video từ link công khai về dạng binary trước khi đưa vào node đăng video, kèm theo thiết lập tiêu đề, mô tả và mã danh mục nội dung (Category ID) — ô Category chọn chế độ Expression rồi gõ 22.

Bước 6: Gộp Kết Quả Và Báo Cáo Qua Telegram

Vì các nhánh đăng bài chạy song song, cần một node Merge để chờ toàn bộ nhánh hoàn tất trước khi tổng hợp báo cáo — nếu không, tin nhắn Telegram sẽ bị gửi nhiều lần riêng lẻ theo từng nhánh xong trước. Điểm quan trọng là chế độ Merge phải phù hợp với số lượng nhánh: chế độ ghép theo cặp cố định chỉ nhận hai đầu vào, trong khi chế độ nối thêm (Append) mới cho phép tuỳ chỉnh số đầu vào tương ứng với số nền tảng.

Sau bước Merge, một node Code sẽ đọc kết quả từ từng nền tảng, tự nhận diện tên nền tảng dựa theo cấu trúc dữ liệu trả về thay vì dựa vào vị trí cố định — cách này giúp việc thêm bớt nền tảng sau này không làm hỏng logic báo cáo. Cuối cùng, một node Telegram duy nhất gửi toàn bộ báo cáo tổng hợp trong một tin nhắn.

Những Lưu Ý Quan Trọng

  • Tạo nhiều tài khoản miễn phí để lách giới hạn số bài đăng thường vi phạm điều khoản sử dụng của các dịch vụ trung gian, có nguy cơ bị khoá tài khoản.
  • Đăng bài qua API chính thức đã được nền tảng xác minh không làm giảm lượt hiển thị so với đăng thủ công; điều thực sự ảnh hưởng tới khả năng tiếp cận là các hành vi đáng ngờ như dùng nhiều tài khoản chung thiết bị hoặc đăng nội dung trùng lặp hàng loạt.
  • Nếu Fanpage thường xuyên đăng bài theo kiểu lên lịch, cách tiếp cận bằng webhook có thể không đủ tin cậy để phát hiện đúng thời điểm bài thực sự công khai; phương án thay thế là dùng Schedule Trigger trong n8n để kiểm tra định kỳ trạng thái bài viết qua Graph API.

Tải Và Import Workflow

File workflow hoàn chỉnh đã được chuẩn bị sẵn bạn có thể tải tại đây FILE JSON WORKFLOW. Chỉ cần tải file JSON về, vào n8n chọn Import from File, sau đó điền các thông tin cấu hình riêng như API key, Access Token và mã tài khoản của từng nền tảng.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *