What are Extractions?
Extractions allow you to automatically capture structured data from call transcripts. Organize extractions into categories and define custom questions to extract specific information like lead quality, appointment details, customer sentiment, and more.
Extractions section in Extractions Tab
Getting Started with Extractions
Step 1: Access the Extractions Tab
Navigate to the Extractions tab in your agent configuration to find the Extractions section.
Empty extractions state
Creating Categories
Categories help you organize related extractions together. For example, “Agent Handover”, “Visit Details”, or “Lead Qualification”.Click Create First Category or New Category
Enter Category Name
Click Create

Create new category dialog
Creating Extractions
Within each category, you can create multiple extraction templates to capture different data points.
New extraction form
Extraction Fields
Name
Name
Extraction Prompt
Extraction Prompt
Answer Type
Answer Type
- LLM generates a custom answer based on conversation context
- Best for open-ended questions and detailed responses
- Example: “Describe the customer’s main concern”
- LLM selects from predefined options you configure
- Best for categorical data and structured responses
- Example: Lead quality (hot/warm/cold), Yes/No questions
Expected Format
Expected Format
- Pattern (required) — The regex the response must match (e.g.,
^\d{10}$) - Description (optional) — Human-readable label (e.g., “10-digit phone number”)
Model
Model
gpt-4.1-mini (recommended for most use cases)Answer Types Explained
Free Text Extractions
Use free text when you want the LLM to generate custom responses based on the conversation. Best for:- Summarizing customer concerns
- Extracting reasons or explanations
- Capturing qualitative feedback
- Open-ended questions
- Name: “Customer Concern”
- Prompt: “Summarize the main issue the customer raised during the call”
- Answer Type: Free Text
Pre-defined Extractions
Use pre-defined options when you want structured, categorical responses.
Pre-defined extraction with answer options
- Yes/No questions
- Status classifications
- Lead scoring
- Outcome categorization
Configuring Pre-defined Answers
Each answer option consists of:- Answer Value - The value to return (e.g., “Yes”, “No”, “hot”, “warm”, “cold”)
- Condition - Instructions for when to select this answer
- Value:
Yes - Condition:
yield if any one of the triggers for handover are satisfied
- Value:
No - Condition:
yield if none of the triggers for handover are satisfied
Managing Extractions
Edit an Extraction
- Click the edit icon (pencil) on any extraction card
- Modify the name, prompt, answer type, or model
- Click Save Changes
Delete an Extraction
- Click the delete icon (trash) on any extraction card
- Confirm deletion
Testing Extractions
Before deploying extractions to production, test them against sample or real transcripts to validate accuracy and refine your prompts.
Test Extractions interface
How to Test Extractions
Click Test Extractions
Choose a Transcript
- Paste - Paste a transcript directly into the text area
- Import - Upload a transcript file
Run Test
Review Results
- SUBJECTIVE - Free text responses generated by the LLM
- OBJECTIVE - Pre-defined values selected by the LLM
Understanding Test Results
Extraction results are displayed hierarchically by category. Each extraction shows its full result including confidence and reasoning:null appears when an extraction type isn’t configured or no matching value is found. Low-confidence results (below 0.5) are worth reviewing manually.Testing Best Practices
Test with Multiple Transcripts
Test with Multiple Transcripts
Validate Both Answer Types
Validate Both Answer Types
Refine Based on Results
Refine Based on Results
Use Real Transcripts
Use Real Transcripts
Sample Transcripts
The Test Extractions interface provides three sample transcript types:- Sales Call - Conversation about products and services
- Support Call - Customer support interaction
- Appointment - Scheduling and booking conversation
Working with Categories
Rename a Category
Click the edit icon next to the category name to rename it.Delete a Category
Click the delete icon next to the category name. This will remove the category and all extractions within it.Add Extractions to a Category
Click Add Extraction to [Category Name] button at the bottom of each category section.Extraction Output Format
Each extraction result is a JSON object with the following fields:extracted_data:
Understanding the Output
subjective field
subjective field
- Returns a string with the LLM’s analysis
- Empty string
""if no information found "null"(string) if extraction wasn’t applicable
"The customer expressed interest and agreed to a demo appointment"objective field
objective field
- Returns the configured answer value (e.g.,
"Yes","No","hot","warm","cold") nullif pre-defined answers aren’t configurednullif no matching condition was satisfied
"No" (from answer options “Yes” or “No”)confidence and confidence_label
confidence and confidence_label
"Low" results for human review.reasoning_subjective and reasoning_objective
reasoning_subjective and reasoning_objective
reasoning_subjective— present whenis_subjectiveistrue; explains the free-text responsereasoning_objective— present whenis_objectiveistrue; explains the pre-defined selection
null when their respective answer type is disabled. Useful for auditing unexpected results.validation field
validation field
text). Contains:is_valid: falsemeans the LLM’s response didn’t match the expected format — the original response is still returned insubjectiveso no data is lostnullfor plaintexttype or whenis_subjectiveisfalse
Empty vs Null
Empty vs Null
Accessing Extraction Results
Extracted data is part of the call execution result and is available asextracted_data in every execution response. You can access it in the following ways:
Via the Executions API
Via the Executions API
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.Via Webhooks
Via Webhooks
extracted_data field is included in the post-call webhook payload, the same execution object sent to your endpoint after every call.Via the Dashboard
Via the Dashboard
Via Batch Executions
Via Batch Executions
extracted_data is returned in each execution record when fetching batch execution results.Common Use Cases
Best Practices
- Write specific prompts : Clearly define what to capture and how to interpret the conversation. Avoid vague or multi-part instructions.
- Pick the right answer type : Use Pre-defined for categorical data like Yes/No or status fields, and Free Text for open-ended responses.
- Keep extractions focused : Split complex logic into multiple simple extractions rather than one long prompt.
- Test before deploying : Run your extractions against real or sample transcripts to catch issues early.

