Overview
A Lead Update Callback sendsPOST requests with Content-Type: application/json to a URL you configure in Process → Advanced Settings. What’s actually in that POST body depends on what triggered it and how the callback is configured:
Independent of which of these fires, if the callback’s Payload Format is set to Lead History instead of Activity Update, none of the shapes below apply — see Lead History Format.
Activity Update
Covered in full, with real examples, in Activity Payloads. A few fields are always present but easy to miss there because they’re absent from those particular examples:- leadData —
{ phone, name }, always included regardless of whetherreferenceIdis set. - phone — the lead’s phone number at the top level; omitted only when
referenceIdis present (in which caseleadData.phonestill carries it). - activity.result.isUserInitiated —
truefor incoming calls; the key is omitted entirely (not set tofalse) for outgoing calls. - activity.result.analysis.connectedStatus — whether the call actually connected:
"connected","not-connected", or"connected-deferred"(connected, but the conversation wasn’t fully settled yet when evaluated). Use this field for connection status. - activity.result.nextState — the process node the lead moved to after this activity; already visible in the Activity Payloads examples but easy to miss.
activity.result alongside the rest of the shape shown in Activity Payloads:
action_type can also be "reupdate" — a resend of an update that was already sent once, controlled by the callback’s Don’t send reupdates setting.
Activity updates can arrive more than once for the same activity — call
duration/recording details in particular are often not ready on the first update and get repeated once populated. Design your integration to be idempotent on activityId rather than assuming exactly one POST per activity.Lead Event
Fired for lead-level events not attached to a single activity — most commonly a prevalidation failure (e.g. the lead’s number is on the DND registry and not whitelisted), but also other lead-lifecycle transitions.activity field at all — that’s the key difference from an Activity Update payload. A DND rejection, for example, arrives with leadDisposition: "DND" and nothing activity-specific.
Lead Update Feedback
Fired after an asynchronous lead update you triggered externally (via the API) finishes processing — confirms whether it succeeded.- updateId — the identifier your original update request returned; use it to match this callback to the request that triggered it.
- success / error — whether the update applied cleanly.
- data — only populated when
successistrue;nullon failure.
Lead History Format
If the callback’s Payload Format is set to Lead History instead of the default Activity Update, none of the shapes above apply — regardless of what triggered the callback, Uservox sends the entire lead document plus every activity on it:Batched Delivery
If Batch API is enabled on the callback, individual payloads aren’t posted one at a time — they’re buffered and flushed together as a single request:updates is the default Array Key; it’s whatever you configured on the callback. Each item in the array is exactly the shape it would have been sent as on its own — batching only changes how many arrive per HTTP request, not the shape of each one.
Other Things That Affect What You Receive
- Transform code — if configured, your JS transform runs on the payload before it’s sent, so what actually arrives may not match the raw shapes above at all. Test it with the callback editor’s Transform & Test panel before relying on it.
- Sensitive-field scrubbing — internal telephony-provider metadata (raw provider call objects, routing internals) is stripped from
activity.resultbefore sending. This doesn’t affect the lead’s own phone number, which is still sent normally inleadData.phone/phone. - Only send final update — if enabled,
callactivities are held back until the recording/duration is fully processed, then sent exactly once. - Alert Type / Alert Dispositions — filter which updates get sent at all (e.g. only successful conclusions, or only specific dispositions).
