openclaw/extensions/zalo
Peter Steinberger 185668f5c5 refactor: trim extension helper runtime seams 2026-03-28 02:12:05 +00:00
..
src refactor: trim extension helper runtime seams 2026-03-28 02:12:05 +00:00
CHANGELOG.md build: sync plugins for 2026.3.14 2026-03-14 06:05:39 +00:00
README.md chore: Run `pnpm format:fix`. 2026-01-31 21:13:13 +09:00
api.ts refactor: route channel contract tests through public barrels 2026-03-27 13:46:16 +00:00
index.ts refactor: clean extension api boundaries 2026-03-17 09:38:21 -07:00
openclaw.plugin.json chore: Run `pnpm format:fix`. 2026-01-31 21:13:13 +09:00
package-manifest.contract.test.ts refactor: move extension-owned tests to extensions 2026-03-27 21:37:09 +00:00
package.json chore: bump version metadata to 2026.3.27 2026-03-28 02:00:22 +00:00
runtime-api.ts fix(plugin-sdk): remove relative extension boundary escapes (#51939) 2026-03-21 20:03:18 -05:00
setup-entry.ts refactor: dedupe channel entrypoints and test bridges 2026-03-16 23:52:23 -07:00
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 ./extensions/zalo

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.