What are webhooks?
Webhooks notify your application when events occur. You can use them to:- Send automated replies when customers message you
- Update conversation status in your CRM
- Track message delivery and read receipts
- Trigger alerts when conversations go inactive
- Store events in your database for analytics
Steps to receive webhooks
- Create an endpoint to receive requests
- Register your webhook
- Verify signatures
- Test your endpoint
1. Create an endpoint
Create a route in your application that accepts POST requests.200 OK within 10 seconds.
2. Register your webhook
Kapso supports two types of webhooks:Project webhooks
Project-wide events like when customers connect WhatsApp. Setup:- Open sidebar → Webhooks
- Go to Project webhooks tab
- Click Add Webhook
- Enter your HTTPS endpoint URL
- Copy the auto-generated secret key
- Subscribe to events
WhatsApp webhooks
Message and conversation events for specific WhatsApp numbers. Create via API:3. Verify signatures
Always verify webhook signatures to ensure requests come from Kapso.4. Test your endpoint
Use ngrok or Cloudflare tunnel for local testing:Webhook headers
All webhooks include these headers:FAQ
What is the retry schedule?
What is the retry schedule?
If Kapso doesn’t receive a 200 response, webhooks are retried automatically:
- 10 seconds
- 40 seconds
- 90 seconds
How do I handle duplicate events?
How do I handle duplicate events?
Use the
X-Idempotency-Key header to track processed events:What about v1 webhooks?
What about v1 webhooks?
New webhooks default to v2. Existing v1 webhooks continue to work.See Legacy webhooks for migration guide.
Next steps
- Event types - See all available events and payloads
- Security - Detailed signature verification guide
- Advanced - Message buffering, ordering, and retries

