openclaw/extensions/zalouser
Peter Steinberger e7e1707277
fix(ci): restore build and typecheck on main
2026-04-04 07:22:16 +01:00
..
src fix(ci): restore build and typecheck on main 2026-04-04 07:22:16 +01:00
CHANGELOG.md build: bump version to 2026.4.1-beta.1 2026-04-01 15:09:19 +01:00
README.md refactor(plugins): decouple bundled plugin runtime loading 2026-03-29 09:10:38 +01:00
api.ts fix(outbound): restore generic delivery and security seams 2026-04-03 19:09:20 +01:00
contract-api.ts refactor(plugins): move extension seams into extensions 2026-04-04 00:10:16 +01:00
contract-surfaces.ts fix: unblock cli startup metadata 2026-04-04 02:35:36 +01:00
index.ts refactor: move plugin tool routing defaults into tool context 2026-03-27 23:58:04 +00:00
openclaw.plugin.json
package.json CI: add ClawHub plugin release workflow (#59179) 2026-04-03 15:40:07 +02:00
runtime-api.ts refactor(plugins): move extension seams into extensions 2026-04-04 00:10:16 +01:00
setup-entry.ts
test-api.ts refactor: route zalouser payload mocks through test api 2026-03-27 13:46:17 +00:00

README.md

@openclaw/zalouser

OpenClaw extension for Zalo Personal Account messaging via native zca-js integration.

Warning: Using Zalo automation may result in account suspension or ban. Use at your own risk. This is an unofficial integration.

Features

  • Channel plugin integration with setup wizard + QR login
  • In-process listener/sender via zca-js (no external CLI)
  • Multi-account support
  • Agent tool integration (zalouser)
  • DM/group policy support

Prerequisites

  • OpenClaw Gateway
  • Zalo mobile app (for QR login)

No external zca, openzca, or zca-cli binary is required.

Install

Option A: npm

openclaw plugins install @openclaw/zalouser

Option B: local source checkout

PLUGIN_SRC=./path/to/local/zalouser-plugin
openclaw plugins install "$PLUGIN_SRC"
cd "$PLUGIN_SRC" && pnpm install

Restart the Gateway after install.

Quick start

Login (QR)

openclaw channels login --channel zalouser

Scan the QR code with the Zalo app on your phone.

Enable channel

channels:
  zalouser:
    enabled: true
    dmPolicy: pairing # pairing | allowlist | open | disabled

Send a message

openclaw message send --channel zalouser --target <threadId> --message "Hello from OpenClaw"

Configuration

Basic:

channels:
  zalouser:
    enabled: true
    dmPolicy: pairing

Multi-account:

channels:
  zalouser:
    enabled: true
    defaultAccount: default
    accounts:
      default:
        enabled: true
        profile: default
      work:
        enabled: true
        profile: work

Useful commands

openclaw channels login --channel zalouser
openclaw channels login --channel zalouser --account work
openclaw channels status --probe
openclaw channels logout --channel zalouser

openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
openclaw directory groups members --channel zalouser --group-id <id>

Agent tool

The extension registers a zalouser tool for AI agents.

Available actions: send, image, link, friends, groups, me, status

Troubleshooting

  • Login not persisted: openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
  • Probe status: openclaw channels status --probe
  • Name resolution issues (allowlist/groups): use numeric IDs or exact Zalo names

Credits

Built on zca-js.