Skip to main content

Overview

Webhooks let your backend receive push notifications when key actions happen on your account — a call ends, a dubbing job completes, a workflow runs, and so on. Indigenius sends an HTTP POST to your configured endpoint with a JSON payload describing the event. Configure your webhook URL when creating an API key (callbackUrl) or when creating a workflow (webhook.url).

Delivery model

  • Events are delivered via HTTP POST to your endpoint.
  • Your endpoint must return a 2xx status code within 10 seconds. If it times out or returns a non-2xx, delivery is retried with backoff.
  • Process events asynchronously — do your actual work in a background job, not in the request handler.

Event payload shape

Every webhook delivery shares the same outer envelope:

Event types

call.completed

Fired when a web or phone call ends.

call.failed

Fired when a call fails before completing.

workflow.completed

Fired when a workflow execution finishes successfully.

dubbing.completed

Fired when a dubbing job finishes and media is ready to download.

dubbing.failed

Fired when a dubbing job fails during processing.

tts.completed

Fired when a text-to-speech job finishes.

Receiver checklist

1

Use HTTPS

Indigenius only delivers to https:// endpoints. Plain HTTP URLs are rejected.
2

Respond quickly

Return 200 OK (or any 2xx) as soon as you receive and validate the payload. Do not block the response while processing.
3

Make handlers idempotent

Deliveries can be retried. Always check whether you have already processed an event before acting on it — use data.callId or data.jobId as your deduplication key.
4

Log event IDs

Log the event type, timestamp, and relevant IDs on every delivery. This makes it easy to cross-reference against Webhook History.

Example receiver (Node/Express)


Retry behaviour

If your endpoint returns a non-2xx status or times out, Indigenius retries delivery with exponential backoff. You can inspect all delivery attempts — successful and failed — in Webhook History.