Call Outcomes & Evaluation
Turn each conversation into a disposition and structured fields you can act on
Overview
A transcript tells you what was said. An outcome tells you what happened. After each call, urvo can read the conversation and return a single disposition plus any structured fields you asked for — so instead of reading transcripts you can route, report and automate on values like interested or do_not_call.
Two related but separate features live here:
- Call outcome schema — the dispositions and fields extracted from every call.
- Evaluation criteria — a success test applied to the conversation.
Call outcome schema
Open the agent, go to Configuration, and find the outcome schema in the Advanced section. A schema has two parts: a list of dispositions and a list of fields.
Dispositions
A disposition is the one label that best describes how the call ended. Exactly one is chosen per call. When you first set up a schema, urvo pre-fills a starting set:
interestednot_nowvoicemailcallbackdo_not_call
Edit these freely — they are a starting point, not a fixed vocabulary. Write them in lowercase letters, digits and underscores, for example do_not_call. Anything else is rejected as you type. Duplicates are refused too.
Keep the list short and mutually exclusive. If two dispositions could both reasonably apply to the same call, extraction becomes a coin flip and your reporting inherits that noise.
Captured fields
Fields pull specific values out of the conversation — a budget figure, a preferred callback time, whether the caller is an existing customer. Each field has a name and a type.
Field names must be valid identifiers: letters, numbers and underscores, starting with a letter or underscore. Available types:
| Type | Use for |
|---|---|
string | Names, free text, reference numbers |
integer | Whole numbers such as quantities |
number | Decimals such as amounts |
boolean | Yes or no facts |
array | Lists, such as several products mentioned |
object | Grouped values, such as an address |
Only ask for fields the conversation could plausibly contain. A field the caller never discussed comes back empty, and asking for many speculative fields makes extraction less reliable across the board.
When extraction fails
Extraction is performed by a language model reading the transcript, so it is not guaranteed. When it fails, the outcome is reported as unavailable with a failure status rather than being silently invented.
Two consequences worth designing for. First, downstream automations still fire — a failed extraction does not suppress the call event, so a workflow that assumes an outcome is present needs to handle its absence. Second, an empty field means "not found in this conversation", which is not the same as a confirmed negative. Do not read a missing budget as a budget of zero.
Using outcomes
- Workflows. The Specific Outcome Detected trigger starts a flow only when a call ends in a chosen disposition, so you can route an
interestedcall straight into your CRM and ado_not_callcall into a suppression list. See urvo pieces. - Post-call webhooks. The outcome can be included in the payload sent to your own endpoint. See post-call webhooks.
- Review. Outcomes appear alongside recordings and transcripts in call analytics.
Evaluation criteria
Evaluation criteria answer a different question: not "what happened" but "did this call go well". Find Evaluation Criteria in the same Advanced section.
Each criterion has:
- Criteria name — a label for what you are measuring.
- Evaluation instructions — the test itself. The field is fixed to begin with "The call is successful if " and you complete the sentence.
Because the opening is fixed, write the completion as a condition rather than a full sentence:
The call is successful if the caller confirmed their appointment date and time.Write something a reader could check against the transcript and agree with. Vague criteria such as "the caller was happy" produce inconsistent judgements; concrete, observable conditions produce stable ones.
Outcomes or evaluation?
| Outcome schema | Evaluation criteria | |
|---|---|---|
| Question | What happened on this call? | Did this call succeed? |
| Produces | One disposition plus captured fields | A success judgement |
| Drives | Workflow triggers, webhooks, routing | Quality review and agent tuning |
Most teams want both: outcomes to act on, evaluation to improve the agent.
Next steps
- Post-call webhooks — receive outcomes at your own endpoint.
- urvo pieces — trigger automations from a disposition.
- Analyze calls — review outcomes with recordings.