Request Payloads
These are the JSON payloads your webhook endpoint will receive for different events.Call Started Event
Triggered immediately when a call is initiated.Call Completed Event
Triggered when a call attempt finishes (completed, failed, or retry).Recording Completed Event
Triggered when call recording is processed and ready for download.Platform Analysis Event
Triggered when Ringg AI’s built-in analysis completes.Client Analysis Event
Triggered when your custom analysis completes based on your configured prompts.All Processing Completed Event
Triggered once all post-call processing is finished — recording uploaded, transcript generated, and both platform and client analysis complete. This single consolidated event carries the full call dataset in one payload.Implementation Examples
Node.js/Express
Field Descriptions
Common Fields
| Field | Type | Description |
|---|---|---|
event_type | string | Type of event: call_started, call_completed, recording_completed, platform_analysis_completed, client_analysis_completed, all_processing_completed |
call_id | string | Unique identifier for the call |
call_sid | string | Telephony provider’s call identifier (e.g., Twilio Call SID, Plivo Call UUID) |
agent_id | string | ID of the AI agent that handled the call |
workspace_id | string | ID of your workspace |
custom_args_values | object | Custom data you provided when initiating the call |
agent_name | string | Display name of the AI agent that handled the call |
version_id | string | UUID of the agent version used for this call |
call_cost | number | Cost of the call in credits (null if not yet calculated) |
overall_latency_seconds | number | Total response latency in seconds (sum of median latencies across all metrics) |
first_utterance_seconds | number | Time to first AI response (TTS) in seconds |
tool_call_logs | array | Tool execution logs (pre-call, on-call) for the call |
Call Started Fields
| Field | Type | Description |
|---|---|---|
sub_status | string | Current call sub-status (e.g., ACCEPTED) |
version_slug | string | Slug of the agent version used |
version_description | string | Description of the agent version (nullable) |
Call Completed Fields
| Field | Type | Description |
|---|---|---|
call_duration | number | Duration of the call in seconds (call_completed only) |
call_type | string | Direction: inbound, outbound, or webcall |
status | string | Final call status: completed, failed, retry (call_completed only) |
to_number | string | Phone number that received the call |
from_number | string | Phone number that made the call |
call_sid | string | Provider call ID (e.g., from Twilio/Plivo) |
transcript | array | Array of conversation turns with role and content fields |
custom_args_values | object | Custom data you provided when initiating the call |
retry_count | number | Number of retry attempts (0 for first attempt) (call_completed only) |
Recording Fields
| Field | Type | Description |
|---|---|---|
recording_url | string | URL of the call recording |
recording_duration | number | Duration of the recording in seconds |
Analysis Fields
| Field | Type | Description |
|---|---|---|
analysis_data | object | Analysis results - structure varies by analysis type |
summary | string | Concise summary of conversation purpose and outcome (platform analysis) |
classification | string | Call category label (e.g., ‘qualified_lead’) (platform analysis) |
key_points | array | Array of important conversation takeaways (platform analysis) |
action_items | array | Array of tasks or follow-up actions (platform analysis) |
callback_requested_time | string | ISO 8601 timestamp when callback was requested (platform analysis) |
status | string | Analysis status, always ‘analyzed’ (platform analysis) |
call_disconnect_reason | string | Reason call ended: ‘agent_hangup’ or ‘user_hangup’ (platform analysis) |
timezone | string | Timezone used for the call (platform analysis) |
All Processing Completed Fields
This event combines all data from the call lifecycle into a single payload. It includes every common field plus:| Field | Type | Description |
|---|---|---|
call_duration | number | Duration of the call in seconds |
call_type | string | Direction: inbound, outbound, or webcall |
status | string | Final call status: completed, failed, error, cancelled, forwarded |
sub_status | string | Detailed call sub-status (e.g., ACCEPTED, VOICEMAIL_DETECTED) |
to_number | string | Phone number that received the call |
from_number | string | Phone number that made the call |
called_on | string | ISO 8601 timestamp when the call was initiated (UTC) |
created_at | string | ISO 8601 timestamp when the call record was created (UTC) |
transcript | array | Full conversation transcript with bot/user content, message_id, and timestamp |
recording_url | string | URL of the call recording |
platform_analysis | object | Ringg AI’s built-in analysis (same structure as platform_analysis_completed.analysis_data) |
platform_analysis_status | string | Status: success, failed, not_enabled, cancelled |
client_analysis | object | Your custom analysis results (same structure as client_analysis_completed.analysis_data) |
client_analysis_status | string | Status: success, failed, not_enabled, cancelled |
version_slug | string | Slug of the agent version used |
version_description | string | Description of the agent version (nullable) |
