Đang Tải...

Trang chủ
Tot Blog

Kiến thức & Tin công nghệ

Hướng dẫn xây dựng workflow tự động đăng bình luận Facebook với n8n

09/07/2025

icon

Facebook chỉ hỗ trợ lên lịch đăng bài trên fanpage nhưng đăng bình luận thì không. Vì vậy, muốn comment vào những post đã lên lịch sẵn, chúng ta chỉ có cách canh giờ bài được đăng và vào bình luận thủ công. Làm thế nào tự động hóa toàn bộ? Trong bài viết này, TotHost sẽ hướng dẫn bạn cách xây dựng workflow trên n8n để có thể tự động comment cho các bài viết trên fanpage, kể các những bài mới chỉ có lịch đăng, chưa thực sự “lên sóng”.

Mục lục

Mục lục

       1. Workflow tổng thể cho tác vụ đăng bình luận tự động trên Facebook:

Đầu tiên để thực hiện được workflow thì bạn cần có công cụ n8n đã được cài đặt thành công, nếu như bạn chưa biết cách cài đặt như thế nào thì có thể tham khảo bài viết:

Tự Động Hóa Quy Trình Chuyên Sâu Với n8n: Hướng Dẫn Cài Đặt Và Sử Dụng Chi Tiết

Tổng quan workflow
Tổng quan workflow

            Workflow gồm các node chính theo thứ tự là:

●     Schedule Trigger: Trigger lịch comment

●     Get reels & Get post: Lấy danh sách bài đăng và reels trên kênh

●     Merge: Gộp danh sách dó lại

●     Filter: Lọc ra bài mới đăng

●     Comment: Đăng comment vào bài đăng đó

●     Result: Ghi lại kết quả vào Google Sheet

Bạn có thể hiểu đơn giản chuỗi workflow này sẽ hoạt động như sau: sau mỗi khoảng thời gian được cài đặt sẵn (ví dụ: 5 phút) thì workflow trong n8n sẽ thực hiện quét lấy danh sách bài viết trên kênh Facebook của bạn, sau đó tổng hợp lại và lọc ra bài viết mới nhất, rồi thực hiện bình luận vào bài viết đó và cuối cùng là ghi lại kết quả vào Google Sheet để bạn có thể tiện theo dõi. Như vậy, mỗi bài đăng mới của bạn đều được bình luận tự động từ n8n, bạn không cần mất công thực hiện tác vụ đó.

Workflow này được thiết kế hết sức đơn giản, ngay cả một người mới bắt đầu làm quen với n8n cũng có thể thực hiện được. Ngoài ra, sau này bạn cũng có thể dễ dàng tùy chỉnh cho phù hợp với mục đích sử dụng cá nhân.

       2. Hướng dẫn chi tiết:

2.1. Schedule Trigger:

Cài đặt node Schedule TriggerCài đặt node Schedule Trigger

Cài đặt node Schedule Trigger

Đầu tiên là node Schedule Trigger, đây là node để bạn cài đặt lịch hoạt động của workflow này, bạn có thể tùy chỉnh thời gian tùy theo nhu cầu. Ở đây, mình sẽ cài đặt là trigger mỗi 5 phút, có nghĩa là mỗi 5 phút hệ thống sẽ tự động quét kênh của mình xem có bài viết nào mới không để tự động comment. Trong quá trình làm workflow thì bạn cũng có thể nhấn “execute workflow” hoặc “execute step” để cho workflow chạy thử luôn chứ không cần chờ theo thời gian cài đặt.

2.2. Get Post & Get Reels (Facebook Graph API):

Get reels & Get postGet reels & Get post

Get reels & Get post

Đây là 2 node có vai trò thực hiện quét và lấy danh sách bài đăng trên kênh Facebook của bạn, do Facebook đã chia ra Reels là một loại nội dung riêng nên để lấy được đầy đủ danh sách bài đăng trên page bao gồm ảnh, video, reels, text,... thì bạn cần tạo 2 node này, đối với trang mạng xã hội khác thì có thể chỉ cần 1 node là đủ để lấy hết danh sách bài đăng rồi. Các bạn cần cài đặt cho bao nhiêu trang Facebook thì tạo bấy nhiêu cặp node này là được.

Để tạo node Get Reels các bạn nhấp vào dấu “+” sau node Schedule Trigger hoặc chuột phải vào màn hình -> add node -> Facebook Graph API

Trong Facebook Graph API các bạn cài đặt như sau:

Ở phần “Credential to connect with” các bạn lựa chọn trang Fanpage đã được kết nối thành công với n8n bằng access token, nếu các bạn chưa biết cách kết nối trang Facebook của mình với n8n thì có thể tham khảo bài viết sau:

Hướng dẫn kết nối API Facebook, Instagram, Twitter (X), Linkedin, Weibo, Wechat với n8n

            Các cài đặt trong node Get Reels:

●     Host URL: Default

●     HTTP Request Method: GET

●     Graph API Version: cứ bản mới nhất mà chọn thôi (ở đây mình để là v22.0)

●     Node: me

●     Edge: videos

●    Add option -> Fields -> điền các trường id, created_time, permalink_url, description để lấy thông tin phục vụ cho workflow

Tương tự với node Get Post, bạn cũng thực hiện và cài đặt như sau:

●     Host URL: Default

●     HTTP Request Method: GET

●     Graph API Version: v22.0

●     Node: me

●     Edge: published_posts

            Cả 2 node khi bấm Execute step ra được thông tin bài đăng như thế này là đã thành công.

2.3. Merge (append):

node Merge
node Merge

Sau khi đã có danh sách bài đăng từ 2 node Get Reels và Get Posts, ta tiến hành tạo 1 node Merge để tổng hợp 2 danh sách đó lại (nếu bạn chỉ có 1 node lấy bài đăng thì có thể bỏ qua node này) để bước tiếp theo có thể dễ dàng xử lý dữ liệu. Ở node này chúng ta chỉ cần cài đặt đơn giản như sau là đủ:

 

●     Mode: Append

●     Number of Inputs: 2 (tương ứng với số node ở bước trước bạn muốn tổng hợp)

            Cài đặt xong bạn nhấn “Execute step” để chạy thử thấy kết quả đã có dữ liệu tổng hợp đầy đủ từ 2 node trước là đã thành công.

2.4. Filter (Code):

node Filter (Code)
node Filter (Code)

Đây là node quan trọng dùng để lọc ra loại bài viết ta cần đăng bình luận. Đây thực chất là 1 node Code và có thể tùy biến được điều kiện lọc bằng ngôn ngữ JavaScript hoặc Python, với bạn nào biết code thì việc này quá dễ rồi, còn với bạn nào không biết thì có thể hỏi AI như ChatGPT để nó tạo cho dòng code lọc ra bài viết phù hợp với nhu cầu sử dụng của bản thân cũng được.

Ở đây, mình sử dụng JavaScript để lọc ra những bài đăng trong vòng 5 phút tính từ lúc workflow bắt đầu quét, tương ứng với tần suất quét bài 5 phút một lần mình đã cài ở nút Trigger ban đầu. Mình dùng câu lệnh như sau, các bạn có thể tham khảo:

const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000);
const items = [...$input.all()];

// Gộp toàn bộ item.data[] thành một mảng phẳng

const allPosts = items.flatMap(item => item.json.data || []);

// Lọc ra bài mới trong vòng 5 phút

const recentPosts = allPosts.filter(post => {
const created = new Date(post.created_time);
return created > fiveMinutesAgo;
});

// Trả ra từng bài là 1 item riêng (tránh lồng vào 1 data[])

return recentPosts.map(post => ({ json: post }));
 

Khi Execute Step kiểm tra thấy kết quả trả về bài viết đã đáp ứng đúng điều kiện lọc là thành công.

2.5. Comment (Facebook Graph API):

node Comment
node Comment

            Tiếp theo ta đến với node Comment, để tạo node này thì ta tiếp tục tạo node Facebook Graph API và cài đặt như sau:

●     Host URL: Default

●     HTTP Request Method: POST

●     Graph API Version: v22.0

●     Node: chuyển sang tab expression rồi nhập {{ $json.id }} hoặc bạn có thể kéo thanh id ở mục Input bên tay trái rồi kéo thả vào cũng được

●     Edge: comments

            Ở mục Options các bạn lựa chọn Add option -> Query Parameters -> Add Parameter và điền như sau:

 

●     Name: message

●     Value: Nội dung bạn muốn bình luận

●     Name: attachment_url

●     Value: đường dẫn hình ảnh của bạn

            * Lưu ý: để có đường dẫn hình ảnh có thể sử dụng được thì bạn cần phải thực hiện như sau:

            Cách 1: upload ảnh đó lên website của bạn (nếu bạn có website), sau đó lấy đường dẫn ảnh từ web, ví dụ: https://tothost.vn/uploads/banner.png

            Cách 2: sử dụng một số dịch vụ CDN hoặc lưu trữ công khai ví dụ như Imgur, Cloudinary để upload hình ảnh, sau đó lấy đường dẫn ảnh ví dụ như: https://i.imgur.com/abc123.jpg

            Cách 3: sử dụng Google Drive để upload ảnh, nhớ để chế độ công khai sau đó lấy đường dẫn ảnh có dạng https://drive.google.com/uc?export=view&id=..., id ở đây là dãy ký tự nằm giữa /d/ và /view… trên link chia sẻ hình ảnh của bạn.

            Ta có đường link hoàn chỉnh có thể sử dụng được có cấu trúc ví dụ như sau: https://drive.google.com/uc?export=view&id=1RX95eAuHl_54ZkJkXEMT8zATNy5kp7wO

            Ở bước này, ấn Execute Step nếu thấy Output đã trả ra kết quả, đồng thời thấy bình luận đã được đăng tải trên Fanpage thì có nghĩa là đã thành công.

kiểm tra thấy bình luận đã được đăng là thành côngkiểm tra thấy bình luận đã được đăng là thành công

kiểm tra thấy bình luận đã được đăng là thành công

2.6. Result (Google Sheet):

node Google Sheet
node Google Sheet

            Bước cuối cùng, tạo một node Google Sheet để hệ thống báo lại kết quả của chuỗi workflow xem công việc đã được hoàn thành hay chưa. Để có thể thực hiện bước này thì trước tiên bạn cần tạo một file Google Sheet để sử dụng. Cấu trúc file sheet thì sẽ tùy vào trường dữ liệu mà bạn muốn nhận kết quả về, như ở đây mình muốn nhận về những kết quả như URL, Status, Description nên tạo bảng gồm các cột như sau:

Sau khi đã tạo file Sheet thành công thì bạn có thể tạo node Google Sheet trong n8n như sau: add note -> Google Sheet -> Append row in sheet rồi tiến hành cài đặt như sau:

            Ở mục Credential to connect with, bạn chọn tài khoản Google mà mình đã kết nối, nếu chưa có thì chọn vào Create new credential để tạo kết nối giữa Google Drive với n8n. Nếu bạn chưa biết cách kết nối API các app của Google với n8n thì có thể tham khảo bài viết sau:

Hướng dẫn kết nối API Google với n8n

●     Resource: Sheet Within Document

●     Operation: Append Row

●     Document: From list -> chọn file sheet của bạn hoặc chọn By URL rồi dán đường dẫn đến file của bạn

●     Sheet: From list -> chọn trang tính trong file sheet của bạn

Ở phần Mapping Column Mode: chọn Map Each Column Manually, tại đây ta đã thấy sẵn các cột URL, Status, Description hiện trong phần Value to Send, sau đó mình đặt các giá trị như sau:

●     URL: nhập fb.com/ rồi kéo mục id từ node Code bên tay trái để thả vào

●     Status: Đã đăng (khi đăng thành công hệ thống sẽ báo “Đã đăng” vào file Sheet)

●     Description: kéo thanh description từ node Code bên tay trái để thả vào

            Cuối cùng thì Execute Step để kiểm tra kết quả, nếu thấy Output trả ra kết quả và kiểm tra file Sheet thực tế thấy thông tin mình cần đã được ghi lại thì đã thành công.

            Trên đây là hướng dẫn rất chi tiết về một workflow đơn giản bạn có thể sử dụng để tự động đăng bình luận cho bài viết lên lịch sẵn trên Facebook với n8n. Chúc bạn thành công!

TelegramCommunity
scroll top
Thông báo
Đóng