2026-01-16 13:28:18 -08:00
---
summary: "Zalo Personal plugin: QR login + messaging via zca-cli (plugin install + channel config + CLI + tool)"
read_when:
2026-01-30 03:15:10 +01:00
- You want Zalo Personal (unofficial) support in OpenClaw
2026-01-16 13:28:18 -08:00
- You are configuring or developing the zalouser plugin
2026-01-31 16:04:03 -05:00
title: "Zalo Personal Plugin"
2026-01-16 13:28:18 -08:00
---
# Zalo Personal (plugin)
2026-01-30 03:15:10 +01:00
Zalo Personal support for OpenClaw via a plugin, using `zca-cli` to automate a normal Zalo user account.
2026-01-16 13:28:18 -08:00
> **Warning:** Unofficial automation may lead to account suspension/ban. Use at your own risk.
## Naming
2026-01-31 21:13:13 +09:00
2026-01-16 13:28:18 -08:00
Channel id is `zalouser` to make it explicit this automates a **personal Zalo user account** (unofficial). We keep `zalo` reserved for a potential future official Zalo API integration.
## Where it runs
2026-01-31 21:13:13 +09:00
2026-01-16 13:28:18 -08:00
This plugin runs **inside the Gateway process** .
If you use a remote Gateway, install/configure it on the **machine running the Gateway** , then restart the Gateway.
## Install
### Option A: install from npm
```bash
2026-01-30 03:15:10 +01:00
openclaw plugins install @openclaw/zalouser
2026-01-16 13:28:18 -08:00
```
Restart the Gateway afterwards.
### Option B: install from a local folder (dev)
```bash
2026-01-30 03:15:10 +01:00
openclaw plugins install ./extensions/zalouser
2026-01-16 13:28:18 -08:00
cd ./extensions/zalouser & & pnpm install
```
Restart the Gateway afterwards.
## Prerequisite: zca-cli
2026-01-31 21:13:13 +09:00
2026-01-16 13:28:18 -08:00
The Gateway machine must have `zca` on `PATH` :
```bash
zca --version
```
## Config
2026-01-31 21:13:13 +09:00
2026-01-16 13:28:18 -08:00
Channel config lives under `channels.zalouser` (not `plugins.entries.*` ):
```json5
{
channels: {
zalouser: {
enabled: true,
2026-01-31 21:13:13 +09:00
dmPolicy: "pairing",
},
},
2026-01-16 13:28:18 -08:00
}
```
## CLI
```bash
2026-01-30 03:15:10 +01:00
openclaw channels login --channel zalouser
openclaw channels logout --channel zalouser
openclaw channels status --probe
openclaw message send --channel zalouser --target < threadId > --message "Hello from OpenClaw"
openclaw directory peers list --channel zalouser --query "name"
2026-01-16 13:28:18 -08:00
```
## Agent tool
2026-01-31 21:13:13 +09:00
2026-01-16 13:28:18 -08:00
Tool name: `zalouser`
Actions: `send` , `image` , `link` , `friends` , `groups` , `me` , `status`