Chào bạn, bài này Gia sẽ hướng dẫn tạo một chatbot Zalo để thao tác với N8N của bạn. Bạn có thể ứng dụng tính năng này để tạo trợ lý công việc, trả lời khách hàng dựa trên dữ liệu công ty, hay đơn giản là ghi lại thu chi cá nhân hàng ngày.

Qua bài viết này bạn cũng sẽ hiểu rõ cách hoạt động của Node HTTP requestWebhook của n8n. Hai node này là “cửa ngõ” quan trọng để n8n của bạn có thể giao tiếp với “thế giới bên ngoài” một cách trơn tru. Cùng mình tìm hiểu nhé!

Bước 1: Tạo Bot Zalo

Mở ứng dụng ZALO trên điện thoại, ở thanh tìm kiếm nhập từ khóa “Zalo Bot Creator” hoặc sử dụng đường dẫn https://zalo.me/s/botcreator từ trình duyệt.

tạo zalo bot

Click vào “Tạo tài khoản Zalo bot” và đặt tên cho bot của mình

Sau khi khởi taọ thành công, Bot sẽ gửi một tin nhắn chứa “thông tin khởi tạo” trong đó cung cấp mã Token có dạng chuỗi dãy số và chữ. Bạn sẽ cần sử dụng mã token này để kết nối với các ứng dụng bên ngoài.

tạo bot zalo với n8n

2. Kết nối bot Zalo với N8n

Cơ chế kết nối như sau:

  • Khi có tin nhắn từ người dùng, Zalo sẽ gửi nội dung tin nhắn qua webhook mà n8n cung cấp
  • N8n sẽ nhận dữ liệu tin nhắn và kích hoạt work flow của bạn.
  • Sau khi workflow xử lý xong, nội dung trả lời sẽ được n8n gửi đến zalo qua phưng thức “Post” của node HTTP request.
  • Cuối cùng Zalo sẽ ghi nhận nội dung tin nhắn trả lời và hiển thị cho người dùng trên màn hình chat Zalo bot.

Các bước thực hiên kết nối Zalo Bot với N8n như sau:

Truy cập màn hình n8n, tạo mới work flow -> tạo node HTTP request -> trong phần Import cURL, nhập đoạn code cURL mà Zalo cung cấp để khai báo webhookmã token. (Chi tiết hướng dẫn xem cụ thể tại https://bot.zapps.me/docs/apis/setWebhook/)

curl -X POST "https://bot-api.zapps.me/bot<BOT_TOKEN>/setWebhook" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-webhookurl.com",
    "secret_token": "mykey-abcyxz"
  }'

Lưu ý:

  • Thay <BOT_TOKEN> bằng mã token zalo cung cấp khi khởi tạo bot
  • https://your-webhookurl.com” thành đường dẫn webhook mà n8n cung cấp cho bạn.

Tạo webhook để Zalo gửi tin nhắn đến workflow trên n8n của bạn

Để có đường dẫn webhook, bạn cần tạo node Webhook trên n8n, chọn phương thức POST (dữ liệu nhận được từ bên ngoài sẽ truyền vào node kế tiếp của workflow). Copy đường dẫn mà n8n cung cấp để thay vào Node HTTP request ở bước trên.

Lưu ý: khi sao chép đường dẫn, n8n sẽ cung cấp 2 đường dẫn bao gồm đường dẫn test và đường dẫn chính thức, bạn cần chọn đúng đường dẫn để zalo bot gọi đúng địa chỉ webhook n8n của bạn.

Nếu bạn muốn thay đổi đường dẫn Webhook, hãy chạy lại node HTTP Request ở trên với đường dẫn mới, Zalo Bot sẽ tự động áp dụng đường dẫn webhook mới cho những lần sau.

Khởi chạy Bot Zalo và kiểm tra kết nối với N8N

Chạy node HTTP Request sau khi đã nhập đầy đủ thông tin để tiến hành khai báo webhook n8n cho Zalo Bot. nếu kết quả trả về là “true” và hiển thị đường dẫn webhook như hình bên dưới thì việc khai báo đã thành công.

khai bao webhook n8n cho zalo bot

Kiểm tra trong phần quản lý Zalo Bot của bạn xem thông tin webhook của n8n đã được lưu hay chưa như sau:

Mở tin nhắn thông báo tạo bot Zalo thành công trước đó , ấn vào link https://zalo.me/s/botcreator/ để truy cập vào mục quản lý bot. Click vào tên bot và chuyển sang tab “Thông tin“, nếu bạn thấy đường dẫn webhook mà n8n cấp kèm mã token như hình bên dưới. Chúc mừng bạn, việc kết nối Zalo bot với n8n đã thành công.

cài đặt bot zalo với n8n

Bước 2: Gửi kết quả xử lý tin nhắn đến Zalo

Sau khi workflow trên n8n xử lý và cho kết quả trả về, bạn thêm node http request thứ 2 để gửi kết quả đến Bot Zalo. Cách cấu hình như sau:

Trong n8n tạo mới node http request thứ 2 và import mẫu code curl mà zalo bot cung cấp để cấu hình kết nối (https://bot.zapps.me/docs/apis/sendMessage/)

Nội dung mã như sau:

curl -X POST "https://bot-api.zapps.me/bot<BOT_TOKEN>/sendMessage" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "abc.xyz",
    "text": "Hello"
  }'

Sau khi import, bạn cần điền bot token của zalo bot vào <BOT_TOKEN> và “chat_id” mà Zalo cung cấp khi khởi tạo tin nhắn với Bot.
Trong đó, <BOT_TOKEN> là dãy chữ và số mà Zalo bot cung cấp khi khởi tạo bot. Đối với “chat_id” bạn lấy thông tin này bằng cách sau.
Ở bước 1, sau khi đã kết nối thành công bot Zalo với n8n, khởi chạy workflow và gửi tin nhắn bất kỳ đến Zalo bot, Zalo đã gửi data của Bot bao gồm “chat_id” thông qua webhook. Bạn có thể kéo thả “chat_id” này vào mục “text” như hình bên dưới.


Thử chạy lại workflow và kiểm tra kết quả, nếu có vấn đề gì trong quá trình thực hiện, để lại comment bên dưới hoặc gửi email đến “maigiadn@gmail.com” nhé!

Như vậy qua bài viết này, Gia hy vọng bạn sẽ dễ dàng tạo một chat bot hoạt động trên Zalo với “bộ não” được cung cấp bởi n8n. Đây chỉ là bước đầu để tạo ra siêu “chat bot Zalo” hỗ trợ cho công việc của bạn.

Những bài tới Gia sẽ hướng dẫn bạn biến Zalo Bot thành bot quản lý chi tiêu cá nhân hoặc chuyên viên tư vấn khách hàng, vv… Theo dõi mình qua fanpage hoặc kênh youtube để nhận thông tin bài viết mới nhất nhé!