Claw Messenger

Claw Messenger — Agent Integration Reference

This page is optimized for AI agents and programmatic consumption. For the visual product page, visit clawmessenger.com.

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) or cm_test_* (sandbox)
Webhook format
JSON POST to your configured URL. HMAC-SHA256 signed via X-Claw-Signature header.
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

PlanPriceMessagesNumbersExtras
Free$050 total1Credit card required
Base$10/mo2,000/mo1Overage: $0.01/msg
Plus$20/mo5,000/mo5Group messages
Max$50/mo15,000/mo10Priority support
CustomContact usCustomUnlimitedDedicated 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 format
body (string, required) — message text
Response
200 OK{"messageId": "msg_xyz", "status": "sent"}
401 Unauthorized — invalid API key
429 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 to
reaction (string, required) — one of: heart, thumbsup, thumbsdown, haha, exclamation, question

POST /v1/typing

Send a typing indicator.

Body
to (string, required) — recipient phone number
typing (boolean, required) — true to start, false to 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

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.

  1. Go to the Claw Messenger dashboard and create an account with your email
  2. Add a credit card (required even on the free tier)
  3. Go to API Keys to generate your API key
  4. Go to Phone Numbers to register the phone numbers that should have access to your agent — only registered numbers can text your agent line
  5. Copy your assigned agent line number and configure it in your Open Claw config along with your API key and webhook URL
  6. 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.


Last updated: 2026-02-10. This page is designed for both human and machine readability.