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

# Call Outcomes: AI-Assigned Labels and Post-Call Analysis

> After every call, Scalysis AI assigns an outcome label, summary, and transcript. Learn what each field means and how to retrieve call outcomes via the API.

Once a call ends, Scalysis automatically analyses the conversation and assigns a structured outcome. This outcome tells you what happened on the call — whether the customer confirmed an order, asked to be called back, was unreachable, or said something the AI could not clearly categorise. Instead of listening to every recording manually, you get a machine-generated label, a short summary, and a full transcript delivered through a single API endpoint.

## What Is a Call Outcome?

A call outcome is a label that the AI assigns after evaluating the conversation. The exact labels available depend on how your script's **post-call QA** is configured, but common examples include:

* **Order confirmed** — the customer agreed to accept the order.
* **Callback requested** — the customer asked to be called at a different time.
* **Insufficient Talk** — the call connected but neither party exchanged enough meaningful dialogue for the AI to classify the result.
* **Unclear** — the conversation was audible but the customer's intent could not be determined.

Because labels are tied to your script's QA configuration, you may see different labels across different scripts. Review the QA settings on your script's detail page in the dashboard to see the full list of possible outcomes for that agent.

## Outcome Response Fields

The outcome endpoint returns a rich set of fields covering both the call's technical details and the AI's analysis.

| Field             | Type   | Description                                                       |
| ----------------- | ------ | ----------------------------------------------------------------- |
| `callOutcome`     | string | The AI-assigned outcome label for the call.                       |
| `callStatus`      | string | Technical call status: `completed`, `failed`, `in_progress`, etc. |
| `callDurationSec` | number | Total call length in seconds.                                     |
| `totalCallCost`   | number | Amount deducted from your wallet for this call.                   |
| `summary`         | string | A short AI-generated summary of the conversation.                 |
| `transcript`      | array  | Full conversation as an ordered array of turn objects.            |

### Transcript Turn Object

Each item in the `transcript` array represents one conversational turn:

| Field       | Type   | Description                                        |
| ----------- | ------ | -------------------------------------------------- |
| `speaker`   | string | Who spoke: `"agent"`, `"customer"`, or `"system"`. |
| `text`      | string | The transcribed text of the turn.                  |
| `timestamp` | number | Offset in milliseconds from the start of the call. |

## Example Outcome Response

The following is a representative response from `GET /api/v1/orders/{orderId}/outcome`:

```json theme={null}
{
  "success": true,
  "orderId": 1368642,
  "orderNumber": "demo-order-001",
  "callStatus": "completed",
  "callDurationSec": 13,
  "callOutcome": "Insufficient Talk",
  "totalCallCost": 1.0833,
  "summary": "Agent introduced themselves; customer asked for identity and the call ended before the order could be discussed.",
  "transcript": [
    {
      "speaker": "agent",
      "text": "Hello, am I speaking with the customer for order demo-order-001?",
      "timestamp": 123
    },
    {
      "speaker": "customer",
      "text": "Who is this?",
      "timestamp": 456
    },
    {
      "speaker": "system",
      "text": "Call ended.",
      "timestamp": 789
    }
  ]
}
```

In this example, the call lasted only 13 seconds and the AI labelled it `"Insufficient Talk"` because the customer did not engage long enough to determine intent.

<Note>
  Recording URLs are **not** included in the outcome response. Scalysis does not expose audio file links through the outcome endpoint. If you need call recordings, check your dashboard settings or contact Scalysis support about your account's recording configuration.
</Note>

## Next Steps

To learn how to fetch outcomes in practice — including how to poll for a result after triggering a call — see the [Fetch Call Outcomes guide](/guides/fetch-outcomes).
