Skip to main content

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 card with Extraction Library and Test buttons, a Call Summary toggle switched on, a Lead Qualification category with a GPT 4.1 Mini model selector and an Add Extraction button, a Lead Quality extraction row with edit and delete icons, and a New Category button

Extractions card with a category and one extraction template

Configuring extractions via the API instead of the dashboard? The new Extractions feature is powered by the Dispositions API.

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 card with Extraction Library and Test buttons, a Call Summary toggle and a New Category button

Extractions card on an agent with no categories yet


Creating categories

Categories help you organize related extractions together. For example, “Agent Handover”, “Visit Details”, or “Lead Qualification”.
1

Click New Category

Start by creating a category to organize your extractions.
2

Enter Category Name and Model

Choose a descriptive name like “Agent Handover” or “Visit Details”, and pick the LLM model for the category. The model applies to every extraction in the category — each category is evaluated in a single LLM pass.
3

Click Create Category

Your category is now ready for extractions.
New Category modal with a Name field, a Model selector set to GPT 4.1 Mini, a note that all extractions in a category run in one LLM pass on this model, and Cancel and Create Category buttons

New Category dialog with the name and model fields


Creating extractions

Within each category, you can create multiple extraction templates to capture different data points.
New Extraction in Lead Qualification modal with Name and Extraction Prompt fields, Free Text and Pre-defined answer type checkboxes, and two Possible Answers rows hot_lead and not_qualified each with a condition, plus Cancel and Save Extraction buttons

New extraction form with pre-defined answers

Extraction fields

A descriptive name for the extraction (e.g., “Call Outcome”, “Customer Sentiment”, “Agent Handover Needed”).This name will appear in your extraction results and webhooks.
Instructions that guide the LLM on what to extract from the transcript.Example prompts:
You can use variables like {{name}}, {{candidate_name}}, {{email}} to reference call-specific data from recipient_data.
Choose how the LLM should structure its response:Free Text
  • LLM generates a custom answer based on conversation context
  • Best for open-ended questions and detailed responses
  • Example: “Describe the customer’s main concern”
Pre-defined
  • LLM selects from predefined options you configure
  • Best for categorical data and structured responses
  • Example: Lead quality (hot/warm/cold), Yes/No questions
Both boxes can be ticked — the result then carries a free-text subjective value and a pre-defined objective value.
When creating extractions with Free Text enabled, you can constrain the response format using the Expected Format dropdown:When Custom Regex is selected, two additional fields appear:
  • Pattern (required) — The regex the response must match (e.g., ^\d{10}$)
  • Description (optional) — Human-readable label (e.g., “10-digit phone number”)
Responses are automatically validated against the expected format. Invalid responses are flagged but preserved — the original response is still returned so no data is lost.
The LLM model is set on the category and applies to every extraction in it — each category is evaluated in a single LLM pass.Default: 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
Example:
  • 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.
Edit Extraction Template modal for Lead Quality with its extraction prompt, an unchecked Free Text box, a checked Pre-defined box and Possible Answers rows hot_lead and not_qualified, each with a condition, a Sub-option button and a delete icon, plus Cancel and Save Changes buttons

Edit Extraction Template with pre-defined answers

Best for:
  • Yes/No questions
  • Status classifications
  • Lead scoring
  • Outcome categorization

Configuring pre-defined answers

Each answer option consists of:
  1. Answer Value - The value to return (e.g., “Yes”, “No”, “hot”, “warm”, “cold”)
  2. Condition - Instructions for when to select this answer
Use Sub-option to nest a follow-up answer under an option (for example a reason under a No), the arrows to reorder options, and Add Answer to append a new one. Example: Agent Handover Detection Answer 1:
  • Value: Yes
  • Condition: yield if any one of the triggers for handover are satisfied
Answer 2:
  • Value: No
  • Condition: yield if none of the triggers for handover are satisfied
Conditions support variables like {{name}}, {{candidate_name}} for dynamic evaluation based on recipient data.

Managing extractions

Edit an extraction

  1. Click the edit icon (pencil) on any extraction card
  2. Modify the name, prompt, answer type, or model
  3. Click Save Changes

Delete an extraction

  1. Click the delete icon (trash) on any extraction card
  2. Confirm deletion

Test and read results

Test extractions

Run extractions against sample or real transcripts and refine prompts before going live.

Output format & results

The JSON shape of every extraction result and how to read it from the API, webhooks and dashboard.

Reusing extractions from the library

Click Extraction Library in the Extractions card to add an existing extraction to a category instead of writing one from scratch.
  • My Extractions — every extraction already defined across your workspace’s agents, grouped by category, with a Used in list showing which agents use it
  • Library — Bolna’s ready-made templates grouped by industry (All Industries, Ed Tech, and more)
Select an entry to preview its category, answer type and prompt, choose the target category at the bottom, then click Add extraction.
Extraction Library panel with a search box, My Extractions and Library tabs, a list of workspace extractions grouped by category, and a detail pane showing the selected extraction's category, answer type Timestamp, prompt and Used in list, with a category selector and Add extraction button

Extraction Library showing extractions already used in the workspace

Extraction Library panel on the Library tab listing templates grouped by All Industries and Ed Tech, with a detail pane for Customer Name showing answer type Free text, a what this extracts summary and the full prompt

Library tab with Bolna's ready-made extraction templates


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.
Deleting a category is permanent and cannot be undone. All extractions in the category will be deleted.

Add extractions to a category

Click Add Extraction to [Category Name] button at the bottom of each category section.

Call summary

The call summary is an agent-level toggle (call_summary_enabled), off by default. When on, Bolna runs a dedicated platform summary pass after each call and writes the result in two places:
  • the execution’s summary field
  • extracted_data under General > Call Summary, with only a subjective value
The Call Summary entry is not a regular extraction: the objective, confidence, reasoning_*, and validation fields do not apply to it, and it is not configured through dispositions or categories. Agents with the toggle off produce no call summary. Enable it from the agent’s settings in the dashboard or by setting call_summary_enabled via the agent APIs.

Common use cases


Best practices

  1. Write specific prompts : Clearly define what to capture and how to interpret the conversation. Avoid vague or multi-part instructions.
  2. Pick the right answer type : Use Pre-defined for categorical data like Yes/No or status fields, and Free Text for open-ended responses.
  3. Keep extractions focused : Split complex logic into multiple simple extractions rather than one long prompt.
  4. Test before deploying : Run your extractions against real or sample transcripts to catch issues early.

Next steps

Extractions API

Access extractions programmatically

Webhooks

Receive extraction data in real-time

Call history

View extraction results for past calls

Extractions tab

Configure other post-call tasks