Webhooks
Receive real-time notifications when events occur in DZDESK.
Overview
Webhooks allow you to receive HTTP callbacks when events happen in DZDESK. Instead of polling the API, DZDESK pushes events to your endpoint.
Setting Up Webhooks
Creating a Webhook
- Navigate to Settings > API > Webhooks
- Click Add Webhook
- Configure:
- Endpoint URL
- Events to subscribe
- Secret key
- Save and test
Configuration Fields
| Field | Description |
|---|---|
| URL | Your HTTPS endpoint |
| Events | Which events to send |
| Secret | For signature verification |
| Active | Enable/disable webhook |
Available Events
Request Events
| Event | Trigger |
|---|---|
request.created | New request created |
request.updated | Request modified |
request.status_changed | Status change |
request.assigned | Assignment change |
request.commented | Comment added |
request.deleted | Request deleted |
SLA Events
| Event | Trigger |
|---|---|
sla.warning | SLA at risk |
sla.breach | SLA breached |
User Events
| Event | Trigger |
|---|---|
user.created | User provisioned |
user.updated | User modified |
user.deactivated | User deactivated |
Webhook Payload
Standard Format
{
"id": "whk_abc123",
"event": "request.created",
"timestamp": "2024-01-15T14:30:00Z",
"data": {
"id": "req_123",
"title": "Cannot access email",
"status": "open",
"priority": "high",
"requester": {
"id": "usr_123",
"email": "john@company.com"
},
"assignedTo": null,
"createdAt": "2024-01-15T14:30:00Z"
}
}
Event-Specific Data
request.status_changed
{
"event": "request.status_changed",
"data": {
"id": "req_123",
"previousStatus": "open",
"newStatus": "in_progress",
"changedBy": {
"id": "usr_456",
"email": "jane@company.com"
}
}
}
sla.warning
{
"event": "sla.warning",
"data": {
"requestId": "req_123",
"slaType": "resolution",
"targetTime": "2024-01-15T18:00:00Z",
"percentElapsed": 75,
"timeRemaining": "2h 30m"
}
}