Gateway architecture
OpenClaw runs as a persistent process with a WebSocket control plane on port 18789. The gateway:- Maintains long-lived connections to messaging platforms (Discord, Telegram, Slack).
- Receives incoming messages and routes them to the appropriate agent.
- Sends inference requests to the configured AI provider.
- Returns responses through the originating channel.
Multi-channel support
OpenClaw connects to multiple messaging platforms simultaneously from a single instance. On Operator, the supported channels are:- Discord — Bot accounts via the Discord Gateway API. Users DM the bot directly.
- Telegram — Bot accounts via the Telegram Bot API. Users chat with the bot in private messages.
- Slack — App accounts via Socket Mode. Users DM the bot in their workspace.
Multi-agent routing
A single OpenClaw instance can run multiple agents. Each agent has its own:- Persona — System prompt, name, and behavior configuration.
- Channel bindings — Which channels the agent responds on.
- Skills — Which tools and capabilities the agent can use.
- Context — Conversation history and memory.
Skills system
Skills extend what your assistant can do beyond conversation. OpenClaw has four skill sources:- Bundled skills — Built into OpenClaw. Basic capabilities like conversation memory, context management, and message formatting.
- Managed skills — Maintained by the OpenClaw project. Installable via the dashboard (e.g., web search, code execution, file handling).
- Workspace skills — Custom skills you define in your instance’s workspace. Stored in the instance’s Azure Files volume.
- ClawHub registry — Community-contributed skills you can browse and install.
Configuration
OpenClaw instances are configured viaopenclaw.json. This file defines:
- Agents and their personas
- Channel connections and tokens
- Enabled skills per agent
- Provider settings (auto-configured on Operator)
openclaw.json directly. The dashboard generates and syncs the configuration to your instance’s Azure Files volume. When configuration changes, the container restarts automatically to pick up the new settings.
How Operator runs OpenClaw
When you create an instance on Operator:- Operator provisions an Azure Container App with the latest OpenClaw image.
- An API key and operator provider configuration are injected into the container.
- The operator provider points to Spider for AI inference — no external API keys needed.
- Configuration from the dashboard is written to Azure Files and mounted into the container.
- The OpenClaw process starts and connects to your configured channels.