openclaw/extensions/zalo
NIO 9b430fd6f6
fix(zalo): bound stalled inbound media header waits (#104578)
* fix(zalo): bound stalled inbound media header waits

* test(zalo): type inbound media mock to runtime contract

* test(zalo): return complete saved media metadata

---------

Co-authored-by: NIO <nocodet@mail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-11 12:59:58 -07:00
..
src fix(zalo): bound stalled inbound media header waits (#104578) 2026-07-11 12:59:58 -07:00
api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
channel-plugin-api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
contract-api.ts refactor(extensions): split channel contract sidecars 2026-06-10 13:05:24 +05:30
index.test.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
index.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
npm-shrinkwrap.json chore(release): set version to 2026.7.2 2026-07-11 04:00:49 +01:00
openclaw.plugin.json fix(plugins): remove simpleicons icon color paths (#95987) 2026-06-23 12:16:02 -07:00
package.json chore(release): set version to 2026.7.2 2026-07-11 04:00:49 +01:00
README.md
runtime-api.test.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
runtime-api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
secret-contract-api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
setup-api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
setup-entry.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
test-api.ts docs: document medium extension sources 2026-06-04 21:33:54 -04:00
tsconfig.json

@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.