Skip to main content
HowOpenClawv2026.3.24

Key Concepts

One-line definitions for every term OpenClaw uses.

Quick reference. Terms are listed in the order you'll encounter them.

┌─────────────────────────────────────────────────────┐
│                    Gateway                          │
│              (port 18789, always on)                │
│                                                     │
│  ┌──────────────┐      ┌──────────────────────────┐ │
│  │   Channels   │      │         Agent            │ │
│  │              │◄────►│  SOUL.md + USER.md +     │ │
│  │  Telegram    │      │  MEMORY.md + AI model    │ │
│  │  Slack       │      │                          │ │
│  │  WhatsApp    │      │  ┌────────┐ ┌─────────┐  │ │
│  │  iMessage    │      │  │ Skills │ │  Tools  │  │ │
│  │  WebChat...  │      │  └────────┘ └─────────┘  │ │
│  └──────────────┘      └──────────────────────────┘ │
│                                                     │
│  ┌──────────────────────────────────────────────┐   │
│  │  Cron Jobs  (run on schedule, no user input) │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────┘

Core components

Gateway — The central process that runs on your machine. An HTTP + WebSocket server listening on port 18789. Manages all channels, runs automations, routes messages to your AI provider, hosts canvas interfaces, serves OpenAI-compatible API endpoints (/v1/models, /v1/chat/completions, /v1/responses, /v1/embeddings), and handles device pairing. Explicit model overrides are forwarded through /v1/chat/completions and /v1/responses for broader client and RAG compatibility. Everything flows through the Gateway.

In practice: When you send a message on Telegram, it arrives at the Gateway first. The Gateway routes it to your AI model and sends the response back.

Agent — Your configured AI assistant. The combination of Gateway + your SOUL.md + your AI provider model. The "agent" is not a separate process — it's the Gateway acting under your configuration.

In practice: The same Claude model gives wildly different results depending on your SOUL.md. The "agent" is the model shaped by your config.

Channel — A messaging platform your agent can send and receive messages through. Telegram, WhatsApp, Slack, Discord, iMessage, email, and WebChat are all channels.

In practice: You might read replies in Telegram but send daily alerts to Slack — same agent, two channels.

Skill — A purpose-built integration for a specific service (Gmail, Calendar, GitHub, etc.). Gives your agent structured access to that service's API. Installed from ClawHub or configured manually. Bundled skills (coding-agent, gh-issues, openai-whisper-api, session-logs, tmux, trello, weather) include one-click install recipes so the CLI and Control UI can offer dependency installation when requirements are missing.

In practice: Add the Gmail skill and your agent can read, send, and search your email on demand.

Tool — A general-purpose built-in capability. web_fetch, web_search, read, write, edit, apply_patch, and exec are core tools. Additional tools include browser, message, canvas, nodes, cron, gateway, image, image_generate, sessions_*, and agents_list. Tools are organized into profiles (full, coding, messaging, minimal) and can be grouped for easier management. Enabled in config, not installed separately. The /tools endpoint and openclaw tools list show only the tools the current agent can actually use right now.

In practice: web_search lets your agent look up current information; exec lets it run shell commands on your machine.


Config files

openclaw.json — Main configuration file at ~/.openclaw/openclaw.json. Contains provider config, channel config, tools, skills, and automations.

SOUL.md — Plain text file at ~/.openclaw/SOUL.md. Defines your agent's personality, communication style, and behavioral rules. Read every session.

In practice: "Always respond in under 3 sentences unless I ask for more" goes here.

USER.md — Plain text file at ~/.openclaw/USER.md. Describes you — your role, projects, preferences. Read every session.

MEMORY.md — Growing file at ~/.openclaw/workspace/MEMORY.md. Accumulates notes from past sessions. Your agent reads it at startup and can write to it during sessions.

In practice: After you tell your agent you're working on a new project, it writes a note to MEMORY.md so it remembers next session.

HEARTBEAT.md — Standing instructions at ~/.openclaw/workspace/HEARTBEAT.md. Things your agent should always track or be aware of. Unlike MEMORY.md, it's curated and doesn't grow automatically.

MESSAGING.md — Routing rules at ~/.openclaw/MESSAGING.md. Defines which content goes to which channel and cross-channel identity mapping.


Messaging concepts

DM policy — Controls who can send direct messages to your agent on a channel. Options: pairing (approve on first contact), allowlist (explicit user IDs only), open (anyone), disabled.

In practice: Use pairing when sharing your agent with someone new; use allowlist once you know the user IDs.

Pairing — The process of approving a new user on a pairing DM policy channel. The user sends /start, you run openclaw channels pair and approve.

Allowlist — An explicit list of user IDs permitted to message the agent. More secure than pairing for long-term setups.

Session — A single conversation thread. The agent maintains context within a session. MEMORY.md persists context across sessions.


Automation concepts

Automation — A scheduled task. Defined with a cron schedule, a prompt, and a target channel. Runs automatically without user input.

In practice: "Every morning at 7am, send me a weather + email summary" is a single automation — no user trigger needed.

Cron schedule — A 5-field expression defining when an automation runs: minute hour day month weekday. Example: 0 7 * * 1-5 = 7am on weekdays. Test expressions at crontab.guru.

Hook — A command that runs in response to an event. session_end hook runs after each conversation. Used for automatic memory writes and post-session summaries. The before_dispatch hook fires before message dispatch with canonical inbound metadata, and routes handled replies through the normal final-delivery path (preserving TTS and routed delivery semantics).

In practice: A session_end hook that writes key decisions to MEMORY.md runs automatically every time you finish a conversation. A before_dispatch hook can inspect or transform inbound messages before the agent processes them.

Sub-agent — A separate agent instance your main agent can delegate tasks to. Useful for parallel research, specialized roles, or isolating tool permissions.


Technical terms

WebChat — The built-in browser interface at http://localhost:18789. Always available when the Gateway is running. No setup required. Open it with openclaw dashboard.

Socket Mode — Slack's connection method that uses a persistent WebSocket instead of requiring a public webhook URL. OpenClaw uses this for Slack integration.

Talk Mode — Voice interface for OpenClaw. Uses Deepgram (or Whisper as a fallback) for speech-to-text (STT) and ElevenLabs or system TTS for text-to-speech. Implemented as a plugin-based voice feature, activated with a wake key or wake word.

Daemon — A background process that starts automatically on boot. OpenClaw can install itself as a daemon so the Gateway is always running without manual start.

ClawHub — The community skill directory at clawhub.ai. Browse and install skills for specific services.

Workspace — The directory at ~/.openclaw/workspace/. The agent's read/write sandbox. MEMORY.md, task files, and any files the agent creates live here.