Creating a Webhook
Create a webhook for your application to start receiving WhatsApp events. Via Dashboard- Navigate to your application’s Webhooks page
- Click “Create Webhook”
- Enter your webhook URL
- Select WhatsApp-related events
- (Optional) Add custom headers for authentication
- Save the webhook
Create Webhook
WhatsApp Events
| Event | Description |
|---|---|
messages.whatsapp.received | Inbound WhatsApp message received |
messages.whatsapp.sent | Message sent to WhatsApp servers |
messages.whatsapp.delivered | Message delivered to user’s device |
messages.whatsapp.read | Message read by the user |
messages.whatsapp.failed | Message delivery failed |
Event Payloads
Message Received
messages.whatsapp.received
Message Sent
messages.whatsapp.sent
Message Delivered
messages.whatsapp.delivered
Message Read
messages.whatsapp.read
Message Failed
messages.whatsapp.failed
Response Requirements
Your webhook endpoint should:- Respond within 5 seconds - Return
200 OKquickly - Process asynchronously - Don’t block on long-running tasks
- Handle duplicates - Events may be delivered multiple times
Webhook Handler
Security Best Practices
Validate Request Origin
Use custom headers to verify requests are from Chirp:Validate Webhook
Use HTTPS
Always use HTTPS URLs for webhook endpoints. HTTP is not supported.Retry Behavior
If your webhook fails (non-200 status or timeout):- Chirp retries delivery with exponential backoff
- Maximum 5 retry attempts
- Failed webhooks are logged in your dashboard
Testing Webhooks
Use the Playground- Configure a webhook on your test application
- Send test messages using the Playground
- Your webhook receives events in real-time
- View webhook delivery logs in the dashboard
- ngrok - Create public URLs for local servers
- webhook.site - Inspect webhook payloads
- localtunnel - Simple local tunneling
Managing Webhooks
List Webhooks
Update Webhook
Delete Webhook