Receive WhatsApp messages in your app with webhooks
Every time a customer messages your number, PowerAPI Whatsapp POSTs the message to your URL as JSON within seconds. Build chatbots, sync conversations to your CRM, or trigger workflows from WhatsApp.
POST https://yourapp.com/whatsapp/webhook
X-PowerAPI-Signature: 3f9a…c21
{
"event": "message",
"instance_id": "pw4f2a9c…",
"data": {
"message": {
"from": "[email protected]",
"body": "Is this available in blue?",
"type": "chat"
}
}
}
Why teams choose PowerAPI for WhatsApp Webhooks
Real-time events
Incoming messages, message acknowledgements (sent, delivered, read), reactions, group events, calls and connection status.
Choose your events
Subscribe only to the events you need for each number.
Signed payloads
Verify the X-PowerAPI-Signature header (HMAC-SHA256) so you know requests really come from us.
Automatic retries
Temporary failures on your side are retried automatically.
Test button
Send a test event to your endpoint from the dashboard while you build.
Works with no-code tools
Point the webhook at Zapier, Make, n8n or Pabbly to automate without code.
How it works
-
01
Create an endpoint
Any public HTTPS URL that accepts POST requests.
-
02
Paste it in PowerAPI
Open your WhatsApp number → Settings & webhook, choose events and save.
-
03
Verify and handle
Check the signature, then process the JSON payload.
Related features
Send WhatsApp text, media, locations and polls with a simple REST API. Connect a number by QR code in seconds, get webhooks and start free.
WhatsApp Auto ReplyReply to WhatsApp messages automatically 24/7. Create keyword rules (contains, exact, regex), send text or media replies and answer FAQs instantly.
Multiple WhatsApp NumbersConnect several WhatsApp numbers — sales, support, branches — and manage them from one dashboard and one API key, each with its own webhook.
Popular use cases
Questions about WhatsApp Webhooks
What does a webhook payload look like?
A JSON object with event, instance_id, timestamp and data. For incoming messages, data.message contains from, body, type and more.
How do I verify a webhook?
Compute HMAC-SHA256 of the raw request body using your instance's webhook secret and compare it with the X-PowerAPI-Signature header.
Can I use webhooks on localhost?
Webhooks must reach a public URL. During development use a tunnel such as ngrok or cloudflared.
Start automating WhatsApp today
Create a free account, connect your number in a minute and send your first message.