openclaw/extensions/zalo
Peter Steinberger edfaa01d1d
refactor(plugin-sdk): split runtime helper seams
2026-04-04 08:53:19 +01:00
..
src refactor(plugin-sdk): split runtime helper seams 2026-04-04 08:53:19 +01:00
test-support test: trim remaining mock drift 2026-04-04 04:04:12 +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 refactor: route channel contract tests through public barrels 2026-03-27 13:46:16 +00: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
openclaw.plugin.json
package.json fix(ci): disable automatic clawhub release workflow 2026-04-04 00:20:28 +09: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 outbound payload tests through extension test seams 2026-03-27 13:46:17 +00:00

README.md

@openclaw/zalo

Zalo channel plugin for OpenClaw (Bot API).

Install (local checkout)

openclaw plugins install ./path/to/local/zalo-plugin

Install (npm)

openclaw plugins install @openclaw/zalo

Onboarding: select Zalo and confirm the install prompt to fetch the plugin automatically.

Config

{
  channels: {
    zalo: {
      enabled: true,
      botToken: "12345689:abc-xyz",
      dmPolicy: "pairing",
      proxy: "http://proxy.local:8080",
    },
  },
}

Webhook mode

{
  channels: {
    zalo: {
      webhookUrl: "https://example.com/zalo-webhook",
      webhookSecret: "your-secret-8-plus-chars",
      webhookPath: "/zalo-webhook",
    },
  },
}

If webhookPath is omitted, the plugin uses the webhook URL path.

Restart the gateway after config changes.