OpenClaw and Zalo: what works today, and which Zalo you mean
The official plugin covers Zalo Bot-platform bots (not Official Accounts, not personal-account automation), and it's experimental. Token setup, long-polling, and the real limits.
Yes, OpenClaw speaks Zalo, through a bundled official plugin that connects Zalo Bot Creator / Marketplace bots via long-polling: create a bot at bot.zaloplatforms.com, paste the token, restart. No public URL needed. Two things to know before you start: the plugin is officially marked experimental, and “Zalo” is three different things in OpenClaw’s catalog. This covers platform bots, not Official Accounts (a different product the docs explicitly don’t cover), and not the personal-account automation plugin (unofficial, with a ban warning attached).
Which Zalo, exactly
The channel index lists three Zalo-adjacent entries, and picking the wrong one wastes an afternoon. Zalo (this guide): the official bundled plugin for bots created on Zalo’s bot platform, the analog of a Telegram bot. Zalo Official Account: the business-facing OA product, not supported by this plugin, and OpenClaw’s docs say so plainly. Zalo personal (the zalouser plugin): automates a personal account by QR-login, which the docs label unofficial and warn “may result in account suspension or ban.” For an agent people message, the platform bot is the sane route.
Setup
Create the bot at bot.zaloplatforms.com: sign in, create, configure. You get a token in the familiar numeric_id:secret shape (quirk worth knowing: for Marketplace bots, the usable runtime token may arrive in the bot’s own welcome message). Then:
channels: {
zalo: {
accounts: {
default: { botToken: "1234567890:abcdef..." },
},
},
}Restart the gateway and message the bot. Transport is long-polling by default (outbound-only, nothing exposed), with an optional HTTPS webhook mode if you prefer push (the two are mutually exclusive per Zalo’s API). DMs follow the standard pairing gate: unknown senders get a code, you approve with openclaw pairing approve zalo <code>, codes expire after an hour. Allowlists want numeric Zalo user IDs. There’s no username lookup.
The experimental fine print
- Outbound text chunks at 2,000 characters (a Zalo API limit, half of what most channels allow), and media caps at 5MB by default, the lowest in the catalog. Long answers arrive in more pieces.
- No reactions, no threads, no polls, no quote-replies: the plugin keeps it to plain messages.
- Groups require an @-mention, and unlike other channels that’s not configurable. And a platform-side landmine the docs call out: some Marketplace-bot setups simply can’t be added to groups at all, a Zalo constraint, not an OpenClaw policy.
- “Experimental” means what it says: expect rough edges and behavior drift between releases.
Verdict
If your family or customers live on Zalo, which in Vietnam is simply where everyone is, this is a legitimate, officially-shipped way to put your agent in those chats, and the token-paste setup is as easy as the Telegram one. Just size expectations to the experimental label: keep Zalo as one channel among several rather than the only door to your agent, and read the pairing and allowlist model before opening DMs beyond yourself.