OpenClaw is an AI agent platform that lets you build, deploy, and manage custom agents for any business domain — delivered straight to Telegram, Discord, or WhatsApp.
An agent is an AI-powered bot that lives in your messaging app of choice. You define its domain of expertise — Legal, HR, Real Estate, or any other field — and it becomes a specialist for that area. It can answer questions, execute tasks, generate reports, send proactive alerts, and deliver PDFs, all without you opening a browser.
Every agent runs in its own isolated container on AWS ECS. It maintains conversation history, understands context across messages, and stays strictly within the domain you defined.
| Concept | Description |
|---|---|
| Agent | A domain-specialized AI bot deployed in a container and connected to a messaging platform. |
| Skill | A capability given to an agent — auto-generated, imported from the library, or custom-built. |
| Channel | A messaging platform connection (Telegram, Discord, WhatsApp) attached to an agent. |
| MCP Server | A Model Context Protocol server that extends an agent's reach to external tools and APIs. |
| BYOK | Bring Your Own Key — connect your own API key so your agent uses your AI credits directly. |
| Memory | The chat history an agent holds per conversation, used as context for future messages. |
From zero to a running agent in under 2 minutes.
Once your agent is live, open your messaging app and send:
An agent is the core unit of OpenClaw. Each agent is scoped to a domain, equipped with skills, and deployed as an isolated container. It connects to one or more messaging platforms and responds to commands and natural language.
From the dashboard, click New Agent. You'll configure:
| Field | Description | Required |
|---|---|---|
| Name | A display name for this agent (e.g. "Legal Researcher"). | Yes |
| System Prompt | The personality, tone, and specific instructions for this agent. | Yes |
| Domain | The business field this agent specializes in. Enforced at runtime. | Yes |
| Platform | Telegram, Discord, or WhatsApp. Can add more later from Channels. | Yes |
| Bot Token / QR | Platform-specific credentials for the messaging integration. | Yes |
Every agent has a domain preamble prepended to its system prompt at runtime. This preamble instructs the agent to refuse any question outside its designated field and redirect the user appropriately. You cannot remove this boundary — it ensures your Legal agent never drifts into medical advice, and your HR agent never handles finance queries.
| Status | Meaning |
|---|---|
| active | Container is running and the agent is accepting messages. |
| starting | Container is spinning up. Usually resolves within 30–60 seconds. |
| stopped | Container has been manually stopped. No messages will be processed. |
| error | The container exited unexpectedly. OpenClaw will attempt an automatic restart. |
| Plan | Active Agents |
|---|---|
| Tier A | Up to 5 |
| Tier B | Up to 10 |
| Tier C | Up to 15 |
A background cron job runs continuously to check all active agents. If a container has stopped unexpectedly, OpenClaw automatically relaunches it and logs the recovery event in the activity log. You'll see an entry like auto_restart in the agent timeline.
Skills are the capabilities you give an agent. They tell the agent what it knows how to do, how to structure its outputs, and which tools or workflows to invoke when asked.
When you create a new agent, OpenClaw automatically generates a curated skill set based on the domain you selected. A Legal agent ships with contract review, case research, and memo drafting. An HR agent ships with resume screening, interview scheduling, and onboarding checklists. You get a working agent out of the box — no configuration needed.
From the agent's Skills tab in the dashboard, you can browse and import pre-built skills:
For skills that don't exist in the library, write them yourself in plain language. Define:
Once saved, the agent learns this skill and will invoke it whenever the trigger context matches.
Skills are scoped to their agent's domain. A skill defined on a Legal agent cannot be invoked by an HR agent. This boundary-checking happens at the execution layer, ensuring responses stay accurate and never bleed across agent contexts.
Model Context Protocol (MCP) lets your agents reach outside their context window and interact with external tools, services, and APIs. An MCP server exposes a set of callable tools that your agent can invoke during a conversation.
| Transport | Use case | Example |
|---|---|---|
| stdio | Run a local process. Used for CLI tools and Node/Python packages. | npx @notionhq/notion-mcp-server |
| http | Connect to a remote HTTP endpoint. Used for hosted MCP services. | https://mcp.example.com/api |
For security, only the following runtimes are permitted for stdio MCP servers:
| Service | Transport | What it enables |
|---|---|---|
| Notion | HTTP | Read and write Notion pages, databases, and blocks. |
| Google Calendar | HTTP | Create events, check availability, send invites. |
| GitHub | stdio (npx) | Search repos, read files, open issues and PRs. |
| Filesystem | stdio (node) | Read and write files on the agent's EFS volume. |
From the agent's MCP Servers tab:
When your agent receives a message, it evaluates whether any registered MCP tools are relevant to the request. If so, it calls those tools in a loop, collects their outputs, and incorporates the results into its response before replying to the user. The entire tool loop is transparent — the user just gets the final answer.
Your agents live where your team already is. OpenClaw supports three messaging platforms. Each is configured separately and can be added to any agent at any time from the Channels tab.
One agent can be connected to multiple platforms simultaneously. For example, your Legal agent can serve your team on Telegram and also receive queries from a Discord server. Each channel maintains its own independent conversation context per chat ID.
BYOK (Bring Your Own Key) means you connect your own AI provider API key to your OpenClaw agents. Your agents use your key directly — no markup, no token limits imposed by OpenClaw. You pay your AI provider at their standard rates.
OpenClaw agents are currently powered by Google Gemini 2.5 Flash — optimised for real-time, high-throughput responses with a large context window. Support for additional providers (OpenAI, Anthropic) is on the roadmap.
Add your API key during agent creation or from Settings → API Keys. The key is encrypted at rest and injected into your agent's environment at runtime. It is never logged or exposed in the dashboard.
Every agent maintains a conversation history per chat session. When you send a message, your agent has full access to the last 20 exchanges — giving it the context to give coherent, relevant responses without you repeating yourself.
A session is scoped to a chatId — the unique identifier of a conversation thread on the messaging platform. Telegram private chats, group chats, Discord channels, and WhatsApp conversations each get their own independent session. Sessions are persistent across agent restarts.
| Metric | Value |
|---|---|
| Messages kept per session | Last 20 messages (10 exchanges) |
| History storage | PostgreSQL, scoped per agent + chatId |
| Session persistence | Survives agent restarts and container relaunches |
| Token estimation | Visible in Dashboard → Agent → Memory tab |
From the agent's Memory tab in the dashboard, you can view all active sessions with message counts and estimated token usage. You can clear all history for the agent with one click — this wipes all sessions and the agent starts fresh on the next message.
Any agent can generate a professionally formatted PDF and deliver it directly in your chat. No third-party tools, no browser — just ask.
Include any of these phrases in your message and your agent will respond with a PDF:
| Element | Description |
|---|---|
| Title | Extracted from the content request. |
| Author | Set to the agent's domain (e.g. "Legal Agent"). |
| Sections | Parsed from Markdown headings (## and ###). |
| Body text | Formatted with proper line spacing and wrapping. |
| Bold text | Rendered from **bold** Markdown syntax. |
| Lists | Bullet points from Markdown - syntax. |
| Multi-page | Automatic page breaks for long documents. |
| Footer | Agent type label on each page. |
The PDF is delivered as a file attachment directly in the chat. On Telegram, it appears as a document you can save or forward. On Discord and WhatsApp, it appears as a downloadable file attachment.
The OpenClaw dashboard is your control plane. Everything about your agents — configuration, channels, skills, memory, logs, and billing — lives here.
The main overview screen shows all your deployed agents with their current status, domain, and connected platforms. From here you can start, stop, or delete any agent, and create new ones.
| Tab | What you can do |
|---|---|
| Overview | View agent info, start/stop the container, see the system prompt. |
| Channels | Add, configure, or remove messaging platform connections. |
| Skills | View auto-generated skills, import from library, or build custom skills. |
| MCP Servers | Add, enable/disable, or remove Model Context Protocol servers. |
| Memory | View session stats, estimated token usage, and clear chat history. |
| Activity Log | Full timestamped event history: starts, stops, errors, restarts, channel events. |
Under Settings you can update your profile, change your password, manage API keys, and delete your account.
Under Settings → Billing you can view your current plan, manage payment methods, update your card, and cancel or resume your subscription. Billing is handled by Stripe — your card details are never stored on OpenClaw servers.
OpenClaw charges per agent per month. No flat platform fee. You only pay for the agents you have running — scale up or down at any time.
| Item | Detail |
|---|---|
| Billing cycle | Monthly. Charged on the same day each month. |
| Per-agent pricing | Each active agent is billed at the tier rate. Paused agents are not billed. |
| Free trial | 15 days free on the first agent. No credit card required. |
| Cancellation | Cancel anytime from Settings → Billing. Agents run until end of period. |
| Payment processor | Stripe. Card details are never stored on OpenClaw servers. |
| BYOK costs | Your AI API usage is billed directly by your provider — separate from OpenClaw. |
Every agent runs in its own dedicated AWS ECS Fargate container. Your agent's data, credentials, and conversation history never share memory or storage with any other user's agent. Container boundaries are enforced at the infrastructure level.
| Data type | Storage | Encryption |
|---|---|---|
| User accounts & profiles | PostgreSQL (RDS) | TLS in transit, AES-256 at rest |
| Agent configuration | PostgreSQL (RDS) | TLS in transit, AES-256 at rest |
| Conversation history | PostgreSQL (RDS) | TLS in transit, AES-256 at rest |
| WhatsApp credentials | EFS (per-agent volume) | Mounted exclusively to agent container |
| Bot tokens | PostgreSQL (encrypted field) | Never exposed in API responses |
| API keys (BYOK) | Environment variable injection | Never logged or stored in plaintext |
| Payment info | Stripe (external) | PCI DSS compliant — not stored on OpenClaw |
All traffic between clients, the Next.js server, and external services uses HTTPS/TLS. Telegram webhooks are validated using a per-agent secret token. Internal service-to-service calls (ECS to Next.js) use a GATEWAY_TOKEN shared secret.
Agent system prompts include a hard-coded boundary preamble that cannot be overridden by user messages. This prevents agents from being repurposed outside their declared domain and blocks prompt injection attempts at the model instruction level.
You can delete your account and all associated data at any time from Settings → Account. This removes your profile, all agents, all conversation history, and all billing records from our systems within 30 days.
OpenClaw has a global service kill-switch accessible to platform administrators. When enabled, all agent message processing stops immediately — no tokens are consumed and no responses are sent. This is used only in exceptional operational circumstances.