Webhooks
Get notified in real time when events happen in your Supp account.
Setup
Create a webhook integration via the Integrations API. Use the events array to subscribe to specific events, or omit it to receive all events:
curl -X POST https://api.supp.support/api/integrations \
-H "Content-Type: application/json" \
-H "Cookie: <session-cookie>" \
-d '{
"provider": "custom",
"name": "My Webhook",
"config": {
"webhook_url": "https://your-app.com/webhooks/supp",
"events": ["conversation.created", "conversation.resolved"]
}
}'Automatic Events
These fire automatically when things happen in your account:
| Event | Description |
|---|---|
| conversation.created | New conversation started (includes intent, confidence, channel, priority) |
| conversation.resolved | Conversation marked as resolved |
| conversation.escalated | Conversation escalated to human agent |
| intent.classified | Message classified with an intent (includes intent, confidence, priority) |
Routing-Rule Action Events
These fire when a routing rule triggers a webhook action:
| Event | Description |
|---|---|
| supp.action | A routing rule action was executed (includes action, intent, message) |
| supp.test | Connection test event (sent when you verify the webhook) |
Payload Examples
Automatic event payload:
{
"event": "conversation.created",
"timestamp": "2026-02-12T10:30:00Z",
"data": {
"conversation_id": "550e8400-e29b-41d4-a716-446655440000",
"intent": "password_reset",
"confidence": 0.94,
"channel": "chat",
"status": "open",
"priority": "high"
}
}Routing-rule action payload:
{
"event": "supp.action",
"action": "mcp_action",
"intent": "billing_inquiry",
"conversation_id": "session_abc123",
"message": "I need help with my invoice",
"timestamp": "2026-02-12T10:30:00Z"
}Security
All webhook URLs must use HTTPS. Private IP addresses, localhost, cloud metadata endpoints, and internal domains are blocked to prevent SSRF attacks. URLs are validated both at configuration time and before each delivery.