Events
| Event | Sent when |
|---|---|
| message.received | Someone messages one of your numbers |
| message.sent | Your message was handed to WhatsApp |
| message.failed | A message couldn’t be sent, with the reason |
| number.connected | A number finished linking |
| number.disconnected | A number was logged out from the phone |
Add an endpoint
- 01
Open WhatsApp → Webhooks and choose Add endpoint.
- 02
Enter your https URL and pick the events you want.
- 03
Copy the signing secret.
- 04
Send a test event and check Recent deliveries.
Signed, so you can trust it
Every request carries the event name, a timestamp and a signature made with your secret. Your server checks the signature and the timestamp before acting, so nobody else can fake an event or replay an old one.
Retries and pauses
- Answer with a 2xx status within 10 seconds.
- Failed deliveries are retried up to three times, waiting longer each time.
- Every attempt shows under Recent deliveries with its response code.
- Pause an endpoint with its switch while you fix your server.
Answer fast. Store the event and return 200 straight away, then do the slow work in the background.
Questions
How do I check a signature?
The docs show the exact steps and a short example for Node.js.
Can I have more than one endpoint?
Yes. Add as many as you need, each with its own events and secret.
