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

# Agent scorecard: one page per agent under Quality → Agents

> Read a single agent's full performance picture — QA score, schedule adherence, AHT, FCR, CSAT, compliance flags, the LLM-judged rubric breakdown, and drill-down to the source interactions behind every number.

# Agent scorecard: one page per agent

**Quality → Agents → \<agent>** is the per-agent scorecard. It composes the six metrics a supervisor needs to judge one agent — QA composite score, schedule adherence, AHT, FCR, CSAT, and compliance flags — with the LLM-judged rubric breakdown underneath, plus a coaching card that turns the numbers into next steps. Every number is computed on read from the data you already have, with drill-down to the interactions behind it.

This guide covers what the panels enumerate, who can see the page, how the rubric view composes with **Quality → Evaluations**, where each click-through lands, and how to run three common supervisory scenarios from it.

## 1. Scope — who the page is for and who sees it

The page is **per-agent** and **supervisor-facing**. Access is enforced on the server, not just hidden in the UI:

* **Owner, admin, and super-admin** roles can open any agent's scorecard.
* **Supervisors** can open agents in queues they supervise; an out-of-scope agent returns a permission notice, not the data.
* **Agents can read their own card** — and that self-view has its own dedicated surface. The agent-facing path is **My scorecard** (`/me/scorecard`), which renders the same content with self-framing, and the **My evaluations** tab under **Quality → Evaluations** covers the agent's acknowledgment and appeal flow. This page deliberately does not try to be the agent's home; it is the supervisor's deep-link into one person's record. Self-evaluations an agent submits are also excluded from every QA metric the page reports, so a self-assessment never inflates the QA average, the trend, or the flag count.

Reach the page from **Quality → Agents**, or drill directly from the [Quality leaderboard](/guides/quality-leaderboard) when a rank needs explanation.

## 2. Metric panels — what each tile reads and where it is computed

The **Performance scorecard** card at the top carries six KPI tiles and a day selector (7 / 30 / 90 days, defaulting to 30). Every tile is a server-computed aggregate over the selected window; the UI does no math beyond formatting. A metric the tenant does not capture yet degrades to a dash rather than an error — the rest of the card still loads.

| Tile           | What it shows                                                                                      | Computed from                                                                                                                                                                                                                               |
| -------------- | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **QA score**   | Mean QA score (0–100) across graded evaluations for the window, with the evaluated-count below it. | The evaluation ledger behind **Quality → Evaluations**: human-graded rows plus AI auto-scored rows, with self-evaluations and queued-but-ungraded rows excluded.                                                                            |
| **Adherence**  | Schedule-adherence percentage for the window.                                                      | The workforce-management adherence feed — the agent's scheduled shift windows rolled against their actual state events. The same scorer as the WFM adherence surface, so the two agree exactly. "—" when the agent had no scheduled shifts. |
| **AHT**        | Average handle time (talk time per handled call), with the handled-call count below it.            | Talk seconds over handled calls from the call record — the talk-only definition this workspace also uses for gamification and the wallboard, so the tile matches those surfaces. Hold and wrap are excluded on purpose.                     |
| **FCR**        | First-contact-resolution percentage.                                                               | The repeat-caller heuristic: an answered call counts as first-contact-resolved when the same caller does not call back within 24 hours. "—" when the agent answered no calls.                                                               |
| **CSAT**       | Mean customer-satisfaction score out of 5, with the response count below it.                       | Post-call CSAT survey responses (voice) plus conversation CSAT scores (digital) for the agent's handled interactions.                                                                                                                       |
| **Compliance** | Count of compliance flags raised in the window.                                                    | Evaluations marked as flagged-for-review in the window — the same flag the [Auto-QA threshold](/guides/qa-autoscore-settings) raises — with the flagged sources listed in the coaching card below.                                          |

Below the tiles, the **QA score trend** renders a daily bar for each day in the window, with adherence and handled-call context on hover, and the **Recent evaluated interactions** list shows the latest evaluations with their QA score, CSAT, flag state, and date — each row a link to the source call.

## 3. LLM-judged rubric breakdown — how it relates to Quality → Evaluations

Beneath the performance card, the rubric scorecard shows the LLM-judged quality-management view: an overall pass rate with the total-scored count and average confidence, a per-rubric bar list sorted weakest-first, the top failure modes, and a daily trend. Channel filtering (All channels / Inbox) narrows the rubric set; rubrics that have produced no scored conversations show as an explicit empty state, never as fabricated numbers.

Each rubric row is a drill-down into the scorecard-form rubric behind it — the same rubrics a reviewer grades under **Quality → Evaluations**. The composition to understand: under **Quality → Evaluations**, an AI pre-score can grade a conversation against the form before a human reviewer confirms or overwrites it (the **Auto-scored** tab); the corrected total is what the ledger keeps. This page's rubric view reads the resulting rubric-level outcomes — rubrics whose scores come from an AI pre-score that a reviewer never overrode carry the AI's confidence with them, which is why the tile reports average confidence alongside the pass rate. Treat a low-confidence rubric row as a prompt to spot-check the underlying evaluations, not as a settled human judgment. The full grading and appeal lifecycle is in [QA Evaluations](/guides/quality-evaluations).

## 4. Drill-down to source interactions

Every KPI is a summary; supervision happens on the interactions beneath it. The page names its transitions explicitly:

* **Recent evaluated interactions** → each row links to the source call on **Voice → Calls** (`/voice/calls?call=<id>`), opened at that call so you can listen and re-read the transcript against the score.
* **Coaching card compliance flags** → the flagged-for-review interactions link to the same **Voice → Calls** detail view.
* **Rubric rows and failure modes** → continue to **Quality → Evaluations** filtered to the agent to read the graded conversations, then **Quality → Recordings** for the recordings those evaluations grade.

Work one low outlier per coaching session: open the evaluation, listen to the recording, and decide whether the score survives your own read. If it does not, that is a calibration signal for your reviewers or the Auto-QA threshold — not automatically an agent problem.

## 5. Comparison shards — window plus coaching baseline

The page has no absolute numbers without a comparison shard, and it uses two:

* **Window shards.** The 7 / 30 / 90-day selector re-aggregates every tile server-side on each switch. Use 7d for shift-floor checks, 30d (the default) for the standard coaching view, and 90d — the maximum the server accepts — for review-conversation inputs where the sample is large enough to be fair. A 7-day spike is noise until the 30-day shard confirms it.
* **Baseline vs. peek.** For coaching measurement specifically, the supervisor-notes flow compares a pre-coaching baseline window against a post-coaching window of equal length anchored at the coaching note — the before/after report that tells you whether the intervention moved response time, resolution rate, or CSAT. The convention is symmetric windows; the after-window is capped at now so an in-flight measurement never reads a future, empty span.

There is no cross-agent comparison on this page by design — ranking, team averages, and cohort views live on the [Quality leaderboard](/guides/quality-leaderboard). This page answers "how is this one agent doing," not "where do they rank."

## 6. API equivalents

The two reads behind the page are public API endpoints. Both require the `inbox:read` scope and apply the role rules from section 1 — an agent can read their own card; an out-of-scope supervisor gets a `403`.

Fetch the unified performance scorecard:

```bash theme={null}
curl -H "Authorization: Bearer $API_KEY" \
  "https://orbit.devotel.io/api/v1/agents/<agentId>/scorecard?window=30d"
```

```json theme={null}
{
  "data": {
    "agent_id": "user_2abc…",
    "agent_name": "Priya Raman",
    "window": { "from": "2026-08-05T…", "to": "2026-09-04T…", "days": 30 },
    "kpis": {
      "qa_score": 87.4, "qa_evaluation_count": 12,
      "adherence_percent": 91.2,
      "aht_seconds": 242, "calls_handled": 311,
      "fcr_percent": 74.3,
      "csat_score": 4.31, "csat_response_count": 58,
      "compliance_flags": 1
    },
    "trend": [{ "day": "2026-08-05", "qa_score": 84.0, "qa_count": 1, "calls_handled": 11, "aht_seconds": 238, "csat_score": 4.2, "adherence_percent": 93.0 }],
    "recent_interactions": [{ "call_id": "call_9f2…", "qa_evaluation_id": "qae_71c…", "qa_score": 91.0, "status": "acknowledged", "csat_score": 5, "flagged_for_review": false, "occurred_at": "2026-09-03T…" }]
  }
}
```

Fetch the LLM-judged rubric view — per-rubric pass rates, daily trend, and top failure modes:

```bash theme={null}
curl -H "Authorization: Bearer $API_KEY" \
  "https://orbit.devotel.io/api/v1/inbox/agents/<agentId>/scorecard?days=30&conv_type=all"
```

Both are computed at read time — no cached snapshot; `days` and `window` accept up to 90 days and default to 30. Metric values degrade to `null` when the underlying feed has no rows for the window, so a tenant without WFM schedules or without surveys gets a partial card, never an error. The coaching-comparison read is `GET /api/v1/inbox/agents/<agentId>/coaching-effectiveness?window_days=14`, which returns the symmetric before/after KPI deltas around an intervention.

## 7. How supervisors should use it in practice

Three scenarios the page is built for:

1. **Flag an agent for investigation.** Compliance tile above zero, or a QA score sitting below your floor on the 30-day shard? Open the coaching card's flagged interactions, listen to each on **Voice → Calls**, and check whether the flags cluster — one bad day is a coaching note; a pattern across the window is a plan.
2. **Detect calibration drift.** When the rubric view's average confidence is high but your own re-grades keep disagreeing with the scores, the drift is in the reviewers or the Auto-QA threshold, not the agent. Use **Quality → Evaluations → Calibration** to re-align reviewers, and re-check the [Auto-QA threshold](/guides/qa-autoscore-settings) if AI pre-scores are the source of the disagreement. A supervisor who skips this step ends up coaching agents for scoring-system errors.
3. **Kick off a coaching plan.** The coaching card surfaces the weakest rubrics as explicit focus areas and shows the agent's active plan if one exists. Author the plan under **Voice → Coaching → Coaching plans**, note the baseline date, and return after the plan closes: the coaching-effectiveness read gives you the symmetric before/after report on the same metrics this page tracks, so the plan's outcome is measured, not asserted.

## See also

* [Quality leaderboard](/guides/quality-leaderboard) — cross-agent ranking and drill-down into this page
* [QA Evaluations](/guides/quality-evaluations) — scorecard forms, the grading workflow, and the appeal lifecycle
* [Voice coaching plans](/guides/voice-coaching-plans) — the plans the coaching card links into
* [QA sampling settings](/guides/qa-sampling-settings) — the sampler that feeds the evaluation ledger
* [Auto-QA flag threshold](/guides/qa-autoscore-settings) — where auto-scored QA and compliance flags come from
