Skip to main content
WEBHOOK

Authorizations

x-api-key
string
header
required

API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.

Body

application/json
id
string<uuid>
required

Call ID

direction
enum<string>
required
Available options:
INBOUND,
OUTBOUND
status
enum<string>
required
Available options:
COMPLETED,
TRANSFERRED,
FAILED,
CANCELED
fromNumber
string
required

Caller's number (E.164). For web widget calls, the visitor's anonymous ID in the form visitor:.

toNumber
string
required

Called number (E.164). For web widget calls, the agent ID.

organizationId
string
required

Organization ID

agentId
string<uuid>
required

Agent ID that handled the call

source
enum<string> | null

How the call originated. web_widget for calls started from the Web Widget call button; null for phone calls.

Available options:
web_widget,
null
continuedFromCallId
string | null

When a dropped web widget call was silently re-dialed, the id of the call this one continues; null otherwise.

recordingUrl
string | null

URL to call recording

recordingOffsetSeconds
number | null

Seconds between the transcript clock's zero and the recording's first audio; aligns transcript timestamps with playback

hangupCause
string | null

Reason call ended. Common values: USER_ENDED, END_CALL_TOOL, SILENCE_TIMEOUT, MAX_DURATION, VOICEMAIL_DETECTED

errorMessage
string | null

Error message if call failed

transcript
object[] | null

Conversation transcript

summary
string | null

AI-generated call summary

extraction
object | null

Structured fields extracted after the call, keyed by the field names in the agent's postCallExtraction config. A field that was not stated on the call is null. null when the agent has no extraction configured or the call had no caller speech

Example:
evaluation
object | null

Per-criterion verdicts after the call, keyed by the criterion names in the agent's postCallEvaluation config. unknown means the transcript did not settle it. null when the agent has no evaluation configured or the call had no caller speech

Example:
agentRevision
integer | null

Agent version the call ran on; null for auto publish mode

environment
string | null

Agent environment the call ran in; null means production

metrics
object | null

Call quality metrics

initiatedAt
string<date-time>
startedAt
string<date-time> | null
endedAt
string<date-time> | null
durationSeconds
integer | null

Call duration in seconds

llmModel
string | null

Language model tier the call ran on (revring-standard, revring-max, or revring-ultra); null for older calls

agentName
string | null

Agent name

sipTrunkId
string | null

SIP trunk ID used for the call

agentCallerIdName
string | null

Caller ID name configured on the agent

variables
object | null

Merged template variables used during the call (includes pre-call webhook variables, API variables, and system variables)

createdAt
string<date-time>

When the call record was created

updatedAt
string<date-time>

When the call record was last updated

Response

200

Webhook received successfully