OpenClawBot avatar

OpenClawBot

Pricing

from $0.01 / 1,000 results

Go to Apify Store
OpenClawBot

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

HappiTap

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

19 days ago

Last modified

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 doctor via 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 FieldDescriptionRequired
apiKeyA password you make up to protect POST endpoints (any strong random string). Encrypted automatically.Recommended
anthropicApiKeyAnthropic API key for Claude models (get one here)Yes (or OpenAI)
openaiApiKeyOpenAI 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: apiKey is 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, uncheck requireApiKey in the input.

3. Start the Actor

Run the Actor with Standby mode enabled. On startup it will:

  1. Restore saved OpenClaw profile from KV Store
  2. Verify the OpenClaw CLI
  3. Start the OpenClaw Gateway (port 18789)
  4. Start the HTTP API server
  5. 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 check
curl "https://happitap--openclawbot.apify.actor/health?token=YOUR_APIFY_TOKEN"
# Talk to the AI agent
curl -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 message
curl -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

StateResponse TimeWhat Happens
Running~100-500msInstant response
Cold Start20-40 secondsContainer boots, gateway starts, profile restores
After IdleActor shuts downNext 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"
}
FieldTypeRequiredDescription
messagestringYesThe message to send to the agent
thinkingstringNoThinking level: none, low, medium, high (default: medium)
channelstringNoOptionally deliver the reply to a channel
targetstringNoTarget for channel delivery
accountstringNoOpenClaw 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:

ChannelTarget FormatExample
whatsappE.164 phone number+919876543210
telegram@username or chat ID@johndoe or -1001234567890
discordChannel/User ID123456789012345678
slackChannel name or ID#general or C01234ABCDE
signalPhone number+15551234567
imessagePhone/email+15551234567
msteamsChannel ID(Teams channel ID)
matrixRoom ID!roomid:server.com
googlechatSpace ID(Google Chat space)
webchatSession 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

FieldTypeDescription
modestring"standby" for HTTP API server
profileStoreKeystringKV key for profile archive (default: "OPENCLAW_PROFILE_TAR_GZ")

AI Model Settings

FieldTypeDescription
anthropicApiKeystringAnthropic API key (or use ANTHROPIC_API_KEY secret)
openaiApiKeystringOpenAI API key (or use OPENAI_API_KEY secret)
modelProviderstringProvider: anthropic, openai, openrouter, etc.
modelNamestringModel name: claude-sonnet-4-20250514, gpt-4o, etc.

Gateway & Server

FieldTypeDefaultDescription
gatewayPortnumber18789OpenClaw gateway port
gatewayHoststring"127.0.0.1"Gateway host binding
gatewayVerbosebooleanfalseVerbose gateway logging
idleTimeoutSecnumber180Idle shutdown timeout (0 = never)
enableDashboardProxybooleantrueExpose /dashboard and /webchat

Profile & Security

FieldTypeDefaultDescription
persistProfilebooleantrueSave profile to KV store
profileSaveIntervalSecnumber60Save interval in seconds
enableLocksbooleantruePer-channel mutex locks
allowlistChannelsarray["whatsapp","telegram","discord","slack","signal"]Allowed channels
maxMessageLengthnumber4000Max message length

Pricing (Pay-Per-Event)

EventPriceRate
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.1 only
  • 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

CodeDescription
INVALID_CHANNELChannel not supported or not in allowlist
INVALID_TARGETTarget format doesn't match channel requirements
INVALID_MESSAGEMessage empty or too long
INVALID_REQUESTMissing required fields
NOT_PAIREDChannel not paired (use /channels/pair first)
GATEWAY_DOWNOpenClaw gateway not reachable
GATEWAY_STARTINGGateway is still starting up
AGENT_ERRORAI agent failed to process the request
OPENCLAW_ERRORError from OpenClaw CLI
SKILL_NOT_FOUNDRequested skill not found
CONFIG_ERRORConfiguration error
INTERNAL_ERRORUnexpected server error

Troubleshooting

Gateway won't start

  • Minimum 2GB memory recommended (4GB+ for browser control)
  • Check logs for gateway startup errors
  • Run GET /doctor to diagnose issues

Agent not responding

  • Ensure ANTHROPIC_API_KEY or OPENAI_API_KEY is set
  • Check model provider configuration via GET /config?key=model
  • Agent requests have a 2-minute timeout

Channel pairing issues

  • Use POST /channels/pair with the correct channel name
  • For WhatsApp, use POST /whatsapp/pair for QR code support
  • Ensure persistProfile is true so 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 idleTimeoutSec to keep the actor running longer
  • Set idleTimeoutSec: 0 to disable auto-shutdown entirely

Reference Documentation


License: Apache-2.0 | Version: 2.0.0