OpenClaw Integration

AgentCall + OpenClaw

Give your OpenClaw agents real phone numbers for SMS verification, OTP extraction, and voice calls. Set two environment variables, restart OpenClaw, and your agent auto-discovers all 17 tools — no JSON editing needed.

Quick Start

1. Get your API key

Sign up at agentcall.co/sign-up and copy your API key from the dashboard. It looks like ac_live_xxxxxxxxxxxxx

2. Connect AgentCall to OpenClaw

Paste your API key below and pick a setup method. Environment variables are the simplest — your agent auto-discovers all endpoints.

Enter your API key above to get a ready-to-copy config — or copy the placeholder and replace it later.

Environment Variables (Recommended)

Add these two environment variables to your OpenClaw server. Your agent auto-discovers all endpoints — no JSON config needed.

Environment variables
AGENTCALL_API_KEY=ac_live_xxxxxxxxxxxxx
AGENTCALL_API_URL=https://api.agentcall.co

Restart OpenClaw after adding the variables. Your agent will automatically find the API and all 17 tools.

MCP Config (Claude Desktop, Cursor, etc.)

For MCP clients that support streamable HTTP transport. OpenClaw native MCP support is coming soon.

Paste inside "mcpServers"
"agentcall": {
  "transport": "streamable-http",
  "url": "https://api.agentcall.co/mcp",
  "headers": {
    "Authorization": "Bearer ac_live_xxxxxxxxxxxxx"
  }
}

Local (Advanced)

Run the MCP server locally via npx. Requires Node.js on the host.

~/.openclaw/openclaw.json
{
  "mcpServers": {
    "agentcall": {
      "command": "npx",
      "args": [
        "-y",
        "@agentcall/mcp-server"
      ],
      "env": {
        "AGENTCALL_API_KEY": "ac_live_xxxxxxxxxxxxx"
      }
    }
  }
}

Then restart the gateway:

Terminal
openclaw gateway restart

3. Talk to your agent

That's it — no system prompt needed. When your agent sees the AGENTCALL_API_URL environment variable, it hits the base URL and gets a complete map of all endpoints, auth format, and documentation link. Just message your agent:

Example messages
"Get me a US phone number"
"Send a text to +15551234567 saying hello"
"Check if I got any verification codes"
"How much have I spent this month?"

How It Works

Once you set the environment variables and restart OpenClaw, your agent auto-discovers the AgentCall API. No manual JSON editing — just env vars and go.

1
Set env vars

Add AGENTCALL_API_KEY and AGENTCALL_API_URL to your OpenClaw server

2
Restart OpenClaw

The agent picks up the new environment variables on next start

3
Auto-discovery

Agent hits the API base URL and gets a complete endpoint map with auth format and docs

4
Ready

The agent now knows how to provision numbers, send SMS, make calls, wait for OTP, and more

5
You talk naturally

Say "text +15551234567 that the meeting moved to 3pm" and the agent picks the right endpoint automatically

Important: Restart after adding env vars

Environment variables are read at startup. Run openclaw gateway restart or restart your Hostinger VPS after adding the variables.

ClawHub Skill

AgentCall is also available as a skill on ClawHub, the OpenClaw skill marketplace. If your OpenClaw version supports ClawHub, you can install it directly:

Tell your agent
"Install the agentcall skill from ClawHub"

The ClawHub skill teaches your agent all 17 AgentCall endpoints at startup. This works alongside the environment variable approach — use whichever is easier for your setup.

Using It

Once connected, just talk to your OpenClaw agent in plain English. It will pick the right AgentCall tool automatically.

Get me a US phone numberprovision_number
Text +15551234567 that the package arrivedsend_sms
Check if I got any verification codeswait_for_otp
Call +15559876543 and let it ringinitiate_call
Show me my SMS inboxget_inbox
How much have I spent this month?get_usage
Release that number, I’m done with itrelease_number

You don't need to know tool names — the agent maps your request to the right tool based on what you ask.

Tool Reference — 17 tools

Phone Numbers

provision_numberProvision a new phone numbertype (local/tollfree/mobile/sim), country?, label?
list_numbersList all provisioned numberslimit?, country?, type?
get_numberGet details of a specific numbernumberId
release_numberRelease a phone numbernumberId

SMS

send_smsSend an SMS messagefrom, to, body
get_inboxGet inbound messages for a numbernumberId, limit?, otpOnly?
get_messageGet a specific messagemessageId
wait_for_otpWait for an OTP code to arrivenumberId, timeout?

Voice Calls

initiate_callStart an outbound phone callfrom, to, record?
list_callsList call historylimit?
get_callGet details of a specific callcallId
hangup_callTerminate an active callcallId

Webhooks

create_webhookRegister a webhook endpointurl, events[]
list_webhooksList registered webhooksnone
rotate_webhook_secretRotate the signing secret for a webhookwebhookId
delete_webhookDeactivate and remove a webhookwebhookId

Usage & Billing

get_usageGet usage and cost breakdown for a billing periodperiod?

Example Workflows

Heartbeat Test

Create this as a task file your OpenClaw agent can execute to verify the integration works end-to-end:

HEARTBEAT.md
# Task: Phone Verification Heartbeat

## Objective
Provision an AgentCall number, verify it can receive SMS, and clean up.

## Steps

1. **Provision a number**
   - Call `provision_number` with type "local" and country "US"
   - Save the number ID and phone number from the response

2. **Send a test SMS**
   - Call `send_sms` with:
     - from: the number you just provisioned
     - to: the same number (self-send for testing)
     - body: "Heartbeat test 12345"

3. **Check the inbox**
   - Call `get_inbox` with the number ID
   - Verify the test message appears

4. **Wait for OTP (simulated)**
   - Call `wait_for_otp` with the number ID and timeout 10000
   - This demonstrates the polling behavior
   - A null result is expected if no external service sent an OTP

5. **Check usage**
   - Call `get_usage` to verify the SMS was tracked

6. **Clean up**
   - Call `release_number` with the number ID
   - Confirm the number was released

## Success criteria
- Number provisioned successfully (got a num_ ID back)
- SMS sent without errors
- Inbox returned messages
- Number released successfully
- No errors in any step

Automated Signup with Phone Verification

Here's how an OpenClaw agent handles a website signup that requires phone verification — fully autonomously:

1Navigate to example.com/signup
2Fill in name, email, password
3Reach "Enter your phone number" field
4Call provision_number → gets +12125551234
5Enter +12125551234 into the phone field
6Click "Send verification code"
7Call wait_for_otp → gets “847291”
8Enter 847291 into the verification field
9Click “Verify” → account created
10Call release_number to clean up

The entire flow takes ~15 seconds and costs ~$0.02.

Troubleshooting

Error: “AgentCall API key required”

The API can't find your key. Fix:

  • Check that AGENTCALL_API_KEY is set in your environment
  • Verify the key starts with ac_live_
  • Restart OpenClaw after adding the variable

Error: “plan_limit” (403)

You've hit a plan limit. Common causes:

  • Free plan: max 1 phone number, 50 SMS/month, 10 call minutes/month
  • Provisioning SIM numbers: SIM type requires a Pro plan
  • Recording calls: requires Pro plan

Fix: Upgrade to Pro at agentcall.co/dashboard, or use release_number to free up your number slot before provisioning a new one.

Error: “Invalid E.164 phone number”

Phone numbers must be in E.164 format: + followed by country code and number, no spaces or dashes.

(212) 555-1234+12125551234
212-555-1234+12125551234
12125551234+12125551234
+1 212 555 1234+12125551234

Links

Ready to give your agents phone numbers?

Get your API key, add it to OpenClaw, and your agents get 17 phone skills instantly.

Get API Key — Free