Files
openclaw/docs/gateway/external-apps.md
Peter Steinberger f7d7148cf0 docs: rewrite published docs grounded in current source (#100142)
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.

Closes #100141
2026-07-05 00:32:47 -04:00

3.7 KiB

summary, title, sidebarTitle, read_when
summary title sidebarTitle read_when
Current integration path for external apps, scripts, dashboards, CI jobs, and IDE extensions Gateway integrations for external apps External apps
You are building an external app, script, dashboard, CI job, or IDE extension that talks to OpenClaw
You are choosing between Gateway RPC and the Plugin SDK
You are integrating with Gateway agent runs, sessions, events, approvals, models, or tools

External apps talk to OpenClaw through the Gateway protocol: WebSocket transport plus RPC methods. Use it when a script, dashboard, CI job, IDE extension, or another process wants to start agent runs, stream events, wait for results, cancel work, or inspect Gateway resources.

There is no public npm client package yet. Do not add OpenClaw client package names as application dependencies until release notes announce a published package and this page includes install instructions. This page is for code outside the OpenClaw process. Plugin code that runs inside OpenClaw should use documented `openclaw/plugin-sdk/*` subpaths instead.

What is available today

Surface Status Use it for
Gateway protocol Ready WebSocket transport, connect handshake, auth scopes, protocol versioning, and events.
Gateway RPC reference Ready Current Gateway methods for agents, sessions, tasks, models, tools, artifacts, and approvals.
openclaw agent Ready One-shot script integration when shelling out to the CLI is enough.
openclaw message Ready Sending messages or channel actions from scripts.

A future client library package is in progress internally, but it is not a public install surface yet. Treat it as preview implementation detail until a release announces a published, versioned package.

  1. Run or discover a Gateway.
  2. Connect over the Gateway protocol.
  3. Call documented RPC methods from Gateway RPC reference.
  4. Pin the OpenClaw version you test against.
  5. Recheck the RPC reference when upgrading OpenClaw.

For agent runs, start with the agent RPC and pair it with agent.wait for a terminal result. For durable conversation state, use the sessions.* methods. For UI integrations, subscribe to Gateway events and render only the event families your app understands.

App code vs plugin code

Use Gateway RPC when code lives outside OpenClaw:

  • Node scripts that start or observe agent runs
  • CI jobs that call a Gateway
  • dashboards and admin panels
  • IDE extensions
  • external bridges that do not need to become channel plugins
  • integration tests with fake or real Gateway transports

Use the Plugin SDK when code runs inside OpenClaw:

  • provider plugins
  • channel plugins
  • tool or lifecycle hooks
  • agent harness plugins
  • trusted runtime helpers

External apps should not import openclaw/plugin-sdk/*; those subpaths are for plugins loaded by OpenClaw.