Công cụ

Kết Nối n8n Với Facebook Messenger API Thông Qua Webhook: Hướng Dẫn Toàn Diện 2025 

Việc tự động hóa giao tiếp trên các nền tảng nhắn tin đang trở thành nhu cầu thiết yếu cho doanh nghiệp hiện đại. Trong số các giải pháp hiện có, n8n nổi bật như một công cụ mạnh mẽ cho phép kết nối và tự động hóa quy trình làm việc mà không đòi hỏi kỹ năng lập trình chuyên sâu. Bài viết này sẽ hướng dẫn bạn cách kết nối n8n với Facebook Messenger API thông qua Webhook, mở ra vô số khả năng tự động hóa cho doanh nghiệp của bạn. 

1. n8n là gì? 

n8n là nền tảng tự động hóa quy trình làm việc mã nguồn mở, cung cấp giao diện trực quan để kết nối các ứng dụng và dịch vụ khác nhau. Không giống như nhiều giải pháp khác, n8n cho phép bạn lưu trữ dữ liệu cục bộ, đảm bảo quyền kiểm soát và bảo mật tối đa. 

Lợi ích chính khi sử dụng n8n so với các công cụ khác trên thị trường: 

  • Miễn phí và mã nguồn mở: Tiết kiệm chi phí đáng kể so với các nền tảng thương mại 

  • Tự chủ dữ liệu: Toàn quyền kiểm soát luồng dữ liệu và thông tin khách hàng 

  • Tùy biến không giới hạn: Xây dựng các quy trình phức tạp phù hợp với nhu cầu cụ thể 

  • Tích hợp đa nền tảng: Dễ dàng kết nối với nhiều dịch vụ khác nhau trong một quy trình duy nhất 

2. Webhook  API: Nền tảng k thuật cần hiểu 

Trước khi đi vào hướng dẫn chi tiết, hãy hiểu hai khái niệm nền tảng quan trọng: 

2.1 Webhook ? 

Webhook hoạt động như "người nghe" kỹ thuật số, theo dõi các sự kiện và thông báo cho ứng dụng của bạn khi điều gì đó xảy ra. Trong ngữ cảnh Facebook Messenger, webhook sẽ nhận thông báo khi có tin nhắn mới và chuyển chúng đến n8n để xử lý. 

2.2 API trong ngữ cảnh Messenger 

API (Application Programming Interface) của Facebook Messenger là bộ quy tắc và giao thức cho phép ứng dụng của bạn tương tác với nền tảng Messenger. Thông qua API này, bạn có thể nhận và gửi tin nhắn, truy cập thông tin người dùng, và nhiều tính năng khác. 

3. Hướng dẫn chi tiết: Kết nối n8n với Facebook Messenger 

Bước 1: Thiết lập ng dụng Facebook Developer 

Tạo ứng dụng mới:  

Đăng nhập, sau đó vào phần "Ứng dụng của tôi" và nhấn "Create App" 

Điền thông tin cơ bản: tên ứng dụng, email liên hệ sau đó bấm "Tiếp" 

Tao Ung Dung
 

Ở phần Trường hợp sử dụng, chọn "Khác" sau đó bấm "Tiếp". 

Ở phần Chọn loại ứng dụng, chọn Business sau đó bấm "Tiếp". 

Sau đó bấm "Tạo ứng dụng" 

Bước 2: Cài đặt khởi tạo n8n

Mở Terminal và gõ các câu lệnh sau:

a. Cài đặt n8n:  

  • bash 
  • npm install n8n -g 

b. Khởi động n8n:  

  • bash 
  • n8n start 

Tạo workflow mới:

a. Nhấn "Create New Workflow" từ dashboard

b. Đặt tên dễ nhận biết, ví dụ [BNC] fbMessChatbot 

Bước 3: Thiết lập Webhook trong n8n 

Thêm Webhook node:  

a. Tìm và thêm node "Webhook" từ danh sách 

b. Cấu hình như sau:  

  • Authentication: None (tạm thời) 
  • HTTP Method: GET 

Lưu lại URL webhook:  

Lúc này bạn copy Test URL để testing trước nhé. Sau khi chạy ok hết rồi thì hẵn sử dụng Production URL. 

Tao Webhook

 

Lưu ý quan trọng: Facebook yêu cầu webhook phải sử dụng HTTPS. Nếu đang chạy cục bộ, bạn cần sử dụng dịch vụ tunneling như ngrok hoặc Cloudflare Tunnel, hoặc bạn có thề deploy n8n lên một consever để chạy và gắn domain vào cho nó, tuy nhiên cách này sẽ tốn phí thuê sever. 

Sẵn đây mình giải thích một chút về cách thức hoạt động của tunneling. Dịch vụ tunneling hoạt động bằng cách: 

  • Tạo một kết nối từ máy tính cục bộ của bạn đến máy chủ trung gian trên internet 

  • Máy chủ trung gian cung cấp một URL công khai (thường có dạng: random-name.service-name.com) 

  • Bất kỳ request nào gửi đến URL công khai này sẽ được chuyển tiếp (forward) đến máy tính cục bộ của bạn 

  • Máy tính cục bộ xử lý request và gửi phản hồi ngược lại thông qua đường hầm 

Bước 4: Cấu hình Webhook trên Facebook Developer Portal 

Thiết lập webhook:  

Từ Dashboard, bấm "Thiết lập" ở mục" Messenger" 

Sau khi vào mục "Thiết lập API Messenger", ở ô URL gọi lại, dán URL webhook vừa tạo khi nãy bên n8n 

Ở ô xác minh mã, tạo một chuỗi bất kỳ 

Dat Cau Hinh Webhook
 

Sau đó bạn bấm mũi tên xổ xuống (cùng hàng với dòng "Đặt cấu hình webhook") rồi đăng ký các mục mà bạn muốn cấp quyền cho webhook thực hiện. Ở đây mình vẫn chọn là “massages. 

Quay lại n8n và bấm "Listen for test event". 

Sau đó, quay lại Facebook Developer và bấm "Xác minh và lưu".  

Lúc này bạn sẽ thấy lỗi "Không thể xác thực URL gọi lại hoặc mã xác minh. Hãy xác minh thông tin đã cung cấp hoặc thử lại sau.", không sao cả, vì chúng ta ta cần quay lại n8n và thiết lập "Responese webhook". 

Ket Qua Nhan Ve Tu Webhook

 

Mặc dù xuất hiện lỗi, tuy nhiên webhook đã nhận được dữ liệu. Chỉ là chúng ta cần phải thiết lập phản hồi để Facebook nhận biết được dữ liệu đã được truyền đi thành công. 

Bây giờ, chúng ta cần thêm node "Edit Fields" và kéo giá trị hub.chanllenge (cột bên trái) vào ô Fields to Set rồi bấm "Test step" để node này nhận được dữ liệu trước đó. 

Thiet Lap Node Edit Field

 

Sau đó, thêm một node "Response to webhook". Ở mục "Respond with" chọn "Text", rồi kéo giá trị "hub.challenge" ở cộ bên trái vào ô "Respone Body" sau đó nhấn "Test step". 

Cai Dat Node Respone to Webhook

 

Bây giờ, bạn cần quay lại node webhook ban đầu, ở mục "Respond", chọn "Using 'Respond to Webhook node'". 

Sau đó bạn ra ngoài bấm "Test workkflow" rồi qua Facebook Developer ở chỗ "Đặt cấu hình webhook" khi nãy, bấm "Xác minh và lưu" 

Tạo mã truy cập 

Lúc này, chúng ta cần kết nối với page mà chúng ta muốn nhận/gửi tin nhắn, vì thế ở mục "Tạo mã truy cập", bấm connect sau đó chọn và xác nhận page theo yêu cầu. 

Tiếp theo, bạn bấm "Thêm đăng ký" để đăng ký các mục mà webhook này được phép làm. Trong trường hợp mình đang muốn thiết lập chatbot cho Facebook Messenger, mình sẽ chọn tối thiểu là mục "messages”. 

Sau khi đó, hãy bấm "Tạo" để tạo mã. Mã này đóng vai trò như chìa khóa nhà của bạn vậy, ai có chìa khó thì có thể vào được. Nhớ copy đoạn mã này lại nhé. 

Bây giờ nếu bạn muốn test xem khi ai đó nhắn tin vào fanpage thì webhook đã nhận được tin nhắn chưa, thì bạn hay quay lại n8n, copy link "Production" sau đó đổi link lại trước khi chuyển ứng dụng thành "Chính thức" nhé. 

Chuyển ứng dụng thành "Chính thức" 

Hiện tại ứng dụng của chúng ta đang ở trạng thái "Phát triển", để chuyến thành "Chính thức", bạn vào mục "Cài đặt ứng dụng" và chọn "Thông tin cơ bản". 

Điền vào ô "URL chính sách quyền riêng tư", sau đó bấm Lưu thay đổi và chuyển trạng thái từ "Phát triển" thành "Chính thức". 

Nếu bạn không có sẵn trang này thì truy cập link này để tạo một bản miễn phí nhé. 

Chuyen Ung Dung Thanh Chinh Thuc

Tạo Access Token 

Bạn truy cập mục "Khám phá API đồ thị" trong Faceook Developer, có thể truy cập trực tiếp tại đây. 

Sau đó bạn chọn ứng dụng mà bạn vừa tạo ở mục "Ứng dụng trên Meta" (1). 

Tiếp theo, chọn trang mà bạn muốn kết nối ở mục "Người dùng hoặc trang" (2). 

Rồi bạn cấp các quyền mà mình muốn cấp cho ứng dụng truy cập và thực hiện các hành động tương ứng nhé (3). 

Cuối cùng bấm "Generate Access Token" (4). 

Lưu ý, đây chỉ là token tạm thời, sẽ hết hạn trong một khoảng thời gian, vì thế chúng ta cần thiết lập thời gian hiệu lực cho token này. 

Bạn vào mục "Trình gỡ lỗi mã truy cập" hoặc truy cập trực tiếp tại đây. 

Paste đoạn code vừa gen ra khi nãy vào rồi bấm "Gỡ lỗi" rồi bấm tiếp nút "Mã truy cập mở rộng". 

Lúc này, một mã mới sẽ được trả về, mã này sẽ không bao giờ hết hạn nên cứ yên tâm dùng nhé. Copy mã này để dùng cho việc thiết lập API bên n8n. 

Bước 5: Xây dựng chatbot đơn giản bằng AI Agent 

Thiết lập lại webhook 

Đầu tiên, nếu bạn đã chuyển link webhook thành "Product URL" thì hãy chuyển lại thành "Test URL" để dễ thao tác thơn nhé. (Vẫn làm như cũ là đổi link -> Điền lại mã xác thực -> bấm "Test workflow" (bên n8n) -> bấm "Xác thực và lưu" (bên Facebook Developer)). 

Bây giờ, hãy quay lại webhook node, ở tab "Settings" tích chọn "AllowMultiple HTTP Methods" rồi quay lại tab Parameters kiểm tra xem ở mục "HTTP Methods" đã có đủ 2 hình thức là "POST" và "GET" chưa. 

Giải thích cho ai chưa hiểu vì sao phải có 2 Methods ở đây nhé: 

  • GET là để bạn nhận tin nhắn từ Facebook 

  • POST là để bạn thiết lập chatbot để gửi dữ liệu (cụ thể ở đây là câu trả lời của chatbot) lên cho Facebook 

Sau đó tiếp tục bấm "Test workflow" rồi nhắn tin lại cho fanpage để nhận data trả về nhé. 

Data Tra Ve Cho Post Event
 

Sau đó chúng ta tiếp tục thêm node "Edit Fields" ở nhánh POST, thêm 3 fields mới và kéo lần lượt các ô "text" và đặt tên là "text", "id" (ngay dưới sender) và đặt tên là "sender_id", "id" (ngay dưới recipent) và đặt tên là "page_id". 

Mục dích là để lấy nội dung này ra và sử dụng cho sau này, sau đó bấm “Test step”. 

Cai Dat Node Edit Fields Cho Post

Ngăn tình trạng gửi tin nhắn liên tục 

Tương tự như GET webhook, ở POST, Facebook cũng cần nhận được thông báo đã gửi data thành công (trong vòng 1 phút), vì thế trước khi thiết lập chatbot, ta có thể thêm 1 node "Respond to webhook" nữa để trả dữ liệu về cho Facebook, tránh trường hợp Facebook gửi tin nhắn đi liên tục vì không nhận được phản hồi thành công. 

Chúng ta vẫn sẽ cài đặt giống node ở trên. Tại mục "Respond With" chọn "Text", và kéo phần tin nhắn (text) ở cột dữ liệu bên trái vào ô "Respond Body". 

Thiet Lap Respond to Webhook Cho Post
 

Sau đó chúng ta rẽ nhánh mới sau node "Edit Fields" và thêm note "AI Agent" vào. Bạn có thể tham khảo AI Agent tại bài viết này. 

Thiết lập AI Agent 

n8n tích hợp sẵn rất nhiều AI model đang thịnh hành hiện nay, đa số các model này đều mất phí. Chi phí sẽ phụ thuộc vào nhà phát triển nhưng nhìn chung là không quá đắt. Ở bài viết này, mình sẽ demo bằng Google Gemini vì model này có bản miễn phí nhé. 

Đầu tiên chúng ta sẽ thiết lại AI Agent trước. Đối với trường hợp hiện tại (làm chatbot), chúng ta chỉ đổi mục "Prompt" thành "Define below" sau đó kéo "text" (tin nhắn mà khách hàng gửi đến) vào ô "Text", AI sẽ tự biết để trả lời đoạn đối thoại này. Còn nếu bạn có prompt nào cụ thể hơn thì có thể viết thêm nhé. 

Thiet Lap Ai Agent

Sau đó chúng ta thiết lập chat model cho Agent, ở đây như mình có chia sẻ trước đó thì mình sẽ sử dụng Google Gemini vì nó miễn phí. 

Dành cho bạn nào chưa tạo Credential của Google Gemini, n8n luôn cung cấp tài liệu hướng dẫn lấy các API key, nếu bạn nào lười đọc thì có thể tham khảo phần hướng dẫn của mình.  

Các bạn vào trang này, nếu chưa có tài khoản thì tạo nhé. 

Sau đó bấm vào nút "Create API key" rồi chọn "Create with new project" (hoặc nếu bạn có sẵn một project trên Google Cloud và muốn sử dụng project này thì chọn). 

Sau đó copy key này và paste và ô API key trong phần "Create New Credential". 

Tiếp theo ở ô "Model", bạn có thể chọn model nào phù hợp với nhu cầu. Ở đây chỉ trả lời tin nhắn với khách hàng thì mình chọn Model 2.0 hoặc 2.5 đều được. 

Thiết lập node để gửi câu trả lời của AI lên Facebook Messenger 

Trước khi thiết lập phần này, chúng ta cần xử lý data ở phần trả về của AI trước. Do định dạng trả về mà Facebook quy định là Json, nhưng trong câu trả lời của AI sẽ có những đoạn xuống dòng, vì thế trước khi sử dụng câu trả lời này để gửi đi, chúng ta cần loại bỏ các ký tự xuống dòng (\n) này. 

Thêm node "Code" vào. Chọn ngôn ngữ code là "JavaScript" sau đó paste đoạn này vào: 

let data = $input.first().json.output.replace(/(\r\n|\n|\r)/g, ''); 

return { 'data': data }; 

$input.first().json.outputchính là biến output (câu trả lời của AI), bạn có thể kéo biến từ cột bên trái vào để tránh bị nhầm lẫn, sau đó bầm "Test step" để kiểm tra lại. 

Loai Bo Ky Tu Xuong Dong

Thêm node "HTTP Request", chọn Method là POST. 

Ở ô URL, điền link này vào: https://graph.facebook.com/v22.0//messages 

Trong đó, page_id chính là id của recipient (cột bên tay phải - đây chính là id người nhận, tức id page của bạn), bạn kéo vào thay thế biến này là được. 

Thiết theo, bật nút "Send Headers", ở ô "Name" điền "Authorization", ở ô "Value" điền "Bearer ”. 

chính là token của Page mà bạn gen ra khi nãy. 

Thiet Lap Node Tra Ve Du Lieu Dau Ra Cua Ai Qua HTTP Node

Sau đó bạn ra ngoài, bấm "Test workflow" và nhắn tin cho page xem tin nhắn đã được nhận và gửi thành công chưa nhé! 

Giờ bạn bật (active) workflow và đổi lại URL của webhook thành "Production URL" là có thể sử dụng được rồi. 

4. Mở rộng và tối ưu hóa chatbot 

Sau khi thiết lập thành công kết nối cơ bản, bạn có thể mở rộng chức năng của chatbot: 

4.1 Tích hợp với cơ s d liệu 

Thêm các node Database để lưu trữ thông tin người dùng, lịch sử tương tác, hoặc dữ liệu khác. n8n hỗ trợ nhiều loại cơ sở dữ liệu như MongoDB, MySQL, PostgreSQL. Đây là bước thiết lập trí nhớ (database) cho chatbot. Bạn còn có thể quy định chatbot nhớ nội dung của bao nhiêu cuộc hội thoại trước đó, cực kỳ tiện lợi! 

4.2 Thêm x lý ngôn ngữ t nhiên (NLP) 

Kết nối với các dịch vụ NLP như DialogFlow hoặc OpenAI để tạo trải nghiệm chat thông minh hơn, hiểu được ý định người dùng và phản hồi phù hợp. 

4.3 Thiết lập MCP cho AI Agent 

Ngoài ra, để chatbot làm việc thông minh và mượt mà hơn, bạn có thể thiết lập thêm các MCP để xử lý thông tin và một số tác vụ khác. Chẳng hạn như muốn chatbot tư vấn hàng hóa và chốt đơn, gửi mail xác nhận đơn hàng, bạn hãy tìm các MCP liên quan để thiết lập cho chatbot nhé. MCP cho phép AI Agent kết nối các công cụ rời rạc vào một đầu não thực thụ, giúp AI Agent tự biết mình phải làm gì tiếp theo mà không cần bạn phải viết quá nhiều prompt phức tạp. Mình sẽ lên bài hướng dẫn thiết lập MCP AI Agent đơn giản trong n8n sau, các bạn theo dõi nhé! 

5. Những Thách Thức Và Giải Pháp 

Khi triển khai chatbot Messenger với n8n, bạn có thể gặp một số thách thức: 

5.1 Giới hạn API của Facebook 

Vấn đề: Facebook giới hạn số lượng tin nhắn và tần suất gửi. 

Giải pháp: Thêm logic xử lý hàng đợi và giãn cách thời gian giữa các lần gửi tin nhắn trong n8n. 

5.2 Xác thực và bảo mật webhook 

Vấn đề: Webhook có thể bị tấn công hoặc lạm dụng. 

Giải pháp: Thêm xác thực cho webhook và kiểm tra chữ ký (signature) của Facebook trong mỗi request. 

5.3 Xử lý lỗi và thử lại 

Vấn đề: Kết nối mạng không ổn định có thể gây mất tin nhắn. 

Giải pháp: Thêm node Error Trigger và cơ chế thử lại tự động trong n8n. 

5.4 Lỗi Webhook Facebook khi tái kích hoạt workflow trong n8n 

Vấn đề: 

Khi bạn tạm ngưng kích hoạt một workflow trong n8n (deactivate) nhưng vẫn giữ webhook trong Facebook Developer Portal hoạt động, Facebook tiếp tục gửi các sự kiện đến webhook URL. Vì n8n workflow đã bị tắt, các sự kiện này không được xử lý. Sau đó, khi bạn kích hoạt lại workflow (activate), n8n sẽ nhận được một loạt các request tích lũy từ Facebook gửi đến cùng một lúc, gây ra "bão trigger" - nhiều execution được kích hoạt đồng thời. 

Giải pháp: 

5.4.1 Sử dụng webhook proxy trung gian 

Thay vì cho URL webhook n8n trực tiếp vào Facebook, bạn có thể thiết lập một proxy trung gian: 

Facebook → API Gateway/Proxy → n8n 

Proxy này có thể: 

  • Luôn trả về HTTP 200 OK cho Facebook (ngăn retry) 

  • Lưu các request vào hàng đợi khi n8n không hoạt động 

  • Cho phép bạn xử lý hay xóa hàng đợi trước khi kích hoạt lại n8n 

5.4.2. Toggle webhook subscriptions trên Facebook 

Tắt workflow n8n, đồng thời tắt đăng ký webhook trên Facebook 

5.4.3. Sử dụng endpoint xác minh riêng biệt 

Tạo hai webhook endpoint khác nhau: 

  • Một endpoint luôn hoạt động chỉ để xác minh với Facebook 

  • Một endpoint khác để xử lý các sự kiện, có thể tắt/bật theo nhu cầu 

Dung Thu Ngay

6. Kết Luận 

Kết nối n8n với Facebook Messenger API thông qua webhook mở ra vô số khả năng tự động hóa giao tiếp với khách hàng. Mặc dù quá trình thiết lập có thể phức tạp hơn so với một số nền tảng khác như Telegram, lợi ích từ việc tiếp cận hàng tỷ người dùng Facebook là không thể phủ nhận. 

Với hướng dẫn chi tiết này, bạn đã có nền tảng vững chắc để xây dựng chatbot Messenger mạnh mẽ sử dụng n8n - giải pháp mã nguồn mở, linh hoạt và hoàn toàn có thể tùy chỉnh cho nhu cầu cụ thể của doanh nghiệp. 

Hãy bắt đầu ngay hôm nay và chứng kiến cách chatbot tự động có thể cải thiện đáng kể trải nghiệm khách hàng và hiệu quả kinh doanh của bạn! 

0/5 - (0 bình chọn)
benocode null
Quản Trị Viên
Bình luận (0)
Hơn 500K+ người dùng đã đăng ký nhận thông báo cập nhật bài viết mỗi ngày.
Để lại email để nhận thông báo về công cụ tiếp thị, xu hướng công nghệ mới nhất!
Khám phá
Bài viết cùng danh mục
so sanh asana va slack cong cu nao vuot troi hon trong nam 2025So sánh Asana và Slack: Công cụ nào vượt trội hơn trong năm 2025

Trong thời đại công nghệ phát triển như vũ bão, nơi mọi người làm việc từ xa, họp trực tuyến và quản lý dự án qua các nền tảng số, việc chọn đúng công cụ làm việc nhóm là yếu tố tiên quyết để đảm bảo hiệu suất. Với hàng loạt phần mềm hỗ trợ công việc trên thị trường, Asana và Slack luôn là hai cái tên “cộm cán” trong lĩnh vực quản lý công việc và giao tiếp nhóm. Câu hỏi đặt ra là: Asana hay Slack, nền tảng nào thực sự vượt trội hơn ở thời điểm hiện tại? Hãy cùng BENOCODE tìm hiểu đâu là lựa chọn tốt hơn cho nhu cầu của bạn trong bài viết này nhé!

ket noi n8n voi facebook messenger api thong qua webhook huong dan toan dien 2025Kết Nối n8n Với Facebook Messenger API Thông Qua Webhook: Hướng Dẫn Toàn Diện 2025 

Việc tự động hóa giao tiếp trên các nền tảng nhắn tin đang trở thành nhu cầu thiết yếu cho doanh nghiệp hiện đại. Trong số các giải pháp hiện có, n8n nổi bật như một công cụ mạnh mẽ cho phép kết nối và tự động hóa quy trình làm việc mà không đòi hỏi kỹ năng lập trình chuyên sâu. Bài viết này sẽ hướng dẫn bạn cách kết nối n8n với Facebook Messenger API thông qua Webhook, mở ra vô số khả năng tự động hóa cho doanh nghiệp của bạn.