API

Webhooks.

Get told when something happens in your front office — a conversation closes, a lead is captured, an escalation opens. Whizz Desk follows the Standard Webhooks spec, so any compatible verifier works.

Setup#

Add an endpoint in the dashboard under Webhooks. Pick the events you want, and Whizz Desk POSTs a JSON payload to your URL for each one. Endpoints are managed and rotated from there.

Events#

FieldTypeDescription
conversation.startedconversationA visitor opened a new conversation with a team.
conversation.closedconversationA conversation was closed from the inbox. Payload carries the contact, channel and message count.
lead.capturedleadAn agent captured a lead. Payload carries the contact and context.
escalation.createdescalationA conversation was escalated to a human, with the transcript attached.
job.succeededjobA background job — a crawl or knowledge ingest — finished successfully.
job.failedjobA background job failed. Payload carries the reason.

Signature verification#

Every delivery is signed. The signing secret is prefixed whsec_ and shown when you create the endpoint. Whizz Desk sends a Standard Webhooks HMAC signature in the request headers; verify it before trusting a payload.

Headers
webhook-id: msg_2h4k...
webhook-timestamp: 1752345600
webhook-signature: v1,g0hM9k...

Compute the HMAC over {id}.{timestamp}.{body} with your whsec_ secret and compare it to webhook-signature. Reject requests whose timestamp is outside a short window to prevent replay.

Payload shape#

lead.captured
{
  "type": "lead.captured",
  "timestamp": "2026-07-13T09:20:00Z",
  "data": {
    "team_id": "team_4a2b",
    "conversation_id": "conv_7c41",
    "lead": {
      "name": "Dana R.",
      "email": "dana@example.com",
      "context": "Asked about enterprise onboarding."
    }
  }
}