Webhooks
Receiving events from KitoDesk and sending provider callbacks in.
What is a webhook?
A webhook is an automatic HTTP notification sent when something happens - a new conversation, a resolved ticket, a completed call. You register a URL; KitoDesk calls it.
Outbound webhooks
Configure an outbound webhook URL in Settings → Integrations to receive workspace events. Deliveries run through a durable job queue with retries, so a temporary outage on your side does not lose events.
Inbound provider callbacks
Each channel shows its callback URL in Settings → Integrations. They share one contract:
- Authentication - Twilio callbacks are verified against the request signature and your auth token; Africa's Talking and Yeastar use the configured secret or verify token. Unauthenticated callbacks get
403. - Idempotency - deduplicated by provider event ID in
webhook_events, so retries are safe. - Tenant resolution - URLs carry the workspace slug or inbox token; you never pass tenant IDs.
See Webhook security for the verification and replay details, and Event catalogue for what you can subscribe to.
Callback endpoints
Generated from the route declarations. All are unauthenticated sessions - they are secured by provider signature or shared secret instead, and deduplicated by provider event ID.
Channels
| Method | Path |
|---|---|
POST | /api/public/docs-feedback |
GET | /api/wa-templates |
POST | /api/wa-templates |
POST | /api/wa-templates/:id/submit |
POST | /api/wa-templates/:id/delete |
POST | /api/wa-templates/sync |
GET | /api/wa-templates/stats |
Website chat widget
| Method | Path |
|---|---|
POST | /api/widget/:key/messages |
GET | /api/widget/:key/messages |
GET | /api/widgets/:kind |
Twilio
| Method | Path |
|---|---|
POST | /api/voice/twilio/twiml/:slug |
POST | /api/voice/twilio/status/:slug |
POST | /api/voice/twilio/conference/:slug |
POST | /api/voice/twilio/recording/:slug |
Africa's Talking
| Method | Path |
|---|---|
POST | /api/voice/at/:slug |
Yeastar
| Method | Path |
|---|---|
POST | /api/voice/yeastar/:slug |
POST | /api/voice/yeastar/sign |
