Extraction Templates

Define the fields an LLM extracts from each call transcript - text, numbers, yes/no, choices, dates and lists - or start from a preset for sales, support, collections, surveys and more.

3 min readUpdated

An extraction template lists the fields you want pulled out of every call transcript, such as buying intent, budget, callback time or whether an issue was resolved. After the call, an LLM reads the transcript and fills each field. Start from a preset or build your own, then use the results in workflows, webhooks, CRM updates and analytics.

Field types#

Type Use it for Example
string Free text call_summary, budget_range
number Scores and amounts lead_score
boolean Yes or no follow_up_required, issue_resolved
enum One value from a list you define buying_intent: high, medium, low
date Dates and times callback_date
array Several values products_mentioned

Each field has a name (used in workflows as {{field_name}}), a label, a type, a description that tells the LLM what to look for, and allowed values for enum fields.

Presets#

Preset Example fields
Sales Lead Qualification buying_intent, lead_score, budget_range, purchase_timeline, decision_maker
Outbound Sales Call Analysis call_outcome, product_interest, decision_maker_reached, next_steps
Customer Support Analysis issue_resolved, satisfaction_score, issue_category, resolution_summary, escalation_needed
Complaint Handling complaint_type, severity, resolution_status, root_cause, csat_score
Real Estate Lead Qualification property_interest, buying_intent, budget_range, location_preference, site_visit_scheduled
Solar Lead Qualification interest_level, home_ownership, roof_space, monthly_bill_amount, objections
Appointment Booking booking_status, appointment_type, preferred_date, confirmed_datetime
Debt Collection payment_intent, promise_to_pay, ptp_date, ptp_amount, objection_type
NPS Survey nps_score, promoter_category, feedback_category, verbatim_feedback
HR Exit Interview consent_given, primary_exit_reason, preventable, willing_to_rejoin
Healthcare Appointment appointment_status, appointment_type, urgency_level, scheduled_datetime

Create a template#

  1. Open the agent and go to the post-call or extraction settings.
  2. Choose a preset, or start empty.
  3. Add or edit fields. Write each description as an instruction ("Set to true only if the caller agreed to a callback").
  4. Optionally add extra instructions and the language for extraction.
  5. Save. The template runs on every new call for that agent.
  6. Open a recent call and click Regenerate to test it on a real transcript.

Example#

{
  "fields": [
    { "name": "buying_intent", "label": "Buying intent", "type": "enum",
      "enumValues": ["high", "medium", "low"],
      "description": "How ready the caller is to buy, based on what they said." },
    { "name": "budget_range", "label": "Budget", "type": "string",
      "description": "The budget the caller stated, in their words." },
    { "name": "follow_up_required", "label": "Follow-up required", "type": "boolean",
      "description": "True if the caller asked to be contacted again." }
  ]
}

Where results go#

FAQs#

Which model runs extraction? A Gemini or OpenAI model, set on the template. The default is a fast, low-temperature model so results are consistent.

What if the caller never mentioned a field? The field is left empty. Do not ask the LLM to guess; say "leave empty if not mentioned" in the description.

Can I change a template after calls have run? Yes. New calls use the new template. Use Regenerate to re-run older calls.

Does extraction run on calls with no transcript? No. Calls that never connected have nothing to extract.

Was this page helpful?