Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
87 lines
3.7 KiB
Markdown
87 lines
3.7 KiB
Markdown
---
|
|
summary: "Current integration path for external apps, scripts, dashboards, CI jobs, and IDE extensions"
|
|
title: "Gateway integrations for external apps"
|
|
sidebarTitle: "External apps"
|
|
read_when:
|
|
- 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.
|
|
|
|
<Warning>
|
|
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.
|
|
</Warning>
|
|
|
|
<Note>
|
|
This page is for code outside the OpenClaw process. Plugin code that runs
|
|
inside OpenClaw should use documented `openclaw/plugin-sdk/*` subpaths instead.
|
|
</Note>
|
|
|
|
## What is available today
|
|
|
|
| Surface | Status | Use it for |
|
|
| --------------------------------------- | ------ | --------------------------------------------------------------------------------------------- |
|
|
| [Gateway protocol](/gateway/protocol) | Ready | WebSocket transport, connect handshake, auth scopes, protocol versioning, and events. |
|
|
| [Gateway RPC reference](/reference/rpc) | Ready | Current Gateway methods for agents, sessions, tasks, models, tools, artifacts, and approvals. |
|
|
| [`openclaw agent`](/cli/agent) | Ready | One-shot script integration when shelling out to the CLI is enough. |
|
|
| [`openclaw message`](/cli/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.
|
|
|
|
## Recommended path
|
|
|
|
1. Run or discover a Gateway.
|
|
2. Connect over the [Gateway protocol](/gateway/protocol).
|
|
3. Call documented RPC methods from [Gateway RPC reference](/reference/rpc).
|
|
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.
|
|
|
|
## Related
|
|
|
|
- [Gateway protocol](/gateway/protocol)
|
|
- [Gateway RPC reference](/reference/rpc)
|
|
- [CLI agent command](/cli/agent)
|
|
- [CLI message command](/cli/message)
|
|
- [Agent loop](/concepts/agent-loop)
|
|
- [Agent runtimes](/concepts/agent-runtimes)
|
|
- [Sessions](/concepts/session)
|
|
- [Background tasks](/automation/tasks)
|
|
- [ACP agents](/tools/acp-agents)
|
|
- [Plugin SDK overview](/plugins/sdk-overview)
|