Integrations · Webhooks
HMAC-SHA256 signed outbound webhooks
Receive V Ai Desk events in your system in real time, with replay protection and exponential retry up to dead letter.
HMAC signature
integrations.webhooks.sections.sigText
Canonical events
conversation.created/assigned/transferred/hold_started/hold_ended/closed, message.received/sent/system, attachment.added, operator.online/offline/paused, sla.warning/breached, auto_reply.suggested/accepted_by_end_user.
Retry and dead letter
integrations.webhooks.sections.retryText
Example: validate signature (Node.js)
javascript
import crypto from 'node:crypto';
function verify(headers, rawBody, secret) {
const sig = headers['x-vaidesk-signature']; // "t=1718976000,v1=5257..."
const parts = Object.fromEntries(
sig.split(',').map((p) => p.split('='))
);
const t = parts.t;
const v1 = parts.v1;
if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
const expected = crypto
.createHmac('sha256', secret)
.update(`${t}.${rawBody}`)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(v1, 'hex'),
Buffer.from(expected, 'hex')
);
}Ready to integrate robust customer support into your product?
Tell us about your case. We get back within one business day.