Bạn có thể tự xây AI Agent bằng n8n và Telegram theo luồng nhận tin nhắn, xử lý bằng mô hình và gửi câu trả lời về cuộc trò chuyện. Tài liệu n8n xác nhận AI Agent kết nối với mô hình chat và công cụ để quyết định cách hoàn thành yêu cầu. Điểm cần làm đúng ngay từ đầu là nối đủ các thành phần: một bot nhận được tin chưa đồng nghĩa với một agent đã sử dụng được công cụ.

Tạo bot và xác định phạm vi thử nghiệm

Bước 1: mở BotFather trên Telegram, gửi /newbot và làm theo hướng dẫn đặt tên bot. Theo Telegram và tài liệu credentials của n8n, BotFather cấp token để xác thực bot; nhập token này vào Access Token của Telegram credential trong n8n. Telegram yêu cầu giữ token như mật khẩu. Vì vậy, không đưa token vào lời nhắc cho mô hình, ảnh chụp chia sẻ hoặc nội dung tin nhắn thử nghiệm.

Bước 2: thêm Telegram Trigger, chọn credential vừa tạo và sự kiện Message. n8n mô tả sự kiện này nhận cả văn bản, ảnh, sticker và các loại tin nhắn khác; Telegram Bot API cũng phân biệt trường văn bản với dữ liệu phương tiện. Với bản đầu tiên, nên chỉ xử lý tin có message.text và chuyển trường hợp khác sang nhánh hướng dẫn nhập văn bản. Đây là đề xuất thu hẹp phạm vi để kiểm tra từng bước.

Trong giai đoạn thử riêng, nên điền tài khoản của bạn vào Restrict to User IDs và giới hạn cuộc trò chuyện bằng Restrict to Chat IDs. Hai tùy chọn này được tài liệu Telegram Trigger mô tả trực tiếp. Hãy kiểm tra dữ liệu sự kiện để lấy đúng định danh thay vì đoán theo tên hiển thị. Sau đó thử bằng tài khoản nằm ngoài danh sách, với kết quả mong đợi là luồng không chuyển yêu cầu đó đến agent.

Minh họa Tạo bot và xác định phạm vi thử nghiệm
Minh họa mục 1: Tạo bot và xác định phạm vi thử nghiệm. Không phải ảnh chụp hệ thống thực tế.

Nối mô hình, công cụ và câu trả lời

Bước 3: nối Telegram Trigger sang AI Agent, rồi gắn một Chat Model tương thích và ít nhất một công cụ. Tài liệu n8n yêu cầu có công cụ con cho AI Agent; danh sách Tools Agent có Calculator. Một bài tập phù hợp là trợ lý tính toán: người dùng đặt câu hỏi, agent chọn Calculator khi cần và diễn giải kết quả. Đây là tình huống thực hành đề xuất, chưa phải kết quả kiểm thử của một hệ thống cụ thể.

Bước 4: cấu hình đầu vào của agent. Theo tài liệu Tools Agent, chế độ lấy tự động chờ trường chatInput, còn Define below cho phép chỉ định văn bản hoặc biểu thức. Với luồng Telegram, chọn Define below rồi ánh xạ message.text từ dữ liệu Trigger vào Prompt (User Message). Có thể đặt System Message yêu cầu trả lời tiếng Việt, dùng công cụ cho phép tính và hỏi lại khi thiếu dữ liệu. Hãy coi đây là chỉ dẫn hành vi cần kiểm tra, không phải bảo đảm câu trả lời luôn đúng.

Bước 5: nối đầu ra AI Agent sang Telegram, chọn Resource là Message và Operation là Send Message. Tài liệu n8n yêu cầu Chat ID và Text; lấy Chat ID từ message.chat.id của Telegram Trigger, còn Text lấy từ trường kết quả thực tế của agent. Nên xem dữ liệu sau một lần chạy trước khi ánh xạ. Để kiểm tra, gửi một câu hỏi đơn giản rồi đối chiếu lần lượt tin đầu vào, kết quả xử lý và cuộc trò chuyện nhận phản hồi.

Bước 6: nếu cần hỏi đáp nối tiếp, gắn Simple Memory và đặt Session Key theo định danh cuộc trò chuyện. Tài liệu bộ nhớ của n8n và hướng dẫn trong kho mã chính thức cùng hỗ trợ cách tổ chức này; hướng dẫn chatbot dùng message.chat.id cho Telegram. Hãy thử hai cuộc trò chuyện riêng với nội dung khác nhau rồi hỏi lại. Tiêu chí kiểm tra là ngữ cảnh không bị lẫn; trong nhóm dùng chung, nên xác định rõ có muốn chia sẻ lịch sử giữa các thành viên hay không.

Minh họa Nối mô hình, công cụ và câu trả lời
Minh họa mục 2: Nối mô hình, công cụ và câu trả lời. Không phải ảnh chụp hệ thống thực tế.

Kiểm tra webhook và giới hạn trước khi mở rộng

Nếu Trigger không nhận tin, hãy kiểm tra đường webhook trước khi sửa lời nhắc AI. Telegram Bot API yêu cầu URL HTTPS cho setWebhook; tài liệu lỗi thường gặp của n8n cũng nhấn mạnh yêu cầu này khi chạy sau reverse proxy. Cần kiểm tra địa chỉ công khai và cấu hình TLS phù hợp với bản n8n đang dùng. Đừng sao chép cấu hình máy chủ chỉ để chữa lỗi mà chưa xác định URL Telegram đang gọi tới.

n8n lưu ý Telegram chỉ đăng ký một webhook cho mỗi bot: chuyển giữa URL thử nghiệm và URL vận hành sẽ ghi đè địa chỉ nhận sự kiện. Vì vậy, nên dùng bot riêng để thử và giữ nguyên bot đang phục vụ người dùng. Nếu vừa thay đổi khiến bot ngừng phản hồi, hướng khôi phục là đưa luồng về cấu hình đã lưu và đăng ký lại webhook vận hành, sau đó gửi tin kiểm tra. Không thử đồng thời hai luồng bằng cùng token.

Cuối cùng, kiểm tra câu trả lời dài và thao tác có tác động bên ngoài. Telegram và n8n cùng ghi giới hạn Send Message là 4.096 ký tự sau khi xử lý định dạng; nên bổ sung bước chia câu trả lời dài. Với công cụ gửi tin, sửa bản ghi hoặc xóa dữ liệu, n8n hỗ trợ yêu cầu người duyệt trước khi thực thi. Hãy kiểm tra cả nhánh chấp thuận lẫn từ chối bằng dữ liệu giả định trước khi bổ sung các công cụ này vào trợ lý.

Minh họa Kiểm tra webhook và giới hạn trước khi mở rộng
Minh họa mục 3: Kiểm tra webhook và giới hạn trước khi mở rộng. Không phải ảnh chụp hệ thống thực tế.

Nguồn tham khảo

n8n.io (7 tài liệu)
core.telegram.org (2 tài liệu)
github.com (1 tài liệu)