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

# Agent Statuses Reporting

> Compare agent availability, inspect daily status history, and export a team or daily report to Excel.

Use **Reporting > Agent Statuses** to review how long agents were **Ready**,
**Not Ready**, or **Off Duty** during a selected period. Not Ready reason columns
show how much of that time was attributed to activities such as Break, Lunch,
or Training.

This report helps you review availability patterns, compare team members, and
check the recorded changes behind a total. For an agent's current status and
current workload, use [Agent Workload](https://docs.cxp.crescendo.ai/agent/search-and-analytics.md#agent-workload).

![Agent Statuses report with Ready, Not Ready, reason, and Off Duty columns for synthetic agents](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=773d948995948cae06f98cbdaf8091aa)

## Before you begin

You need the **Owner**, **Admin**, or **Team Lead** role to open the report and
export its results.

An Owner or Admin can configure **Not Ready Reasons** in **Settings > Statuses**.
Use short, distinct names that agents recognize. See
[Not Ready reasons](https://docs.cxp.crescendo.ai/capabilities/not-ready-reasons.md) for configuration and selection steps.
Every configured reason has a report column, even when no agent used it during
the selected period.

## How status changes are recorded

CXP records changes between Ready, Not Ready, and Off Duty, including changes
made by agents and automatic availability changes. Each recorded change starts
a new period of time in that status. A subsequent recorded change ends the
previous period.

Changing a Not Ready reason is also recorded. For example, changing from
**Not Ready · Break** to **Not Ready · Lunch** keeps the agent Not Ready while
starting time under Lunch. Selecting the same status and reason again does not
restart the period. Selecting Ready or Off Duty clears the Not Ready reason.

| Recorded change | Effect on the report |
| - | - |
| Ready → Not Ready · Break | Ready time ends; Not Ready and Break time begin. |
| Not Ready · Break → Not Ready · Lunch | Break time ends; Lunch time begins. Both contribute to the same Not Ready total. |
| Not Ready → Ready | Not Ready and its reason time end; Ready time begins. |
| Any status → Off Duty | Time in the previous status ends; Off Duty time begins. |

Recording starts from captured changes. CXP does not fill earlier, unrecorded
time from an agent's current status. Missing history is not counted as Off Duty.

## Choose your period and team

1. Open **Reporting > Agent Statuses**. The initial report shows **This Week** in
   your browser's timezone, with **All Agents** selected.
2. Open **Report dates**. Choose a calendar range, or enter **From Date** and
   **To Date**, and select the timezone. Select **Apply** inside the date picker
   to update the report.
3. In **Team**, keep **All Agents** or select a named team. The report updates
   as soon as you choose a team.

There is no second Apply step above the table. **Refresh** retrieves the current
selection with a new calculation time. The report does not refresh periodically
while you leave it open.

Each retrieval fixes a calculation time for the results. Searching, sorting,
changing pages, and exporting do not advance that time.

### Return to a report selection

The page address keeps your exact date range, timezone, team, and selected
agent. A named preset such as **Today** or **This Week** also keeps its label;
custom dates show the date range instead. Copy or bookmark that address to
return to the same selection, or use
your browser's Back and Forward buttons to move between selections. Someone
opening the link needs their own reporting access.

Reloading the page or selecting **Refresh** retrieves fresh results while
keeping the selected agent's daily view. The dates in the address stay fixed;
reopening a saved **Today** or **This Week** selection does not move it to a
later day or week. Choose the preset again when you want the current period.

An open day's history panel closes when the report refreshes or its selection
changes. Select the day again to review the updated history. The panel itself
is not saved in the link. If the selected agent no longer belongs to the chosen
roster, the report returns to the agent summary.

![Agent Statuses report limited to Avery and Jules, the current members of the synthetic Status Review team](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses-team.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=7ded8ebfaa782d19a298cc87af2109c0)

### Which agents appear

**All Agents** includes current active users with an Agent, Team Lead, Admin,
or Owner role. Selecting a team includes its current active members from that
same roster. Agents remain visible even when they have no recorded time in the
selected period.

The report uses current membership when you run it. It does not reconstruct who
belonged to a team on a past date. Moving an agent between teams can therefore
change who appears when you run an older period again. Inactive or deleted
agents are not added back just because they have older history.

### Dates and timezones

The selected timezone determines calendar-day boundaries. A daylight-saving
change can make a day 23 or 25 hours long.

Custom ending times include the entire ending minute. For an exact
**09:00–17:00** period, choose **09:00** as the start and **16:59** as the end.
Choosing **17:00** includes time through **17:00:59.999**.

If your period extends into the future, the report counts only through the time
fixed for that calculation. Refresh when you want to include more recent time.

## How durations are calculated

For each recorded period in a status or reason, CXP counts only the part that
falls inside your selected dates:

1. Counting starts at the later of the recorded start and the report's start.
2. Counting stops at the earliest of the recorded end, the report's end, and
   the report's fixed calculation time.
3. If a status has no recorded end yet, its contribution stops at the report's
   end or the report's calculation time, whichever comes first.
4. The counted durations are added for each agent, status, and reason.

For example, an agent is Ready from **08:30 to 10:15**. A report covering
**09:00–17:00** counts **1 hour 15 minutes** of Ready time. If the agent becomes
Not Ready at **16:45** and is still Not Ready when you load the report at
**16:50**, it counts **5 minutes** of Not Ready time. Leaving that report open
does not increase the value; Refresh retrieves a new result.

Durations use whole seconds. CXP removes fractional seconds from the counted
start and end times, then subtracts them. A change from **10:00:00.900** to
**10:00:01.100** contributes **1 second**; a recorded period entirely within
**10:00:00** contributes **0 seconds**. This is different from missing history.

### Status totals and Not Ready reasons

The table always shows **Agent**, **Ready**, **Not Ready**, all available reason
columns, then **Off Duty**. All reason columns remain visible; scroll
horizontally when there are more columns than fit on your screen.

| Column | What it counts |
| - | - |
| Ready | Recorded Ready time within the report period. |
| Not Ready | All recorded Not Ready time, with or without a selected reason. |
| Not Ready: reason | The part of Not Ready time attributed to that reason. |
| Off Duty | Recorded Off Duty time within the report period. |

Reason durations are already included in **Not Ready**. Add Ready, Not Ready,
and Off Duty when reviewing the status total; do not add the reason columns
again. Not Ready time without a selected reason contributes to Not Ready but
has no separate **No reason** column.

For a fully recorded eight-hour example:

| Status or reason | Duration |
| - | - |
| Ready | 6 hours |
| Not Ready | 1 hour |
| Not Ready: Break | 15 minutes |
| Not Ready: Lunch | 30 minutes |
| Not Ready: Training | 15 minutes |
| Not Ready: Meeting | — |
| Off Duty | 1 hour |

Ready, Not Ready, and Off Duty total **8 hours**. Break, Lunch, and Training
explain the **1 hour** already included in Not Ready. Meeting remains visible
because it is configured, although this agent has no recorded Meeting time in
the period.

### Dashes, zeroes, and reason names

A dash (**—**) means no recorded time was found for that agent and column in
the selected period. It does not mean zero time. A displayed zero means a
recorded period contributed zero whole seconds. Durations can exceed 24 hours
without restarting at zero.

Configured reasons keep their identity when renamed: earlier time appears
under the current configured name. Deleted reasons can still appear when the
selected agents used them during the report period. Reasons with identical
names remain separate, with identifying text added to their headings when
needed. Older records that identify a reason only by its label appear with
**legacy** in the heading and do not automatically combine with a configured
reason.

## Find and compare agents

Use the search box to filter by name, email, or agent ID. Select a duration
heading to sort by the amount of time, and use the controls below the table to
change pages or page size.

Search, sorting, and pagination work with the report you already loaded. They
do not retrieve a newer result or change its reporting period. Clear the search
to restore the full selected roster.

## Inspect one agent by day

Select an agent's name to replace the team summary with that agent's daily
totals. The selected name appears in bold above the table. Each row represents
a calendar date in the report's selected timezone, with the same Ready,
Not Ready, reason, and Off Duty columns.

Every date intersecting the applied period appears, including dates without
recorded activity. A date without observations has dashes. The first and last
dates count only the part inside your selected period; a daylight-saving day
can contain 23 or 25 hours. Daily totals use the loaded report's calculation
time, so opening a day does not add time to an ongoing status.

Dates appear newest first. Use **Search dates** to find a day, or select the
**Date** or duration headings to change the sort order. Search, sorting, and
pagination apply to this agent's daily rows.

![Daily Agent Statuses table for Avery Stone with Ready, Not Ready, reason, and Off Duty totals](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses-daily.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=24ee45297b23ec480283a8560da133ea)

Use **Back to all agents** above the table to return to all agents in the applied
team selection. Changing dates or timezone keeps your selected agent. Changing
teams keeps that agent only when they are in the new team's current roster.

## Review a day's Status History

Select a date in the daily table to open a panel titled with the agent's name
and day. The panel loads that day's recorded changes when you open it.

1. Review the status totals and bars to compare Ready, Not Ready, and Off Duty.
   Under **Not Ready**, one stacked bar shows how that time divides between
   observed reasons. Read durations inside the bar or in its legend, which
   lists each reason, its duration, and its percentage of total Not Ready time.
   **No Reason** appears when time was recorded without a selected reason.
   Reasons without recorded periods are omitted. These durations are already
   included in the Not Ready total; do not add them again.
2. Scroll through **Status History** to see individual status periods, their
   reasons, start times, start causes, and counted durations. The status totals
   remain visible while you scroll the history.
   Entries start newest first; use **Newest first** or **Oldest first** to
   change their order.
3. Select an entry's details icon to inspect its original start and end
   alongside the part counted for this day.

![Status History panel with daily totals, a stacked Not Ready reason bar and percentage legend, and recorded changes for Avery Stone](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses-history.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=807f4a4d57a37d95ad7384b105a1d8cd)

Recorded zero-duration reasons remain in the legend. When total Not Ready time
is zero, the bar is empty and the legend shows 0%.

Small segments may not have room for a duration label. Hover over a segment or
focus it with the keyboard to see its reason, duration, and percentage. The
legend lists all recorded reasons and scrolls when needed.

A period can begin before midnight or finish after the selected day. The daily
total includes only its overlap with the day, applied dates, and calculation
time. An ongoing period has no recorded end. Its displayed contribution stops
at the report's calculation time rather than ticking while the panel is open.

![Status Details showing original times and the duration counted for a Ready period crossing midnight](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses-history-details.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=7841f15ece328761e7775cedcf94c05f)

If no changes were recorded, the panel shows an empty history. Missing periods
are not filled with a guessed status. Refresh the report when you need more
recent activity; delayed records or corrections can change a later retrieval.

## Export the displayed report

Open **Export** and choose **Export Report** to download an Excel workbook for
the table you are viewing: the agent summary or one agent's daily totals.
The export includes every filtered row across all pages in the current sort
order. Clear the search first to include all loaded rows.

![Agent Statuses Export menu with the Export Report option](https://mintcdn.com/cxp/x_BqtB9PIAExyS1x/assets/screenshots/agent-statuses-export.png?fit=max\&auto=format\&n=x_BqtB9PIAExyS1x\&q=85\&s=f9d0c39392757653e73f665ff1ab941a)

The workbook contains one **Agent Statuses** worksheet with Agent, Email, Agent
ID, and the displayed status and reason columns. A daily export adds Date.
Durations are numeric Excel values formatted as `[h]:mm:ss`, so you can
sum them and work with totals above 24 hours. Missing values are blank; recorded
zero values remain numeric zero. The workbook uses the loaded result without
retrieving it again. Export is unavailable while results load or no rows remain.

## Review results with the right expectations

Recorded availability helps explain status patterns. It is not a measure of
attendance, focused work, call duration, or conversation handling time.

Some changes may not have been recorded. A missing change can leave gaps or
make a status appear to continue longer than it actually did. Earlier activity
is not reconstructed. When a total looks unexpected, narrow the period,
open the relevant day's Status History, and compare the recorded changes with
the agent's known activity.

You can request up to **366 days**, **5,000 agents**, and **100 reason
columns**. If a request is too large or times out, choose a shorter period or a
smaller team and try again. CXP reports the problem rather than silently cutting
off results.

If refreshing the same selection fails, the page keeps its previously loaded
results and displays a warning. If you change the date range, timezone, or team
and retrieval fails, results from the previous selection are not shown under
the new filters. Select **Retry** or **Refresh**, or adjust the selection and
try again. A failed daily table or Status History request also has a **Retry**
button.


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