# Understanding a call outcome

After every call, the transcript is processed by our post-call extractor and an **outcome** is recorded on the call record (and surfaced on the placement timeline). The outcome summarises what happened in one or two words so you can scan calls quickly, with the full transcript and the AI summary available if you want to dig deeper.

## The outcomes you'll see

The `CallOutcome` enum has ten values. They're what the post-call extractor maps the conversation to:

| Outcome              | What it means                                                           | What happens next                                                                               |
| -------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `payment_agreed`     | Debtor agreed to pay a specific amount on a specific date (PTP)         | We record a `PaymentCommitment` and schedule a follow-up the day after the promise date         |
| `plan_agreed`        | Debtor agreed to a multi-installment payment plan                       | We record the commitment with parsed installments; the plan runs through the debtor portal      |
| `dispute_raised`     | Debtor disputed the debt during the call                                | A `Dispute` row is created, placement moves to `disputed`, all outreach pauses, you're notified |
| `callback_requested` | Debtor asked us to call back later                                      | Re-attempt scheduled within frequency caps                                                      |
| `hostile`            | Debtor was hostile / abusive                                            | The agent de-escalates and ends the call; subsequent attempts are throttled                     |
| `voicemail_left`     | We reached voicemail and left a compliant message                       | Re-attempt scheduled within frequency caps                                                      |
| `no_answer`          | Phone rang out with no voicemail                                        | Re-attempt scheduled                                                                            |
| `wrong_contact`      | Number doesn't belong to the right party (wrong number or wrong person) | The agent does not disclose the debt; the number is flagged for review                          |
| `failed`             | The call itself failed at the adapter / network layer                   | We log the failure and surface it on the call row                                               |
| `no_outcome`         | The call connected but nothing actionable was extracted                 | We re-attempt per the normal cadence                                                            |

A few signals that come up on calls — bankruptcy disclosure, cease-and-desist requests, attorney mention — are captured by separate tools (`capture_bankruptcy`, `capture_cease`, `capture_attorney`) inside the call. They generate their own audit events (e.g. `voice.capture_cease_recorded`, `debtor.call_opt_out_set`) rather than appearing as `CallOutcome` values. See [Handling a bankruptcy notice](/for-creditor-partners/creditor-operations/handling-bankruptcy-notice.md) and [Handling a cease-and-desist](/for-creditor-partners/creditor-operations/handling-cease-and-desist.md).

## Where to find the call

1. Open the placement detail page.
2. Click the **Calls** tab. The badge shows the count.
3. Each call row shows: attempt number, outcome badge, started-at timestamp, duration, AI summary, and a transcript viewer. If the call is currently `answered` or `dialing`, a "live" badge appears.

If a `recording_url` is present and the placement's consent status permits, the transcript viewer plays the recording in line with the synced transcript.

## Why we record

Calls are recorded for:

* Quality and training (improving the agent over time).
* Audit and compliance (in case a debtor disputes what was said).
* Dispute resolution (so you and the debtor can both review the conversation).

Where state law requires it, the agent announces the recording at the start of the call. See [Recording consent by state](/for-debtors/compliance-and-rights/recording-consent-by-state.md).

## When the outcome doesn't match what you heard

If you listen to a call and the recorded outcome looks wrong, that's useful signal for us. The outcome is extracted from the transcript by an LLM, and like any model, it can be wrong on edge cases.

**Today there is no in-app "Flag outcome" button.** To report a mismatch, email `support@moderncollections.io` with the call ID (visible on the call row) and what you think the outcome should have been. We use those reports to improve the extractor.

The audit trail always records the original extraction; any correction is added on top, not in place of it (the extraction event is append-only, like everything else in the audit log).

## Reading a transcript

The transcript viewer renders speaker-labelled lines and (for live calls) streams partial and final lines as they come in. Plain-text transcripts and JSON-encoded line lists are both supported. Sections marked low-confidence are flagged so you know to compare against the recording.

Each call also shows any **compliance flags** the runtime recorded (for example, an aborted greeting or a missed disclosure). These render in red below the transcript.

## TODO

* Screenshot: call list view with multiple outcomes.
* Screenshot: call detail with synced audio + transcript.
* Screenshot: outcome legend tooltip.

***

Last reviewed: 2026-05-24 by Customer Success.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.moderncollections.io/for-creditor-partners/creditor-operations/understanding-a-call-outcome.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
