Documentation

n8n-nodes-zalo-custom

❗️ Lưu ý quan trọng

  • Bộ nodes này sẽ sớm bị đóng lại và chuyển sang bản mới (bao gồm các chức năng cũ).
  • Phiên bản mới: n8n-nodes-ultimate

👨‍🔧 Tác giả & Liên hệ

Github: codedao12
Email: codedao12@gmail.com
Video hướng dẫn: xem video
Nhóm Zalo hỗ trợ: truy cập nhóm
Vui lòng liên hệ để yêu cầu tính năng mới hoặc báo lỗi.


📋 Giới thiệu

  • Thư viện tự động hoá Zalo thông qua n8n.
  • Expression Zalo Credential phù hợp khi quản lý nhiều tài khoản Zalo.
  • Chờ gôm tin nhắn với Message Debouncer tối ưu trải nghiệm chatbot (có thể tuỳ chỉnh gôm trên các nền tảng khác fb, telegram..).
  • Tổng hợp sự kiện nhắn Media Group thành 1 sự kiện duy nhất.
  • Không dùng API của bên thứ ba, chạy trong môi trường n8n của bạn, đảm bảo riêng tư và an toàn.

✨ Các Tính Năng Chính

. .
🔑 XÁC THỰC & KẾT NỐI
Đăng nhập bằng Mã QR
✓✓✓ Expression Zalo Credential
Hỗ trợ đăng nhập nhiều tài khoản, proxy
✓✓✓ Đăng nhập, thông báo qua telegram
⚡️ TRIGGER
Sự kiện tin nhắn mới (lọc theo từ khóa, nhóm)
Sự kiện thu hồi tin nhắn, thả cảm xúc
Sự kiện trong nhóm (tham gia, rời, đổi quyền,...)
✓✓✓ Sự kiện về bạn bè (kết bạn, hủy bạn)
Sự kiện bạn bè đã xem tin nhắn
Sự kiện bạn bè đang soạn tin
✓✓✓ Gôm nhóm media thành 1 sự kiện duy nhất
💬 NHẮN TIN
Gửi tin nhắn (Văn bản, Ảnh, Sticker, @All)
Trả lời tin nhắn (Quote)
Gắn thẻ (Tag) thành viên trong nhóm
✓✓✓ Thả/Gỡ cảm xúc (Reaction) vào tin nhắn
Thu hồi tin nhắn đã gửi
✓✓✓ Lấy danh sách tin nhắn cũ
Mô phỏng trạng thái "Đang soạn tin..."
👤 QUẢN LÝ TÀI KHOẢN & BẠN BÈ
Gửi / Hủy lời mời kết bạn
Chấp nhận / Từ chối lời mời kết bạn
Hủy kết bạn (xóa bạn)
Lấy danh sách bạn bè & lời mời đã gửi
✓✓✓ Xóa tin nhắn của User/Group
✓✓✓ Tắt mở thông báo User/Group
✓✓✓ Cập nhật quyền riêng tư
Cập nhật thông tin cá nhân (name, gender, avatar..)
Tìm người dùng bằng SĐT hoặc User ID
Lấy thông tin chi tiết người dùng
Chặn / Bỏ chặn người dùng
👥 QUẢN LÝ NHÓM
Tạo nhóm
✓✓✓ Cập nhật cài đặt nhóm
Thêm / Xóa thành viên khỏi nhóm
Giải tán nhóm
Thay đổi tên & ảnh đại diện nhóm
Bổ nhiệm quyền Phó nhóm
✓✓✓ Chuyển quyền Trưởng nhóm
Lấy danh sách tất cả các nhóm đã tham gia
Lấy thông tin nhóm (từ ID hoặc link)
Tham gia nhóm bằng link / Rời nhóm
Tạo ghi chú (Note) trong nhóm
🎨 KHÁC
Tạo bình chọn (Poll) trong nhóm
Quản lý thẻ phân loại (Tag)
Tìm kiếm sticker

🚀 Hướng Dẫn Cài Đặt

1. Cài qua Community Nodes (Khuyến nghị)

Yêu cầu phiên bản n8n v0.187 trở lên.

  1. Mở n8n Editor.
  2. Đi đến Settings → Community Nodes.
  3. Chọn Install và tìm kiếm n8n-nodes-zalo-custom.
  4. Nhấn nút Install để cài đặt.
  5. Trong danh sách node tìm kiếm codedao12 hoặc Zalo để sử dụng.

2. Cài thủ công

Nếu bạn đang tự host n8n, bạn có thể cài đặt bộ node này qua npm:

cd YOUR_N8N_DIRECTORY
npm install n8n-nodes-zalo-custom

💡 Hướng Dẫn Sử Dụng

Để tự động hóa Zalo, bạn cần thực hiện các bước sau để đăng nhập và lấy Credential cho các node khác sử dụng.

Bước 1: Tạo n8n API Credential

Node Zalo Login By QR cần quyền truy cập API vào n8n instance của bạn để có thể tự động tạo ra Zalo Credential sau khi bạn đăng nhập thành công.

  1. Lấy API Key của n8n:

    • Trong giao diện n8n, đi đến Settings → API.
    • Nhấn Add API key để tạo một API key mới và sao chép nó (đổi tên API Zalo để gợi nhớ).
  2. Tạo n8n Zalo API Credential:

    • Trong giao diện n8n, đi đến Credentials → Add credential.
    • Tìm và chọn n8n Zalo API Credential.
    • API Key: Dán API key bạn vừa tạo.
    • URL: Nhập URL của n8n instance của bạn (ví dụ: http://127.0.0.1:5678 hoặc https://n8n.yourdomain.com).
    • Nhấn Save.

Bước 2: Đăng nhập Zalo bằng QR Code

  1. Tạo một workflow mới và thêm node Zalo Login By QR.
  2. Trong node này, chọn n8n Zalo API Credential bạn vừa tạo ở bước 1.
  3. Chạy (Execute) node. Một mã QR sẽ được tạo ra.
  4. Dùng ứng dụng Zalo trên điện thoại để quét mã QR này và xác nhận đăng nhập.
  5. Sau khi đăng nhập thành công, một Zalo API Credential mới đã được tạo.
  • Bạn cần tải lại trình duyệt để thấy Zalo Credential mới xuất hiện trong danh sách Credentials.
  • Truyền Telegram Bot Token sẽ thông báo QR qua nhóm (phù hợp tự động hoá), lưu vào credential để cảnh báo lỗi.

Bước 3: Sử dụng các Node Zalo khác

Bây giờ bạn đã có thể sử dụng các node khác như Zalo Trigger, Zalo Send Message, Zalo User...

  1. Thêm node Zalo Trigger hoặc Zalo Send Message vào workflow.
  2. Trong phần Credential to connect with, chọn Zalo API Credential vừa được tạo tự động ở bước 2.
  3. Cấu hình các tham số khác và chạy workflow.

✨ Chọn Zalo Credential bằng Biểu thức (Expression)

Khi bạn quản lý nhiều tài khoản Zalo, mỗi tài khoản sẽ có một Zalo API Credential riêng. Các node (như Zalo Send Message, Zalo User, Zalo Group) cho phép bạn chọn credential một cách linh hoạt bằng cách sử dụng Biểu thức (Expression).

  1. Trong một node Zalo (ví dụ: Zalo Send Message), bên dưới Credential, chọn Select a custom credential from ID.
  2. Bạn có thể truyền User ID hoặc Phone (credential mặc định sẽ không được sử dụng).

Điều này rất hữu ích để xây dựng các kịch bản tự động hóa phức tạp, ví dụ như gửi tin nhắn lần lượt từ nhiều tài khoản Zalo khác nhau trong cùng một workflow.


📦 Node hỗ trợ

🕗 Message Debouncer

gom tin nhắn của 1 người và trả sau ít giây
  • Zalo: Tự động tạo Key và lưu đoạn chat, trả lại sau 1 khoảng thời gian.
  • Custom: Chỉ định đường dẫn tạo Key và nội dung chat.
  • Node được thiết kế phù hợp với nhiều nền tảng chatbot như Facebook, Telegram..

📦 Node Zalo

1. 🔑 Zalo Login By QR

tạo mã QR để đăng nhập Zalo
  • Đăng nhập vào Zalo bằng mã QR (hỗ trợ proxy).
  • Hỗ trợ đăng nhập nhiều tài khoản.
  • Thông báo và gửi QR qua telegram.
  • Lưu thông tin đăng nhập để thay thế credential.

2. ⚡️ Zalo Trigger

nhận sự kiện từ Zalo để phản hồi
  • Lắng nghe sự kiện: tin nhắn người dùng/nhóm, thả tim, thu hồi tin nhắn, lời mời kết bạn, đã xem tin nhắn, đang soạn tin.
  • Cấu hình:
    • Chấp nhận hoặc loại trừ các ID nhóm khi nhận sự kiện tin nhắn.
    • Chỉ nhận theo từ khoá hoặc loại trừ khi nhận sự kiện tin nhắn.
    • Lắng nghe sự kiện của chính bạn.
    • Nhận thông báo qua telegram nếu Zalo lỗi đăng nhập.

3. 💬 Zalo Send Message

gửi tin nhắn
  • Gửi tin nhắn văn bản (hỗ trợ HTML), hình ảnh, sticker.
  • Trả lời tin nhắn (quote), thả biểu tượng cảm xúc (reaction), tag thành viên.
  • Mô phỏng hành động "Đang soạn tin...".

4. 👥 Zalo Group

quản lý nhóm
  • Quản lý nhóm: Tạo nhóm, đổi tên & ảnh đại diện, lấy link mời, tham gia/rời nhóm, giải tán nhóm.
  • Quản lý thành viên: Thêm/xóa thành viên, bổ nhiệm/bãi nhiệm phó nhóm, chuyển quyền trưởng nhóm.
  • Lấy thông tin: Lấy danh sách tất cả các nhóm đã tham gia, lấy thông tin chi tiết và thành viên của một nhóm.
  • Tương tác khác: Tạo ghi chú (note) mới trong nhóm.

5. 👤 Zalo User

quản lý tài khoản và bạn bè
  • Quản lý bạn bè: Gửi/hủy lời mời kết bạn, chấp nhận/từ chối lời mời, hủy kết bạn.
  • Tương tác với người dùng: Thu hồi tin nhắn, chặn/bỏ chặn, đổi tên gợi nhớ, đánh dấu đã đọc/chưa đọc.
  • Lấy thông tin: Lấy danh sách bạn bè, gợi ý kết bạn, thông tin chi tiết người dùng (qua User ID/SĐT), lấy mã QR.
  • Cập nhật hồ sơ: Thay đổi thông tin cá nhân của bạn (tên, ngày sinh, giới tính).
  • Lấy tin nhắn cũ: Lấy danh sách các tin nhắn cũ trong khả năng.

6. 🎨 Zalo Communication

thẻ phân loại và bình chọn nhóm
  • Sticker (Nhãn dán): Gửi, tìm kiếm, và lấy danh sách các bộ sticker đã cài.
  • Poll (Bình chọn): Tạo, lấy thông tin, hoặc khóa một bình chọn trong nhóm.
  • Tag (Thẻ phân loại): Quản lý các thẻ phân loại cho cuộc trò chuyện (tạo, sửa, xóa, gán/gỡ thẻ).

⚠️ Lưu ý quan trọng (Đọc kỹ trước khi dùng)

Vui lòng đọc kỹ trước khi sử dụng Zalo nodes:
⚠️ Cảnh báo:

  • Việc sử dụng thư viện này đồng nghĩa với việc bạn đang làm trái với chính sách của Zalo và nó có thể khiến cho tài khoản của bạn bị vô hiệu hóa.
  • Chúng tôi sẽ không chịu trách nhiệm nếu điều đó xảy ra, vậy nên hãy cân nhắc trước khi sử dụng.

📝 Khuyến nghị:

  • Sử dụng tài khoản test, không dùng tài khoản chính.
  • Tuân thủ giới hạn rate limit của Zalo, có trách nhiệm và không spam

🙏 Lời cảm ơn

Dự án tham khảo từ zca-js và các nodes n8n có sẵn — xin cảm ơn vì đóng góp.


📄 License

MIT

Discussion