OpenClawBot
Pricing
from $0.01 / 1,000 results
OpenClawBot
Your own personal AI assistant running in the cloud. No server setup, no maintenance — just deploy and go. Runs a full OpenClaw instance as a dedicated container. It provides the complete OpenClaw experience — AI agent, multi-channel messaging, browser control, skills, persistent memory
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

HappiTap
Actor stats
0
Bookmarked
5
Total users
1
Monthly active users
19 days ago
Last modified
Categories
Share
OpenClawBot - OpenClaw-as-a-Service
Your own personal AI assistant running in the cloud. No server setup, no maintenance — just deploy and go.
OpenClawBot is an Apify Actor that runs a full OpenClaw instance as a dedicated container. It provides the complete OpenClaw experience — AI agent, multi-channel messaging, browser control, skills, persistent memory — all accessible via a simple HTTP API.
Think of it as a managed OpenClaw server: instead of buying a Mac Mini or renting a VPS to run OpenClaw, you deploy this actor and get a fully functional OpenClaw instance that scales to zero when idle and wakes up on demand.
What is OpenClaw?
OpenClaw is an open-source personal AI assistant you normally self-host. It features:
- AI Agent powered by Anthropic Claude, OpenAI, or local models
- Multi-channel inbox — WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Microsoft Teams, Matrix, and more
- Browser control — browse the web, fill forms, extract data
- Full system access — run commands, read/write files (sandboxed in container)
- Skills & plugins — extend with community skills from ClawHub
- Persistent memory — remembers context across conversations
This actor packages all of that into a cloud-hosted container with an HTTP API on top.
What OpenClawBot Provides
- Full OpenClaw Gateway — The WebSocket control plane runs inside the container
- AI Agent endpoint — Talk to the AI agent via
POST /agent - 12+ messaging channels — WhatsApp, Telegram, Discord, Slack, Signal, iMessage, MS Teams, Matrix, Google Chat, Zalo, WebChat
- Skills management — Install, list, and remove skills via API
- Configuration API — Get/set any OpenClaw config remotely
- Diagnostics — Run
openclaw doctorvia API - Dashboard proxy — Access OpenClaw's Control UI and WebChat through the actor URL
- Browser control — Chromium pre-installed for OpenClaw's browser tool
- Persistent profile — Sessions, config, memory, and skills survive container restarts via Apify KV Store
- Auto-restart — Gateway auto-restarts on crash (up to 5 attempts)
- Idle shutdown — Shuts down after configurable idle period to save costs
Quick Start
1. Deploy to Apify
Deploy this Actor to your Apify account and enable Standby mode.
2. Configure the Actor Input
When you run the actor, fill in these fields in the Input tab:
| Input Field | Description | Required |
|---|---|---|
apiKey | A password you make up to protect POST endpoints (any strong random string). Encrypted automatically. | Recommended |
anthropicApiKey | Anthropic API key for Claude models (get one here) | Yes (or OpenAI) |
openaiApiKey | OpenAI API key for GPT models (get one here) | Yes (or Anthropic) |
All secret fields are encrypted by Apify — they won't appear in logs or be visible after saving.
Note:
apiKeyis NOT an OpenClaw key — it's a password you choose to add an extra auth layer on top of Apify's platform token. If you don't want it, uncheckrequireApiKeyin the input.
3. Start the Actor
Run the Actor with Standby mode enabled. On startup it will:
- Restore saved OpenClaw profile from KV Store
- Verify the OpenClaw CLI
- Start the OpenClaw Gateway (port 18789)
- Start the HTTP API server
- Begin periodic profile saving
4. Call the API
Authentication: Pass your Apify API token as a query parameter: ?token=YOUR_APIFY_TOKEN
You can find your token in Apify Console → Settings → API Tokens.
# Health checkcurl "https://happitap--openclawbot.apify.actor/health?token=YOUR_APIFY_TOKEN"# Talk to the AI agentcurl -X POST "https://happitap--openclawbot.apify.actor/agent?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"message": "What can you do?"}'# Send a Telegram messagecurl -X POST "https://happitap--openclawbot.apify.actor/send?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"channel": "telegram", "target": "@username", "message": "Hello!"}'
Your Standby URL base is
https://happitap--openclawbot.apify.actor
Standby Mode & Cold Starts
| State | Response Time | What Happens |
|---|---|---|
| Running | ~100-500ms | Instant response |
| Cold Start | 20-40 seconds | Container boots, gateway starts, profile restores |
| After Idle | Actor shuts down | Next request triggers cold start |
The idle timeout defaults to 3 minutes and is configurable via idleTimeoutSec. Set to 0 to disable auto-shutdown.
Keep-Alive: To avoid cold starts, ping /health every 2 minutes:
$*/2 * * * * curl -s "https://happitap--openclawbot.apify.actor/health?token=YOUR_APIFY_TOKEN" > /dev/null
API Endpoints
Core
GET /health
Health check — returns gateway status and uptime.
{"ok": true,"gateway": { "host": "127.0.0.1", "port": 18789, "reachable": true },"uptimeSec": 12345}
GET /status
Full OpenClaw status (runs openclaw status --all).
{ "ok": true, "statusText": "..." }
AI Agent
POST /agent
Send a message to the AI agent and get a response.
Request:
{"message": "Summarize my unread emails","thinking": "medium","channel": "telegram","target": "@myuser","account": "default"}
| Field | Type | Required | Description |
|---|---|---|---|
message | string | Yes | The message to send to the agent |
thinking | string | No | Thinking level: none, low, medium, high (default: medium) |
channel | string | No | Optionally deliver the reply to a channel |
target | string | No | Target for channel delivery |
account | string | No | OpenClaw account (default: default) |
Response:
{"ok": true,"reply": "Here's a summary of your unread emails...","exitCode": 0}
Messaging
POST /send
Send a text message to any supported channel.
Request:
{"channel": "whatsapp","target": "+919876543210","message": "Hello from OpenClawBot!","account": "default","options": { "replyTo": null, "threadId": null }}
Supported channels and target formats:
| Channel | Target Format | Example |
|---|---|---|
whatsapp | E.164 phone number | +919876543210 |
telegram | @username or chat ID | @johndoe or -1001234567890 |
discord | Channel/User ID | 123456789012345678 |
slack | Channel name or ID | #general or C01234ABCDE |
signal | Phone number | +15551234567 |
imessage | Phone/email | +15551234567 |
msteams | Channel ID | (Teams channel ID) |
matrix | Room ID | !roomid:server.com |
googlechat | Space ID | (Google Chat space) |
webchat | Session ID | (WebChat session) |
Response:
{"ok": true,"channel": "telegram","target": "@johndoe","sentAt": "2026-02-12T13:30:00.000Z","exitCode": 0,"stdout": "...","stderr": ""}
Channel Management
GET /channels
List all supported channels and their connection status.
{"ok": true,"supportedChannels": ["whatsapp", "telegram", "discord", "slack", "signal", "..."],"statusText": "...","gateway": { "running": true, "port": 18789, "uptimeSec": 300 }}
POST /channels/pair
Pair/connect any channel.
Request:
{"channel": "whatsapp","account": "default","config": {}}
POST /channels/configure
Configure a channel with credentials.
Request:
{"channel": "telegram","account": "default","config": { "bot-token": "123456:ABC-DEF..." }}
POST /whatsapp/pair (legacy)
WhatsApp-specific pairing with QR code support.
Request:
{ "format": "auto", "account": "default" }
Response:
{"ok": true,"account": "default","pairing": { "code": "ABCD-EFGH", "qrText": "..." },"qrPngBase64": "iVBORw0KGgo..."}
Skills
GET /skills
List installed skills.
POST /skills/install
Install a skill from ClawHub or a URL.
Request:
{ "name": "weather", "source": "clawhub" }
POST /skills/remove
Remove an installed skill.
Request:
{ "name": "weather" }
Configuration
GET /config
Get OpenClaw configuration. Optionally filter by key: GET /config?key=model.provider.
POST /config
Set a configuration value.
Request:
{ "key": "model.provider", "value": "anthropic" }
Diagnostics
GET /doctor
Run openclaw doctor — checks configuration, channel health, and surfaces issues.
{"ok": true,"report": "...","issues": ["..."],"exitCode": 0}
Dashboard & WebChat
GET /dashboard/*
Proxies requests to OpenClaw's built-in Control UI. Access the full dashboard at:
https://happitap--openclawbot.apify.actor/dashboard?token=YOUR_APIFY_TOKEN
GET /webchat/*
Proxies requests to OpenClaw's WebChat interface.
Input Configuration
Required
| Field | Type | Description |
|---|---|---|
mode | string | "standby" for HTTP API server |
profileStoreKey | string | KV key for profile archive (default: "OPENCLAW_PROFILE_TAR_GZ") |
AI Model Settings
| Field | Type | Description |
|---|---|---|
anthropicApiKey | string | Anthropic API key (or use ANTHROPIC_API_KEY secret) |
openaiApiKey | string | OpenAI API key (or use OPENAI_API_KEY secret) |
modelProvider | string | Provider: anthropic, openai, openrouter, etc. |
modelName | string | Model name: claude-sonnet-4-20250514, gpt-4o, etc. |
Gateway & Server
| Field | Type | Default | Description |
|---|---|---|---|
gatewayPort | number | 18789 | OpenClaw gateway port |
gatewayHost | string | "127.0.0.1" | Gateway host binding |
gatewayVerbose | boolean | false | Verbose gateway logging |
idleTimeoutSec | number | 180 | Idle shutdown timeout (0 = never) |
enableDashboardProxy | boolean | true | Expose /dashboard and /webchat |
Profile & Security
| Field | Type | Default | Description |
|---|---|---|---|
persistProfile | boolean | true | Save profile to KV store |
profileSaveIntervalSec | number | 60 | Save interval in seconds |
enableLocks | boolean | true | Per-channel mutex locks |
allowlistChannels | array | ["whatsapp","telegram","discord","slack","signal"] | Allowed channels |
maxMessageLength | number | 4000 | Max message length |
Pricing (Pay-Per-Event)
| Event | Price | Rate |
|---|---|---|
agent-request | $0.005 | $5 per 1,000 agent requests |
whatsapp-message-sent | $0.0015 | $1.50 per 1,000 messages |
telegram-message-sent | $0.0008 | $0.80 per 1,000 messages |
discord-message-sent | $0.0008 | $0.80 per 1,000 messages |
slack-message-sent | $0.0008 | $0.80 per 1,000 messages |
signal-message-sent | $0.0008 | $0.80 per 1,000 messages |
channel-pair | $0.005 | $5 per 1,000 pairings |
skill-install | $0.001 | $1 per 1,000 installs |
profile-save | $0.0001 | $0.10 per 1,000 saves |
status-check | $0.0001 | $0.10 per 1,000 checks |
Security
- Apify Platform Auth — All requests require Apify API token (
?token=) - Localhost Gateway — OpenClaw gateway binds to
127.0.0.1only - No Secret Logging — Bot tokens, phone numbers, and session data are redacted from logs
- Profile Persistence — Stored in private Apify Key-Value Store
- Sandboxed Execution — Runs inside an isolated Docker container
Architecture
┌──────────────────────────────────────────────────────────────────┐│ Apify Container ││ ││ ┌──────────────────┐ ┌────────────────────────────────┐ ││ │ Express API │ │ OpenClaw Gateway │ ││ │ (Standby Port) │────►│ ws://127.0.0.1:18789 │ ││ │ │ │ - Control plane │ ││ │ /health │ │ - Channel connections │ ││ │ /agent │ │ - Session management │ ││ │ /send │ │ - WebChat & Dashboard UI │ ││ │ /channels/* │ └──────────┬─────────────────────┘ ││ │ /skills/* │ │ ││ │ /config │ ┌──────────▼─────────────────────┐ ││ │ /doctor │ │ OpenClaw CLI + Agent │ ││ │ /dashboard/* │ │ - AI reasoning (Claude/GPT) │ ││ │ /webchat/* │ │ - Browser control (Chromium) │ ││ └────────┬─────────┘ │ - Skills execution │ ││ │ │ - File system access │ ││ ▼ └──────────┬─────────────────────┘ ││ ┌─────────────────────────────────────────────────────────┐ ││ │ Apify Key-Value Store │ ││ │ (Profile: sessions, config, memory, skills) │ ││ └─────────────────────────────────────────────────────────┘ │└──────────────────────────────────────────────────────────────────┘│▼┌────────────────────────────────────────────────────────────┐│ External Services ││ ││ WhatsApp │ Telegram │ Discord │ Slack │ Signal │ iMessage ││ MS Teams │ Matrix │ Google Chat │ Zalo │ WebChat ││ ││ Anthropic (Claude) │ OpenAI (GPT) │ Local Models │└────────────────────────────────────────────────────────────┘
Error Codes
| Code | Description |
|---|---|
INVALID_CHANNEL | Channel not supported or not in allowlist |
INVALID_TARGET | Target format doesn't match channel requirements |
INVALID_MESSAGE | Message empty or too long |
INVALID_REQUEST | Missing required fields |
NOT_PAIRED | Channel not paired (use /channels/pair first) |
GATEWAY_DOWN | OpenClaw gateway not reachable |
GATEWAY_STARTING | Gateway is still starting up |
AGENT_ERROR | AI agent failed to process the request |
OPENCLAW_ERROR | Error from OpenClaw CLI |
SKILL_NOT_FOUND | Requested skill not found |
CONFIG_ERROR | Configuration error |
INTERNAL_ERROR | Unexpected server error |
Troubleshooting
Gateway won't start
- Minimum 2GB memory recommended (4GB+ for browser control)
- Check logs for gateway startup errors
- Run
GET /doctorto diagnose issues
Agent not responding
- Ensure
ANTHROPIC_API_KEYorOPENAI_API_KEYis set - Check model provider configuration via
GET /config?key=model - Agent requests have a 2-minute timeout
Channel pairing issues
- Use
POST /channels/pairwith the correct channel name - For WhatsApp, use
POST /whatsapp/pairfor QR code support - Ensure
persistProfileistrueso pairing survives restarts - Profile saves every 60s by default and immediately after pairing
Messages not sending
- Verify target format matches channel requirements
- Check channel is paired:
GET /channels - For Telegram/Discord, ensure bot tokens are configured via
/channels/configure
Cold start too slow
- Use keep-alive pings every 2 minutes
- Increase
idleTimeoutSecto keep the actor running longer - Set
idleTimeoutSec: 0to disable auto-shutdown entirely
Reference Documentation
- OpenClaw Documentation
- OpenClaw GitHub
- OpenClaw Getting Started
- ClawHub Skills
- Apify Standby Mode
- Apify Key-Value Store
License: Apache-2.0 | Version: 2.0.0