Skip to main content

Intelligent Monitoring

Each call is automatically distilled into structured fields. Define your own Custom Call Outcomes in the app, and we’ll populate them from the call transcript—reliably and in a strict schema. It turns messy call transcripts into simple fields you can trust, so you can search, filter, and act on calls without rereading them.
At a glance
  • Add shared fields under Settings → Outcomes, or agent-specific fields under Post-processing → Custom call outcomes
  • Choose a type (Boolean, Text, Number, Category)
  • Select Reason to add an optional explanation for each value
  • View results in Conversation History and receive them via webhook
Define your own call outcomes for the information you need to capture. Account outcomes are shared across your agents; agent-specific outcomes apply to one agent. Their results appear in Conversation History. Every account also includes a default conversation outcome (Boolean) that records whether a two-way conversation took place. You can edit or reset its instructions, but not rename, change the type of, or delete it.
call_analysis and call_outcome are deprecated and will be removed on 1st of February 2027. Both fields are retained for compatibility until then. Update your integrations to use outcomes before the removal date.

How it works

A dedicated extraction model analyzes the conversation transcript and fills your fields:
  • Schema-strict: output always matches the field type you selected.
  • No guessing: if a value isn’t clearly supported by the transcript, it’s null.
  • Robust to STT: built for speech-to-text imperfections and everyday phrasing.
  • Date-aware: the model knows the call’s date, weekday, and local time, so relative wording like “tomorrow” or “next Friday” and dates said without a year resolve against the day of the call.
If Reason is enabled for a field, we also return a short explanation for the chosen value.

Create a field

  1. For a shared field, go to Settings → Outcomes → Create outcome. For an agent-specific field, go to Agents → [agent] → Post-processing → Custom call outcomes → Add.
  2. Name the field (use snake_case, e.g., lead_conversion).
  3. Pick a Field type.
  4. Write clear Instructions (see templates).
  5. Save. New calls will be analyzed for this field.
Call Analysis Edit Self Serve Field types
  • Boolean (True/False): yes/no or binary states
  • Text: short free-form text
  • Number: integer or decimal
  • Category: one option from a list you define (use labels your team understands)

Plan before you add fields

  • What decision will this field drive? (reporting, routing, QA, follow-ups)
  • Which type is simplest for that decision?
  • For Category, define a small, clear option set.
  • Keep the Instructions unambiguous and focused on what to extract.
  • Confirm downstream systems handle new fields and null safely.

Instruction templates (copy/paste)

  • Boolean — lead conversion Set to true only if the customer clearly agreed to be contacted again (explicitly or by accepting next steps). Otherwise set to false.
  • Category — lost reason Select the single best explanation for why the customer is not proceeding.
    • Choose NO_INTEREST if the customer is no longer interested in the product.
    • Choose PREVIOUSLY_CONTACTED if the customer already been contacted about this topic
    • Choose TOO_EXPENSIVE if the customer expresses reluctance about the price of the product
  • Text — follow-up timing Return the agreed follow-up time concisely (e.g., Thursday 09:00).
  • Number — quantity requested Return the total number of units requested.
  • Text — insurance provider (string example) Return the exact insurance provider the customer says they are a member of (e.g., Insurance A, Insurance B, Insurance C).
Best practices
  • One decision per field.
  • Prefer Category over Text when you’ll filter or chart results.
  • Include brief examples in the instructions if edge cases exist.
  • Remember that the analysis is based on the call transcript and the date and time of the call.

Data you’ll receive

Get Call, List Calls, and the call_ended webhook send outcomes for all accounts. The field contains account and agent call outcomes as an array of { key, dataType, value, reason? } entries. When both sources return the same key, only the agent result is included. Legacy system results from call_analysis are not automatically included in outcomes. Create account outcomes under Settings → Outcomes for any information you still need. The deprecated fields retain their existing formats for compatibility until their removal on 1st of February 2027. The following example includes these compatibility fields.
Notes:
  • Reason appears only if enabled for that field.
  • Fields may be null when the transcript doesn’t clearly support a value.