Base path:
/program-executionTypes
Type Definitions
Type Definitions
Get main program execution report with metrics
Get paginated call history for the execution
Get event breakdown per attempt number
Get node execution statistics
Important: This is NOT a traditional funnel. Call flows are directed graphs with:- Branches: DTMF nodes and condition nodes route to different paths
- Cycles: Flows can loop back to previous nodes
uniqueCalls (calls that reached the node at least once) and totalExecutions (including loops), not drop-off rates.
uniqueCalls vs totalExecutions:
- If a flow has a “retry menu” that loops back to the DTMF node, a single call might execute that node 3 times
uniqueCalls: 100means 100 different calls reached this nodetotalExecutions: 150means those 100 calls executed the node 150 times total
Get detailed billing report for the execution
Export program execution summary as a downloadable XLSX o…
Contains 3 sheets (XLSX) or sections (CSV): Summary, Breakdown, Node Stats.Export detailed call-level data as a downloadable XLSX or…
One row per call attempt. Columns are: fixed fields + custom attributes + dynamic node columns.custom_attributes table), using displayName as the header. Values from contacts_custom_attributes for each contact. Empty if the contact has no value for that attribute.
Dynamic Node Columns (per flow node):
Columns generated from the flow graph. Skipped node types: answer, hangup.
- Result: The execution path output (e.g.
onAnswer,onComplete,branch_1) - Input: DTMF digits pressed by caller (from
call_events) - Branch: Which DTMF branch was taken (from execution path)
- Recording ID: Recording identifier (from
call_recordings) - Transcription: Transcribed text of the recording (from
call_recordings.transcriptionText) - Status: SMS delivery status (from
sms_logs) - Message: Rendered SMS message body (from
sms_logs.renderedMessage) - Parts: Number of SMS parts/segments (from
sms_logs.smsParts) - Attribute: The contact attribute name being updated (from
node.config.attributeName) - Current Value: Current value of the attribute for the contact (from
contacts_custom_attributes) - Value: Final variable value (from
flowExecutionData.finalVariables)
Notes
Effective Status Logic
pauseWindows configuration.
paused_no_credits and paused_threshold are stored directly in the DB and returned as-is.
Contact vs Call Metrics
Example: 1000 contacts with 2 retries = 1000 in ContactMetrics, up to 3000 in CallMetrics.Node Stats vs Funnel
Traditional funnels assume linear flow:percentage: What % of total calls reached this node (not % of previous node)totalExecutions: Includes loops (same call executing node multiple times)