> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telli.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Outcomes

> Define fields to extract structured results from your calls

Outcomes are structured results extracted from a call transcript after the call ends. Define fields to record information such as lead conversion, follow-up timing, or a reason for lost interest.

> **At a glance**
>
> * Create and edit fields under **Settings → Outcomes** or in an agent's **Call Outcomes** tab
> * Use **Applies to** to choose all agents, selected agents, or no agents
> * Choose a type (Boolean, Text, Number, Category, Multi Category)
> * Enable **Provide reason** to add an optional explanation for each value
> * View results in **Conversation History** and receive them via the [call\_ended webhook](/webhooks/events/call-ended)

Define your own call outcomes for the information you need to capture. Custom outcomes apply to all agents, selected agents, or no agents. Outcomes with no assigned agents remain saved but are not extracted from new calls. **Settings → Outcomes** lists all outcomes. An agent's **Call Outcomes** tab lists the outcomes that apply to that agent, including outcomes for all agents. Both locations use the same editor. 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.

***

## 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.
* **Missing information:** Text, Number, Category, and Multi Category fields return `null` when required information is missing. Boolean fields convert `null` to `false` before returning the result.
* **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 **Provide reason** is enabled for a field, telli also returns a short explanation for the chosen value.

***

## Create a field

1. Go to **Settings → Outcomes → Create outcome**. To start from an agent, open its **Call Outcomes** tab and select **Create outcome**.
2. Enter a **Name** for the field, such as `lead_conversion`.
3. Select a **Field Type**.
4. Under **Applies to**, select all agents, specific agents, or **Deselect all** to assign no agents. New outcomes start with all agents selected in Settings, or the current agent selected in the agent's tab.
5. Write clear **Instructions** (see [templates](#instruction-templates-copy%2Fpaste)).
6. For **Category** or **Multi Category**, add the allowed **Category Values**.
7. To include an explanation, enable **Provide reason**.
8. Select **Create**. telli extracts this field from new calls.

> [!NOTE]
>
> Changes to a shared outcome apply to every agent that uses it, including changes made from an agent's **Call Outcomes** tab.

**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)
* **Multi Category:** multiple options from a list you define

***

## 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](/v1/endpoint/get-call), [List Calls](/v1/endpoint/list-calls), and the [call\_ended webhook](/webhooks/events/call-ended) return extracted results in the `outcomes` field. Each entry contains `key`, `dataType`, `value`, and an optional `reason`.

```json theme={null}
{
  "outcomes": [
    {
      "key": "lead_conversion",
      "dataType": "boolean",
      "value": true,
      "reason": "Customer confirmed they want to be contacted."
    },
    {
      "key": "lost_reason",
      "dataType": "category",
      "value": "NO_INTEREST",
      "reason": "Customer explicitly mentioned that they are not planning to buy right now."
    },
    {
      "key": "insurance_provider",
      "dataType": "string",
      "value": "Insurance A",
      "reason": "Customer stated their insurer explicitly."
    }
  ]
}
```

Notes:

* `reason` appears only if enabled for that field.
* Text, Number, Category, and Multi Category fields return `null` when required information is missing. Boolean fields convert `null` to `false` before returning the result.


## Related topics

- [Call Outcomes](/cookbooks/call-outcomes/overview.md)
- [The telli Agent Interface](/en/get-started/review-and-personalize.md)
- [Settings](/platform/settings.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.