Zalo Group Trigger icon

Zalo Group Trigger

Lắng nghe sự kiện nhóm (non-message) trên Zalo

Overview

This node, Zalo Group Trigger, listens for various non-message group events on the Zalo platform. It is designed to trigger workflows when specific group-related activities occur, such as members joining or leaving a group, updates to group settings, pinned topics changes, and more.

Typical use cases include:

  • Automating notifications or logging when group membership changes (e.g., new members join or leave).
  • Reacting to administrative changes like adding/removing admins or updating group info.
  • Tracking topic pins/unpins or board updates within a group.
  • Handling reminders and other group event types for workflow automation.

For example, you could use this node to automatically send a welcome message when a new member joins a group or to log all group setting changes for audit purposes.

Properties

Name Meaning
Event Types Select one or multiple group event types to listen for. Options include:
- Join request
- Member joined
- Member left
- Remove member
- Block member
- Update group settings
- Update group info
- New invite link
- Add admin
- Remove admin
- New pinned topic
- Update pinned topic
- Reorder pinned topics
- Update board
- Remove board
- Update topic
- Unpin topic
- Remove topic
- Accept reminder
- Reject reminder
- Reminder event
- Update avatar
- Unknown event
Self Listen Boolean flag to allow receiving events triggered by the user themselves. If false, events caused by the user will be ignored.
User Identifier A string identifier to distinguish different user sessions, useful for running multiple concurrent instances of this node. Examples: "user1", "user2".

Output

The node outputs an array of JSON objects representing the group events received via webhook. Each event object includes:

  • The original event data from Zalo with detailed fields depending on the event type.
  • Additional metadata fields prefixed with underscore (_), such as:
    • _timestamp: ISO timestamp when the event was processed.
    • _instanceKey: Unique key identifying the listener instance.
    • _credentialId: Identifier of the used API credential.
    • _userIdentifier: The user session identifier.
    • _eventType: Numeric code of the event type.
    • _source: Fixed string "zalo_group_trigger" indicating the event source.
    • _isStatus and _statusType: Present for status messages like connection status or empty event notifications.

If no events are available, the node outputs a status object indicating an empty event queue.

The node does not output binary data.

Dependencies

  • Requires a valid Zalo API credential with appropriate permissions to listen to group events.
  • Uses the zca-js library internally to manage Zalo connections and event listeners.
  • Needs to be configured with a webhook URL accessible by Zalo to receive event callbacks.
  • Requires n8n workflow static data storage to maintain listener state across executions.

Troubleshooting

  • Connection failures: Errors during listener creation usually indicate invalid credentials or network issues. Verify the API key and connectivity.
  • Webhook errors: If the webhook endpoint is unreachable or returns errors, events may fail to be delivered. Check webhook URL accessibility and response handling.
  • No events received: Ensure that the selected event types match the actual group events occurring. Also, verify that the "Self Listen" option is set correctly if expecting self-generated events.
  • Multiple instances conflict: Use unique user identifiers to avoid conflicts when running multiple listeners simultaneously.
  • Event queue backlog: If webhook delivery fails repeatedly, events are queued internally. Monitor logs for errors and ensure stable webhook processing.

Common error messages logged include:

  • "No API instance found": Indicates failure to authenticate or create a listener.
  • "Webhook probe failed": Webhook URL did not respond successfully during connection setup.
  • Listener disconnection or closure warnings: May require restarting the workflow or checking network stability.

Links and References

Discussion