Result webhook
Every call’s result appears in Calls. If your campaign system needs it too, Studio can post it to a URL of yours: who answered, whether the goal was reached, how a transfer went, the call’s length and its ids.
Turn it on
The result webhook is set on an outbound agent, in its Placing calls section. At the bottom of the Placing outbound calls card, open the fold that reads Results shown in Calls here, then:
- Turn on Also send each call’s result to your own webhook.
- Enter the Result webhook URL. It must be a public
httpsaddress, without a user name or password in it.
The URL belongs to the agent, not to a version: it takes effect for the next call that ends, without publishing. Turning the switch off stops deliveries.
When it fires
Studio posts once per call, shortly after the call ends and Studio has its complete record. It fires for every call
the agent handles while the URL is set, including test calls; is_test tells them apart.
The request
x-studio-delivery is the call id. It is the same on every retry of a delivery, so you can use it to ignore
duplicates.
The payload
A payload larger than 256 KB is not sent; the delivery history shows it as failed with too_large.
Verify the signature
Each delivery is signed with the agent’s signing secret. The x-studio-signature header has two parts:
t: the time of signing, in Unix secondsv1: the HMAC-SHA256, in hex, of the string<t>.<raw body>, keyed with the signing secret
To verify a delivery, compute the same HMAC over the raw request body exactly as received, before parsing it, and
compare. Rejecting deliveries whose t is too old protects you from replays.
The signing secret
Under Signing secret, below the URL:
- Reveal shows the secret, for one minute. It starts with
whsec_. Use the whole string as the HMAC key. - Rotate replaces it. Deliveries from then on are signed with the new secret and the old one stops working at once, so update your receiver first.
Revealing and rotating the secret are limited to Owners and Admins, and both are recorded in the account’s audit log.
Delivery and retries
A delivery succeeds when your endpoint answers with a 2xx status within 10 seconds.
If 25 calls in a row fail to deliver, Studio pauses the agent’s webhook for an hour. Calls that end during the pause
are not delivered; each one is recorded in the delivery history with the error paused. Deliveries resume by
themselves after the hour.
Studio sends at most 3 deliveries at a time for each account; others wait their turn.
Delivery history
Recent deliveries, below the signing secret, lists the latest 20 delivery attempts for the agent, newest first:
While deliveries are paused, the list says so at the top. Recent deliveries is shown to Owners and Admins.
Next
- Publishing: place calls from an outbound agent
- Calls: every call’s result, in Studio