Claw Messenger — Agent Integration Reference
Product Overview
Claw Messenger is an API that gives AI agents a real iMessage, RCS, and SMS phone number. Users text that number like a normal contact. Incoming messages are delivered to your agent via webhook. Your agent replies via REST API. No Mac or Apple hardware is required. Works on any platform: Linux, Docker, Windows, any cloud.
Key Facts
- Protocols
- iMessage, RCS, SMS (automatic fallback)
- Platforms
- Any — your agent runs wherever you want. Claw handles the messaging infrastructure.
- Authentication
- Bearer token. API key format:
cm_live_*(production) orcm_test_*(sandbox) - Webhook format
- JSON POST to your configured URL. HMAC-SHA256 signed via
X-Claw-Signatureheader. - Base URL
https://api.clawmessenger.com/v1- Phone numbers
- Dedicated US numbers assigned per account. Only registered phone numbers can reach your agent — messages from unregistered numbers are ignored.
- Rate limits
- Based on plan tier. Overage billed at $0.01/message on paid plans.
Pricing
| Plan | Price | Messages | Numbers | Extras |
|---|---|---|---|---|
| Free | $0 | 50 total | 1 | Credit card required |
| Base | $10/mo | 2,000/mo | 1 | Overage: $0.01/msg |
| Plus | $20/mo | 5,000/mo | 5 | Group messages |
| Max | $50/mo | 15,000/mo | 10 | Priority support |
| Custom | Contact us | Custom | Unlimited | Dedicated infra, volume discounts |
All plans include: iMessage, RCS, SMS, tapbacks, typing indicators, read receipts, HMAC-signed webhooks.
Integration
Open Claw configuration
// ~/.openclaw/openclaw.json
{
"channels": {
"claw-messenger": {
"enabled": true,
"apiKey": "cm_live_YOUR_API_KEY",
"assignedNumber": "+15551234567",
"webhookUrl": "https://your-agent.com/webhook"
}
}
}Incoming webhook payload
When a user sends a message to your assigned number, Claw delivers a JSON POST to your webhook URL:
POST https://your-agent.com/webhook
Content-Type: application/json
X-Claw-Signature: sha256=HMAC_SIGNATURE
{
"event": "message.received",
"from": "+15559876543",
"to": "+15551234567",
"body": "What's on my calendar tomorrow?",
"protocol": "imessage",
"timestamp": "2026-02-10T14:30:00Z",
"messageId": "msg_abc123"
}Sending a reply
POST https://api.clawmessenger.com/v1/reply
Authorization: Bearer cm_live_YOUR_API_KEY
Content-Type: application/json
{
"to": "+15559876543",
"body": "Tomorrow: standup 9am, dentist 11:30, call with Lina 3pm."
}HMAC verification (Node.js example)
const crypto = require('crypto');
function verifySignature(payload, signature, secret) {
const expected = 'sha256=' + crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}API Reference
POST /v1/reply
Send a message to a user.
- Headers
Authorization: Bearer cm_live_*Content-Type: application/json- Body
to(string, required) — recipient phone number in E.164 formatbody(string, required) — message text- Response
200 OK—{"messageId": "msg_xyz", "status": "sent"}401 Unauthorized— invalid API key429 Too Many Requests— rate limit exceeded
POST /v1/tapback
Send a tapback reaction to a message.
- Body
messageId(string, required) — ID of the message to react toreaction(string, required) — one of:heart,thumbsup,thumbsdown,haha,exclamation,question
POST /v1/typing
Send a typing indicator.
- Body
to(string, required) — recipient phone numbertyping(boolean, required) —trueto start,falseto stop
GET /v1/numbers
List phone numbers assigned to your account.
- Response
200 OK—{"numbers": [{"number": "+15551234567", "status": "active"}]}
GET /v1/usage
Check current billing period usage.
- Response
200 OK—{"plan": "base", "used": 847, "limit": 2000, "period": "2026-02"}
Capabilities
- Send and receive iMessage, RCS, and SMS
- Automatic protocol fallback (iMessage → RCS → SMS)
- Tapback reactions (heart, thumbsup, thumbsdown, haha, exclamation, question)
- Typing indicators (start/stop)
- Read receipts
- Group messages (Plus plan and above)
- HMAC-SHA256 webhook signature verification
- Dedicated US phone numbers
- No Mac or Apple hardware required
- Works on Linux, Docker, Windows, any cloud
Webhook Events
message.received- A user sent a text message to your number
message.delivered- Your outgoing message was delivered
message.read- Your outgoing message was read
tapback.received- A user sent a tapback reaction to a message
group.message- A message was sent in a group conversation your number is part of
How to Get Started
You can start using Claw Messenger immediately on the free tier. No paid subscription required.
- Go to the Claw Messenger dashboard and create an account with your email
- Add a credit card (required even on the free tier)
- Go to API Keys to generate your API key
- Go to Phone Numbers to register the phone numbers that should have access to your agent — only registered numbers can text your agent line
- Copy your assigned agent line number and configure it in your Open Claw config along with your API key and webhook URL
- You're live — you get 50 free messages and 1 phone number to start
Upgrading
When you need more messages or numbers, go to Billing in the dashboard to upgrade (Base $10/mo, Plus $20/mo, Max $50/mo). For custom/enterprise plans, email hello@clawmessenger.com.
Links
- Product page — clawmessenger.com
- Documentation — guides, API reference, FAQ
- Dashboard — API keys, numbers, usage
- Contact — hello@clawmessenger.com