Skip to main content
Every extraction produces a structured result on the call execution, under extracted_data.

Extraction output format

Each extraction result is a JSON object with the following fields: Results are nested by category and extraction name under extracted_data:
Complete Example:

Understanding the output

Contains the free text response generated by the LLM based on the extraction prompt.
  • Returns a string with the LLM’s analysis
  • Empty string "" if no information found
  • "null" (string) if extraction wasn’t applicable
Example: "The customer expressed interest and agreed to a demo appointment"
Contains the pre-defined value selected by the LLM from configured answer options.
  • Returns the configured answer value (e.g., "Yes", "No", "hot", "warm", "cold")
  • null if pre-defined answers aren’t configured
  • null if no matching condition was satisfied
Example: "No" (from answer options “Yes” or “No”)
Every extraction result includes a confidence score explaining how certain the LLM was about its answer.Use these to build confidence-based routing — for example, flag "Low" results for human review.
Brief explanations from the LLM explaining why it produced each answer.
  • reasoning_subjective — present when is_subjective is true; explains the free-text response
  • reasoning_objective — present when is_objective is true; explains the pre-defined selection
Both are null when their respective answer type is disabled. Useful for auditing unexpected results.
Present when a Free Text extraction has an Expected Format constraint (anything other than plain text). Contains:
  • is_valid: false means the LLM’s response didn’t match the expected format — the original response is still returned in subjective so no data is lost
  • null for plain text type or when is_subjective is false
Different empty states have different meanings:

Accessing extraction results

Extracted data is part of the call execution result and is available as extracted_data in every execution response. You can access it in the following ways:
Fetch any execution by ID using GET /executions/{execution_id} or list all executions for an agent using GET /v2/agent/{agent_id}/executions. The extracted_data field is returned in the response body.
If you’ve configured a webhook, the extracted_data field is included in the post-call webhook payload, the same execution object sent to your endpoint after every call.
Open any call record from Monitor → Call History in the dashboard to see extraction results alongside the transcript (and the call summary, when the agent’s Call Summary toggle is on).
For batch campaigns, extracted_data is returned in each execution record when fetching batch execution results.

Next steps

Extract data from conversations