Reference
Webhooks
Receive real-time HTTP POST notifications when ticket and verification events occur in your workspace. Available on Pro plans and above.
Setup
- 1In your workspace dashboard, go to Settings → Webhooks.
- 2Click Add endpoint and enter your HTTPS URL.
- 3Select which events you want to receive.
- 4Copy the signing secret — you'll use it to verify payloads.
- 5Save. Test the endpoint using the Send test event button.
Payload signature
Every webhook request includes an X-Tixora-Signature header — an HMAC-SHA256 hex digest of the raw request body signed with your endpoint secret. Always verify this before processing the payload.
const sig = req.headers["x-tixora-signature"];
const expected = crypto
.createHmac("sha256", WEBHOOK_SECRET)
.update(rawBody)
.digest("hex");
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
return res.status(401).send("Invalid signature");
}
Event types
| Event | Description |
|---|---|
ticket.created | A new ticket was opened by a user. |
ticket.claimed | An agent claimed the ticket. |
ticket.message | A message was sent inside a ticket (by user or agent). |
ticket.tagged | A tag was added to or removed from a ticket. |
ticket.closed | The ticket was closed (from Discord or dashboard). |
ticket.reopened | A closed ticket was re-opened. |
ticket.sla_breached | The ticket breached a configured SLA target. |
verification.requested | A user requested Customer ticket access. |
verification.approved | A verification request was approved. |
verification.denied | A verification request was denied. |
Example payload
{
"event": "ticket.created",
"timestamp": "2025-05-15T10:32:00.000Z",
"guildId": "gld_01j...",
"data": {
"ticketId": "tkt_01j...",
"categoryId": "cat_01j...",
"categoryName": "Bug Report",
"userId": "158181390980814656632",
"username": "hyper",
"status": "open",
"createdAt": "2025-05-15T10:32:00.000Z"
}
}
Retries
If your endpoint returns a non-2xx status or times out (10s), we retry with exponential back-off — at 30s, 5m, 30m, and 2h. After 4 failed attempts the delivery is marked failed and no further retries are made. You can inspect and replay failed deliveries from Settings → Webhooks → Delivery log.