SIVO
Integrations
Integrations

Webhooks with HMAC, retries and dead-letter

Push telephony events to your CRM, ERP or in-house pipeline. HMAC SHA-256 signature, exponential backoff and DLQ.

Event catalog

SIVO emits the following events available for webhook:

  • call.created — new call (inbound or outbound).
  • call.answered — agent accepts.
  • call.transferred — blind/attended/3-way transfer.
  • call.ended — hangup with full CDR.
  • call.recorded — recording available with pre-signed URL.
  • transcript.segment — live transcription segment.
  • transcript.completed — final consolidated transcript.
  • queue.entered — call enters ACD queue.
  • queue.abandoned — caller hangs up before being answered.
  • agent.status_changed — Available / On Call / On Break / Logged Out.
  • agent.paused — pause with reason.
  • ivr.completed — IVR flow finished with captured variables.
  • ai_agent.completed — AI conversation finished with exit_reason.

HMAC SHA-256 signature

Each request carries the body HMAC in X-Sivo-Signature: sha256=<hex> signed with your webhook_secret. How to verify in Node.js:

const crypto = require('crypto');
const signature = req.headers['x-sivo-signature'];
const expected = 'sha256=' + crypto
  .createHmac('sha256', WEBHOOK_SECRET)
  .update(req.rawBody)
  .digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
  return res.status(401).send('invalid signature');
}

Retries with exponential backoff

If your endpoint returns non-2xx, SIVO retries up to 6 times with exponential backoff: 5s, 30s, 2min, 10min, 1h, 6h. After the sixth failure, the event moves to the dead-letter queue visible in the dashboard. You can retry manually or download as JSON.

Idempotency

Every webhook carries a unique X-Sivo-Event-Id. If your pipeline receives it twice (timeout on your side, for example), discard it. SIVO never changes the ID across retries.

Configuration

  • Multiple endpoints per tenant — one for CRM, one for BI, one for Slack.
  • Event filters — subscribe only to what matters.
  • Built-in tester — fire a synthetic event from the dashboard to validate your endpoint.
  • Per-endpoint logs with the last 100 deliveries + status + latency.

Limits

  • Body max 256 KB.
  • 10s timeout — if your endpoint is slower, count as failure. Better queue internally and respond 200 immediately.
  • HTTPS only (no plain HTTP).

Your call center with AI superpowers, in minutes.

Start a 14-day free trial. No card. No lock-in.