ZaloPoll Node - Tạo và quản lý bình chọn Zalo trong n8n

@Nguyễn Ngô Thượng//~4 phút đọc0
Chia sẻ:
ZaloPoll Node - Tạo và quản lý bình chọn Zalo trong n8n

Tổng quan

ZaloPoll là node giúp bạn tương tác với tính năng Bình chọn (Poll) trong nhóm Zalo. Đây là công cụ hữu ích để thu thập ý kiến, tổ chức sự kiện hoặc vote nhanh trong các nhóm cộng đồng và công việc.

Use Cases chính

  • 📊 Tạo khảo sát nhanh trong nhóm
  • 📅 Chọn lịch họp team tự động
  • 🍽️ Vote món ăn trưa
  • 🔒 Tự động khóa bình chọn khi hết hạn
  • 📈 Thống kê kết quả bình chọn

Operations

Node hỗ trợ 6 operations chính:

Operation Mô tả
Tạo Bình Chọn Tạo poll mới với các lựa chọn
Lấy Chi Tiết Lấy thông tin poll và kết quả vote
Khóa Bình Chọn Dừng nhận vote mới
Mở Khóa Cho phép vote lại
Ẩn Bình Chọn Ẩn poll khỏi chat
Ghim Bình Chọn Ghim poll lên đầu nhóm

Resource: Tạo Bình Chọn

Tạo một cuộc bình chọn mới trong nhóm.

Parameters

Parameter Type Bắt buộc Mô tả
Group ID String ID nhóm để tạo poll
Câu Hỏi String Tiêu đề bình chọn
Các Lựa Chọn String[] Danh sách options (Mỗi dòng 1 option)
Hết Hạn Sau Number Thời gian hết hạn (phút)
Cho Phép Thêm Boolean Thành viên được thêm option mới
Ẩn Người Vote Boolean Ẩn danh người vote
Vote Nhiều Boolean Cho phép chọn nhiều đáp án

Example

Tạo bình chọn món ăn trưa:

{
  "groupId": "123456789",
  "question": "Trưa nay ăn gì? 🍜",
  "options": [
    "Cơm tấm",
    "Phở bò",
    "Bún đậu",
    "Tự túc"
  ],
  "allowAddOptions": true,
  "allowMultiChoices": false
}

Resource: Lấy Chi Tiết

Lấy thông tin chi tiết và kết quả hiện tại của poll.

Parameters

Parameter Type Mô tả
Poll ID String ID của cuộc bình chọn

Output Data

{
  "pollId": "987654321",
  "question": "Trưa nay ăn gì? 🍜",
  "options": [
    {
      "optionId": "opt_1",
      "content": "Cơm tấm",
      "votes": 5,
      "voters": ["user_1", "user_2", ...]
    },
    {
      "optionId": "opt_2",
      "content": "Phở bò",
      "votes": 2,
      "voters": ["user_3", ...]
    }
  ],
  "totalVotes": 7,
  "isClosed": false,
  "createdTime": 1704067200000
}

Common Use Cases

1. Daily Lunch Poll (Vote Ăn Trưa)

Tự động tạo bình chọn mỗi sáng và chốt đơn lúc 11h.

Workflow:

  1. Trigger: Schedule (9:00 AM, Mon-Fri)
  2. ZaloPoll: Tạo bình chọn "Trưa nay ăn gì?"
  3. Wait: Đợi đến 11:00 AM
  4. ZaloPoll: Khóa bình chọn
  5. ZaloPoll: Lấy chi tiết kết quả
  6. ZaloSendMessage: Thông báo kết quả "Chốt đơn: Cơm tấm (5 phiếu)"

2. Meeting Scheduler (Chọn Lịch Họp)

Tìm khung giờ họp phù hợp cho cả team.

Workflow:

  1. Trigger: Webhook / Manual
  2. Date & Time: Generate 3 time slots tiếp theo
  3. ZaloPoll: Tạo poll "Chọn giờ họp Sprint Review"
    • Option 1: 14:00 Hôm nay
    • Option 2: 10:00 Sáng mai
    • Option 3: 14:00 Chiều mai
  4. ZaloGroup: Ghim bình chọn để mọi người thấy

3. Event Registration (Đăng Ký Sự Kiện)

Đăng ký tham gia Year End Party.

Workflow:

  1. ZaloPoll: Tạo poll "Tham gia YEP 2024?"
    • Option 1: Tham gia (+1)
    • Option 2: Tham gia (+ người thân)
    • Option 3: Không tham gia
  2. Trigger: Schedule (Hàng ngày)
  3. ZaloPoll: Lấy kết quả
  4. Google Sheets: Cập nhật danh sách người tham gia

Troubleshooting

❌ Lỗi: "Group ID not found"

Nguyên nhân:

  • ID nhóm sai
  • Bot chưa tham gia nhóm

Giải pháp:

  • Kiểm tra lại Group ID (dùng node ZaloGroup - Lấy Nhiều Nhóm)
  • Đảm bảo tài khoản bot đã ở trong nhóm

❌ Lỗi: "Poll ID invalid"

Nguyên nhân:

  • Poll ID sai hoặc poll đã bị xóa
  • Copy nhầm Message ID thay vì Poll ID

Giải pháp:

  • Poll ID thường được trả về ngay sau khi tạo poll (trong output của operation Tạo Bình Chọn)
  • Lưu Poll ID vào biến hoặc database để dùng lại

❌ Không thể khóa bình chọn

Nguyên nhân:

  • Chỉ người tạo poll (bot) mới có quyền khóa
  • Poll đã bị khóa trước đó

Giải pháp:

  • Đảm bảo workflow dùng đúng credential đã tạo poll
  • Check trạng thái isClosed trước khi khóa

Tips & Best Practices

Success: Pro Tips

  1. Auto-lock: Luôn thiết lập thời gian hết hạn hoặc workflow tự động khóa poll để tránh vote rác sau khi sự kiện kết thúc.
  2. Pin Poll: Ghim poll quan trọng để tăng tỷ lệ tương tác.
  3. Dynamic Options: Sử dụng Function node để tạo danh sách options động (ví dụ: lấy thực đơn từ Google Sheets).
  4. Reminder: Kết hợp ZaloSendMessage để tag @All nhắc nhở nếu tỷ lệ vote thấp.

Bước tiếp theo

Trong bài tiếp theo, chúng ta sẽ tìm hiểu về ZaloTag Node - công cụ giúp phân loại và quản lý labels cho bạn bè và tin nhắn.

Bài viết hữu ích?

Chia sẻ để nhiều người biết đến!

Chia sẻ:

>_ LLM-Friendly Copy

Copy as Markdown to use with ChatGPT, Claude, or other AI tools

914 words|4,836 characters

//Bình luận

Bài viết liên quan

Khám phá thêm những bài viết cùng chủ đề với ZaloPoll Node - Tạo và quản lý bình chọn Zalo trong n8n

Bài viết hữu ích? Hãy kết nối với Diginno!

Chúng tôi giúp doanh nghiệp SME ứng dụng AI và automation vào quy trình làm việc - từ tư vấn chiến lược đến triển khai thực tế.