Skip to content

Success Goals & Data Guide

This section defines two things: what counts as a good call (success criteria), and what information to pull out of every call transcript (extraction fields). Together they turn calls from "black boxes of audio" into structured data you can report on and improve from.

You configure this in the Agent Studio under "Success Goals & Data". It has two fields.

What's a Win

What it is: A list of outcomes that count as success. These are used to score each call after it ends.

Why it matters: Without explicit success criteria, the agent is optimizing for nothing — it just talks. With them, the post-call evaluation can tell you which calls met the bar and which didn't, so you know where to iterate.

Good examples

Appointment booking:

  • "Appointment booked"
  • "All required info collected"
  • "Confirmation sent to caller's email"

Customer support:

  • "Issue resolved on the call"
  • "Ticket created with clear next steps"
  • "Caller's sentiment captured"

Sales outreach:

  • "Demo booked"
  • "Contact info captured"
  • "Fit qualified (team size, budget, timeline)"

Tips

  • Short phrases. The post-call LLM reads these. One-liner per win.
  • Concrete, not vague. "Call went well" is useless. "Appointment booked" is testable.
  • Three to five wins is enough. More and the signal gets noisy.
  • Order doesn't matter. All wins are OR'd — any one met counts.

Capture from Calls

What it is: Structured fields the AI extracts from every call transcript. Each field has a name, a data type, and a description of what to look for.

Why it matters: This is what makes your call logs searchable and reportable. Instead of re-listening to audio, you can filter for "calls where budget_signal was 'high'" or export a spreadsheet of every caller's preferred_date.

Field structure

Each captured field has three properties:

  • Field name — the key used in the extracted JSON (e.g. caller_email). Use snake_case.
  • Data typestring, number, boolean, or array.
  • What to look for — a description for the AI: where in the conversation this might appear, and what it looks like.

Good examples

Booking agent:

FieldTypeWhat to look for
full_namestringThe caller's full name, as they introduce themselves
preferred_datestringThe date and time window the caller wants
timezonestringThe caller's timezone (city, state, or explicit zone)
primary_concernstringWhat they're coming in for — symptom, appointment type, or referral reason

Support agent:

FieldTypeWhat to look for
account_emailstringThe email address on the caller's account
issue_summarystringA one-sentence summary of what's broken
resolution_statusstringWhether the issue was resolved, escalated, or still open
caller_sentimentstringpositive / neutral / negative — how the caller sounded at the end

Sales agent:

FieldTypeWhat to look for
company_namestringThe company the caller represents
team_sizenumberHeadcount if mentioned
budget_signalstringhigh / medium / low / none mentioned
follow_up_datestringWhen they want to hear back, if set

Tips

  • Name fields like API keys. Snake_case. The JSON shows up in webhooks and reports.
  • Describe what to look for, not what to extract. "The email the caller provides" is better than "email". The AI uses the description to find the value.
  • Use the right type. Numbers as numbers, not strings. Arrays for lists ("all products mentioned").
  • Start with 3–5 fields. Add more once you see what the reports actually need.

How the two work together

  • Wins tell you how many calls succeeded. They're boolean-ish: did this call meet criterion X or not.
  • Capture tells you what happened in each call. Structured data you can slice and filter.

Both feed into your analytics and post-call reports. Wins drive the success rate metric; Capture drives everything else.

Putting it together

A complete Goals configuration for a dental booking agent:

yaml
persona:
  successCriteria:
    - "Appointment booked"
    - "All required info collected"
    - "Confirmation sent"
  extractionTags:
    - tag: "full_name"
      type: "string"
      description: "The caller's full name"
    - tag: "preferred_date"
      type: "string"
      description: "The date and time window the caller wants"
    - tag: "timezone"
      type: "string"
      description: "The caller's timezone"
    - tag: "primary_concern"
      type: "string"
      description: "What they're coming in for"

Next steps

  • Write Wins first. They're the simplest and drive the most important metric.
  • Add 3–5 capture fields. The ones you'd want to see in a weekly report beat the ones that might be nice to have someday.
  • Look at real call data after a week and refine. The fields you actually needed will become obvious.