Can my own AI read WhatsApp messages through a webhook, without automated replies?

In short: yes. Incoming messages are delivered to your webhook, your AI works on them, and your team keeps replying from the WhatsApp Business app. ZapClaw never sends a message on its own. You can try it on the free plan, up to 500 messages a month.

ZapClaw connects your number to the official WhatsApp API through Coexistence, and the app stays on your phone.

Start for free

How it works

  1. Connect your number through Coexistence, so it keeps working in the WhatsApp Business app on your phone.
  2. Set your webhook URL in the ZapClaw dashboard. Every inbound message arrives as a signed JSON POST (X-ZapClaw-Signature, HMAC-SHA256).
  3. Your system reads it, for example a local AI that prepares a draft answer.
  4. A person sends the reply from the WhatsApp Business app. The send API stays optional.

The one requirement: a public HTTPS address

ZapClaw only delivers to a public https:// URL. It refuses localhost, private and internal IP ranges, and hostnames that resolve to them, even after a redirect. If your AI runs on your own machine or office network, put a public HTTPS entry point in front of it, such as a reverse proxy or a tunnel you control, and check the signature on every request.

On the free plan

Sent and received messages both count toward the 500 per month; messages typed on the phone do not. Above 500, new messages are kept in ZapClaw, but not sent to your webhook or returned by the API until you subscribe. Then the last 48 hours arrive within minutes, and older ones can be resent from the dashboard. Each new month, delivery restarts, up to 500, and your phone keeps getting every message in the WhatsApp Business app. If your endpoint is down, ZapClaw makes up to 3 delivery attempts per event, and failed events stay in the delivery log so you can replay them from the dashboard.

The payloads and the signature check are in the webhook documentation.

If your AI is an agent that calls tools, it can also read and send through the ZapClaw WhatsApp MCP server (beta) instead of a webhook.