coderClaw

Zalo (Bot API)

Status: experimental. Direct messages only; groups coming soon per Zalo docs.

Plugin required

Zalo ships as a plugin and is not bundled with the core install.

Quick setup (beginner)

  1. Install the Zalo plugin:
    • From a source checkout: coderclaw plugins install ./extensions/zalo
    • From npm (if published): coderclaw plugins install @coderclaw/zalo
    • Or pick Zalo in onboarding and confirm the install prompt
  2. Set the token:
    • Env: ZALO_BOT_TOKEN=...
    • Or config: channels.zalo.botToken: "...".
  3. Restart the gateway (or finish onboarding).
  4. DM access is pairing by default; approve the pairing code on first contact.

Minimal config:

{
  channels: {
    zalo: {
      enabled: true,
      botToken: "12345689:abc-xyz",
      dmPolicy: "pairing",
    },
  },
}

What it is

Zalo is a Vietnam-focused messaging app; its Bot API lets the Gateway run a bot for 1:1 conversations. It is a good fit for support or notifications where you want deterministic routing back to Zalo.

Setup (fast path)

1) Create a bot token (Zalo Bot Platform)

  1. Go to https://bot.zaloplatforms.com and sign in.
  2. Create a new bot and configure its settings.
  3. Copy the bot token (format: 12345689:abc-xyz).

2) Configure the token (env or config)

Example:

{
  channels: {
    zalo: {
      enabled: true,
      botToken: "12345689:abc-xyz",
      dmPolicy: "pairing",
    },
  },
}

Env option: ZALO_BOT_TOKEN=... (works for the default account only).

Multi-account support: use channels.zalo.accounts with per-account tokens and optional name.

  1. Restart the gateway. Zalo starts when a token is resolved (env or config).
  2. DM access defaults to pairing. Approve the code when the bot is first contacted.

How it works (behavior)

Limits

Access control (DMs)

DM access

Long-polling vs webhook

Note: getUpdates (polling) and webhook are mutually exclusive per Zalo API docs.

Supported message types

Capabilities

Feature Status
Direct messages âś… Supported
Groups ❌ Coming soon (per Zalo docs)
Media (images) âś… Supported
Reactions ❌ Not supported
Threads ❌ Not supported
Polls ❌ Not supported
Native commands ❌ Not supported
Streaming ⚠️ Blocked (2000 char limit)

Delivery targets (CLI/cron)

Troubleshooting

Bot doesn’t respond:

Webhook not receiving events:

Configuration reference (Zalo)

Full configuration: Configuration

Provider options:

Multi-account options: