Webhooks

Push every event into your systems.

Outbound webhooks aren't live yet — they're on the roadmap alongside the public API. When they ship, Praatbox will fire HTTP POSTs at endpoints you configure for every meaningful event: signed with HMAC-SHA256, retried with exponential backoff, idempotent by event ID. Here's the planned shape.

Payload shape

POST /your/endpoint
content-type: application/json
x-praatbox-signature: sha256=...
x-praatbox-event: conversation.handoff

{
  "event": "conversation.handoff",
  "id": "evt_4f9c2a",
  "occurred_at": "2026-04-12T14:32:08Z",
  "data": {
    "conversation_id": "c_9a3f",
    "reason": "low_confidence",
    "transcript_url": "https://api.praatbox.com/v1/..."
  }
}

Events

  • conversation.created — visitor opened the widget
  • conversation.message — any new message in either direction
  • conversation.handoff — visitor asked for a human, flagged for your team
  • conversation.resolved — thread closed
  • conversation.csat — visitor rated the conversation
  • knowledge.indexed — an uploaded source finished indexing

Verifying signatures

Compute HMAC-SHA256 over the raw request body using your endpoint's signing secret. Compare in constant time against the x-praatbox-signature header.

Retries (planned)

The plan: retry on any 5xx or timeout — five attempts with exponential backoff up to 24 hours. After that the event is dead-lettered, with one-click replay from the dashboard.

Want this?

If outbound webhooks would unblock an integration for you, tell us — it helps us prioritize.