Webhook subscriptions (target URL, secret, and which events) are created by an organisation admin in AurDesk
settings. A subscription can listen to specific events or * for all.
Events: ticket.created, ticket.status_changed, ticket.assigned, ticket.escalated,
ticket.reply_added, ticket.customer_replied, staff.login, work_log.day_report.
Headers on every delivery
X-SLAV-Webhook-Event — the event name.
X-SLAV-Delivery-ID — a UUID, identical across retries of the same delivery. Use it to ignore repeats.
X-SLAV-Webhook-Signature — sha256= followed by the hex HMAC-SHA256 of the raw request body,
keyed with the subscription's secret. Compute it over the exact bytes you received, compare in constant
time, and reject on mismatch.
Delivery. Respond with any 2xx within 10 seconds. Anything else, or a timeout, is retried up to 3
attempts in total, waiting about 10 seconds, then about 100 seconds. Attempts are logged in AurDesk.
Deliveries run after the change is saved, in the background, and never block the user's action.
Replies and echoes. ticket.reply_added fires for every public reply: staff replies carry
reply.author = "team"; replies posted through this API or the embedded view carry
reply.author = "integration" with the posting client's integration_client_id. A system that both posts
replies and subscribes should ignore events carrying its own integration_client_id (or any
author = "integration"), so its own reply is never treated as new input.
Customer replies. ticket.customer_replied fires when a customer sends a follow-up on an existing
ticket, on any channel: reply.channel is email, whatsapp, sms, chat_widget, aurapost or portal.
It does not fire for the first message of a new ticket (ticket.created announces that), and it is a
separate event from ticket.reply_added so subscribing to one never changes what you receive on the other.
For email, reply.body is the new text without the quoted earlier thread.
Privacy. work_log.day_report carries only who, which date and a signal (submitted, unreported or
late_report) — never log content.