Automation – Tự động hóa quy trình Lập trình No Code/Low Code

[Share n8n workflow] Tạo trợ lý Zalo Bot ngay trên Zalo bằng Zalo Bot, AI Agent và n8n

Cuộn để đọc

Tin vui cho tất cả các “tín đồ” của nhà n8n: Zalo đã chính thức mở cửa API cho việc tạo Bot, một bước đi mà mình tin là sẽ mở ra rất nhiều cơ hội cho các doanh nghiệp và cả những người yêu thích tự động hóa như chúng ta. Sau khi dành thời gian để “vọc vạch” và thử nghiệm, Toàn có một vài nhận xét nhanh muốn chia sẻ trước khi chúng ta đi vào phần hướng dẫn chính.

So với “người bạn thân” Telegram đã quá quen thuộc trong cộng đồng tự động hóa, Zalo Bot hiện tại có tốc độ phản hồi gần như tương đương, đây là một điểm cộng rất lớn. Tuy nhiên, về tính ổn định, Toàn cảm thấy vẫn còn một chút chệch choạc, đôi khi vẫn gặp lỗi không mong muốn. Việc cài đặt trên n8n cũng cồng kềnh hơn hẳn do chưa có node trigger tích hợp sẵn, buộc chúng ta phải làm việc thủ công qua Webhook và HTTP Request. Dù vậy, đây là một chiến lược quan trọng của Zalo, nên mình tin chắc rằng nó sẽ ngày càng được hoàn thiện. Tiềm năng ứng dụng cho doanh nghiệp là không thể bàn cãi: từ bot tư vấn, hỗ trợ khách hàng, đặt lịch hẹn, đến vô số các tác vụ khác. Một điểm cần lưu ý là hiện tại, bot vẫn còn hạn chế, chưa thể xử lý tin nhắn thoại, đọc file hay hình ảnh.

Trong bài viết này, Toàn sẽ hướng dẫn các bạn từng bước xây dựng một workflow hoàn chỉnh trên n8n để tạo ra một Zalo Bot có khả năng cập nhật tin tức mới nhất về lĩnh vực Trí tuệ Nhân tạo (AI). Bot này sẽ sử dụng AI Agent để đọc, tóm tắt và gửi thông tin về Zalo cho bạn một cách hoàn toàn tự động. Hãy cùng bắt đầu nhé!

I. TỔNG QUAN VỀ WORKFLOW VÀ CÁCH THỨC HOẠT ĐỘNG

Trước khi đi sâu vào kỹ thuật, chúng ta cần hiểu bức tranh toàn cảnh về cách mà workflow này vận hành. Về cơ bản, luồng xử lý được chia thành 3 giai đoạn chính, cực kỳ logic và dễ hiểu:

  • Giai đoạn 1: Tiếp nhận yêu cầu từ Zalo: Khi bạn nhắn tin cho Zalo Bot, Zalo sẽ gửi một yêu cầu (request) đến một địa chỉ URL đặc biệt gọi là Webhook. Node Webhook trong n8n sẽ “lắng nghe” và bắt lấy dữ liệu này, bao gồm nội dung tin nhắn và thông tin người gửi. Đây chính là điểm khởi đầu của toàn bộ quá trình.
  • Giai đoạn 2: AI Agent xử lý thông tin: Dữ liệu từ Webhook được chuyển đến “bộ não” của hệ thống – node AI Agent. Tại đây, AI Agent (trong ví dụ này Toàn đặt là một cô trợ lý ảo tên “Bưởi”) sẽ phân tích yêu cầu của bạn. Nó được trang bị công cụ để đọc tin tức từ một nguồn RSS (cụ thể là TechCrunch AI). AI sẽ dùng công cụ này để lấy các bài viết mới nhất, đọc, hiểu, tóm tắt lại những ý chính và soạn ra một câu trả lời hoàn chỉnh theo đúng văn phong đã được lập trình sẵn.
  • Giai đoạn 3: Xử lý và gửi phản hồi về Zalo: Câu trả lời do AI tạo ra sẽ được chuyển qua một node Code để xử lý. Node này có nhiệm vụ rất quan trọng: làm sạch văn bản (loại bỏ các mã định dạng không cần thiết) và chia nhỏ tin nhắn thành các đoạn ngắn hơn (dưới 1500 ký tự) để không vi phạm giới hạn của Zalo (2000 ký tự mỗi tin nhắn). Cuối cùng, các node HTTP Request sẽ lần lượt gửi từng đoạn tin nhắn này, kèm theo một sticker nếu có, trở lại cho người dùng trên Zalo.

Toàn cảnh workflow Zalo Bot và AI Agent trên n8n

Nhìn chung, đây là một chu trình khép kín: Zalo -> n8n (Webhook) -> n8n (AI Agent xử lý) -> n8n (HTTP Request) -> Zalo. Mọi thứ diễn ra tự động chỉ trong vài giây.

II. NHỮNG THỨ CẦN CHUẨN BỊ TRƯỚC KHI BẮT ĐẦU

Để quá trình cài đặt diễn ra suôn sẻ, bạn cần đảm bảo đã có sẵn các “nguyên liệu” sau đây.

1. Một tài khoản n8n

Bạn có thể sử dụng n8n Cloud (bản trả phí) hoặc tự host trên server riêng (VPS). Nếu bạn mới bắt đầu, việc tự host trên một VPS giá rẻ là một lựa chọn không tồi để trải nghiệm và học hỏi. Toàn đã có bài viết hướng dẫn chi tiết về cách cài đặt n8n queue mode ngay trên website, bạn có thể đọc nếu quan tâm nhé.

2. Tạo Zalo Bot và lấy Bot Token

Đây là bước cực kỳ quan trọng. Bạn không thể kết nối với Zalo nếu không có Bot Token. Hãy làm theo các bước sau:

  • Bước 1: Truy cập Zalo Bot Creator: Mở ứng dụng Zalo trên điện thoại, vào ô tìm kiếm và gõ “Zalo Bot Creator”. Mở trang OA này lên.
  • Bước 2: Tạo bot mới: Click vào Tạo Tài khoản Zalo Bot
  • Bước 3: Điền thông tin cho Bot: Tại đây, bạn cần nhập Tên Bot. Lưu ý quan trọng: Tên bot bắt buộc phải bắt đầu bằng tiền tố “Bot”, ví dụ: “Bot Tin Tức Của Toàn”. Sau đó, điền các thông tin cần thiết khác và nhấn “Tạo Bot”.
  • Bước 4: Nhận Bot Token: Ngay sau khi tạo thành công, hệ thống của Zalo sẽ gửi một tin nhắn trực tiếp đến tài khoản Zalo của bạn. Tin nhắn này chứa Bot Token. Hãy sao chép và lưu lại chuỗi token này thật cẩn thận, chúng ta sẽ dùng nó ở các bước sau.

3. Tải về workflow mẫu của Toàn

III. HƯỚNG DẪN CÀI ĐẶT WORKFLOW CHI TIẾT TỪNG BƯỚC

Sau khi đã có đủ “đồ nghề”, chúng ta sẽ bắt tay vào việc cấu hình chi tiết trên n8n.

1. BƯỚC 1: Import workflow và cấu hình Webhook Trigger

Để tiết kiệm thời gian cho các bạn, Toàn đã đóng gói toàn bộ workflow trong một file JSON. Bạn chỉ cần tải về và import vào n8n là đã có ngay sườn hệ thống. Link tải workflow Toàn để ở đây: [nguyenthieutoan.com] ZALO BOT + AI AGENT WORKFLOW

Đầu tiên, bạn hãy đăng nhập vào n8n, tạo một workflow mới và chọn “Import from file”, sau đó tải lên file JSON mà bạn vừa tải về ở trên. Toàn bộ các node và hướng dẫn mà Toàn soạn sẵn sẽ được tự động sắp xếp đúng vị trí.

Cấu hình Webhook

Node đầu tiên bạn cần quan tâm là node Webhook màu tím. Đây là cửa ngõ giao tiếp giữa Zalo và n8n.

  • Bấm vào node Webhook, bạn sẽ thấy một URL ở mục “Test URL”. Hãy copy URL này. Đây chính là địa chỉ mà Zalo sẽ gửi tin nhắn đến.
  • Tiếp theo, bạn cần “đăng ký” URL này với Zalo. Zalo cung cấp hai cơ chế là Long Polling (dùng API getUpdates) và Webhook (dùng API setWebhook). Để hệ thống chạy ổn định và chuyên nghiệp, chúng ta sẽ dùng Webhook. Trong workflow Toàn chia sẻ đã có sẵn 2 node “Tạo Webhook” và “Delete Webhook” (đang bị vô hiệu hóa).
  • Mở node “Tạo Webhook”, thay [BOT_TOKEN] bằng Bot Token bạn đã nhận từ Zalo, và thay [your-webhook] bằng URL bạn vừa copy từ node Webhook Trigger. Sau đó, bấm nút thực thi (Execute Node) cho node này một lần duy nhất. Nếu thành công, Zalo đã biết cách gửi tin nhắn đến n8n của bạn.
  • Lưu ý quan trọng: Khi bạn muốn chuyển từ môi trường test sang môi trường production (chạy thật), bạn cần phải xóa webhook cũ đi bằng node “Delete Webhook” trước khi thiết lập webhook mới cho môi trường production.

2. BƯỚC 2: Tùy chỉnh AI Agent – “Bộ não” của Zalo Bot

Đây là phần thú vị nhất, nơi chúng ta “dạy” cho con bot của mình cách hành xử và suy nghĩ. Hãy bấm vào node AI Agent.

Tùy chỉnh Persona và Prompt

Trong phần “System Message” của node này, Toàn đã viết một prompt rất chi tiết để định hình tính cách và nhiệm vụ cho AI. Bạn có thể thấy các phần:

  • PERSONA: Toàn đã tạo ra một nhân vật tên là “Bưởi”, một trợ lý ảo của “Nguyễn Thiệu Toàn”. Bạn hãy thay đổi tên “Nguyễn Thiệu Toàn” thành tên của bạn và có thể đổi tên trợ lý ảo nếu muốn. Việc này giúp AI xưng hô đúng cách và tạo cảm giác cá nhân hóa.
  • ROLE & MISSION: Phần này định nghĩa vai trò của AI là một chuyên gia tin tức, có nhiệm vụ sử dụng công cụ rss_read để tìm và tóm tắt các bài viết mới. Bạn có thể giữ nguyên phần này.
  • TOOL: Khai báo công cụ mà AI được phép sử dụng. Trong trường hợp này là rss_read.
  • OUTPUT (JSON): Yêu cầu AI trả về kết quả dưới dạng một cấu trúc JSON gồm 2 trường: message (nội dung tin nhắn) và sticker (ID của sticker Zalo). Điều này giúp chúng ta dễ dàng xử lý dữ liệu ở các bước sau.

Cấu hình các thành phần phụ trợ

  • rss_read (Tool): Node này được kết nối với AI Agent. Mặc định, Toàn đang để URL feed của TechCrunch AI. Nếu bạn muốn theo dõi tin tức từ một trang khác, chỉ cần thay đổi URL trong node này.
  • AI Model: Node này là mô hình ngôn ngữ sẽ thực thi các chỉ thị. Toàn đang dùng Google Gemini. Bạn cần đảm bảo đã kết nối tài khoản Google AI của mình với n8n.
  • MongoDB Chat Memory: Node này giúp bot “nhớ” được các cuộc hội thoại trước đó để trả lời có ngữ cảnh hơn. Nếu bạn không có sẵn MongoDB, bạn hoàn toàn có thể thay thế bằng node “Simple Chat Memory” có sẵn trong n8n cho đơn giản.

3. BƯỚC 3: Xử lý và gửi tin nhắn phản hồi về Zalo

Sau khi AI đã tạo ra nội dung, chúng ta cần đảm bảo nó được gửi đi một cách trơn tru.

Node Code: Chia để trị

Zalo có giới hạn về độ dài tin nhắn. Nếu AI trả về một bản tóm tắt quá dài, tin nhắn sẽ không gửi được. Node Code giải quyết vấn đề này bằng cách:

  • Loại bỏ các ký tự định dạng Markdown, HTML có thể bị AI thêm vào.
  • Tự động chia một văn bản dài thành các đoạn nhỏ hơn 1500 ký tự. Nó sẽ ưu tiên ngắt ở dấu xuống dòng hoặc dấu chấm câu để đảm bảo câu chữ không bị cắt một cách vô duyên.
  • Workflow này chia tối đa thành 3 tin nhắn. Bạn gần như không cần chỉnh sửa gì ở node này.

Các node HTTP Request: Gửi tin nhắn

Cuối cùng là các node “Gửi tin nhắn 1, 2, 3”“Sticker”. Đây là những node thực hiện việc gọi đến Zalo API để gửi nội dung. Việc duy nhất bạn cần làm là vào từng node này và thay thế chuỗi [BOT_TOKEN] trong phần URL bằng Bot Token thật của bạn. Hãy chắc chắn bạn thay ở tất cả các node gửi tin nhắn nhé.

Ngoài ra, bạn cũng có thể xem thêm các tài liệu hướng dẫn chính thức (Documents) từ Zalo Bot tại: Zalo Bot Platform

IV. KIỂM TRA VÀ VẬN HÀNH

Sau khi đã cấu hình xong tất cả các bước, hãy bấm vào nút “Activate” ở góc trên bên phải để kích hoạt workflow. Bây giờ, bạn có thể mở Zalo, tìm đến con bot của mình và bắt đầu trò chuyện. Hãy thử gửi một tin nhắn như “cập nhật tin AI mới nhất đi Bưởi ơi” và xem kết quả.

Nếu bot không phản hồi, bạn hãy kiểm tra lại các bước sau:

  • Đảm bảo bạn đã thay thế chính xác Bot Token ở tất cả các node HTTP Request.
  • Kiểm tra xem Webhook đã được thiết lập thành công chưa. Bạn có thể xem log thực thi của node “Tạo Webhook”.
  • Xem lại mục “Executions” trong n8n để kiểm tra xem workflow có bị lỗi ở bước nào không và tìm cách khắc phục.

Vậy là xong! Toàn đã hướng dẫn bạn từ A-Z cách để xây dựng một Zalo Bot thông minh, có khả năng tự động cập nhật và tóm tắt tin tức bằng sức mạnh của n8n và AI Agent. Từ nền tảng này, bạn hoàn toàn có thể tùy biến để tạo ra những con bot với nhiều tính năng phức tạp hơn, phục vụ cho công việc và kinh doanh của mình. Tự động hóa không hề phức tạp, nó chỉ đòi hỏi chúng ta một chút kiên nhẫn và tư duy logic.

Hy vọng bài viết này hữu ích với các bạn. Nếu bạn thấy hay, đừng ngần ngại chia sẻ nó cho bạn bè và đồng nghiệp. Và hãy đăng ký nhận tin từ website của Toàn để không bỏ lỡ những kiến thức, thủ thuật mới nhất về AI, Automation và Tối ưu Vận hành nhé. Chúc các bạn thành công!

Nguyễn Thiệu Toàn

Nguyễn Thiệu Toàn

Tôi là người biến ý tưởng thành hệ thống AI và Tự động hóa thực tế. Tôi dùng Marketing để tìm hiểu những khó khăn bạn đang gặp, sau đó xây dựng các giải pháp tự động để giúp bạn thoát khỏi những công việc tẻ nhạt. Mục đích là để bạn có thể tập trung vào những việc lớn hơn, chứ không phải để thay thế vị trí của bạn.