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

# Report on soonest availability

> Review earliest appointment availability in the dashboard, retrieve it from the Coach API, and download it in Coach CSV exports.

Soonest availability measures how far out the earliest appointment slot returned to the Avoca agent was. Use it to compare booking outcomes across different waits and calculate average availability for a reporting period.

These values come from recorded availability lookups. They describe what the agent could offer, not necessarily the slot spoken aloud or the appointment ultimately booked. They are different from **Time to Availability (seconds)**, which measures seconds from call start to the first successful availability result.

## Review availability in the dashboard

When enabled for your team, open **Channels → Calls** in the Avoca Calls workspace and find **Soonest availability offered** below the call analytics.

1. Set the page's date range.
2. Review booking outcomes grouped by how many days out availability was, including calls with **No availability**.
3. Choose **Service types**, **Appointment types**, or **Job types**. The table includes median and 90th-percentile days out, same-or-next-day availability, and booking rate.
4. Select a breakdown row to see its individual calls, earliest slots, days out, and outcomes. Select **View call** to inspect a call.

The card uses the page's date range; other Calls filters do not filter this card. Use its breakdown rows to inspect a subset. If the card is not available, contact your Avoca team about access.

## Retrieve the fields from the Coach API

Use an API key with **`read:coach`** permission and call **`GET /api/coach`**. Both availability fields are included automatically; no Data Configuration selection is required for this endpoint.

| API field               | Coach CSV column               | Meaning                                                                                                                                                                                     |
| ----------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `soonest_slot_at`       | **Soonest Slot Offered (UTC)** | Earliest appointment slot returned across the linked Avoca call's availability lookups, as a UTC timestamp, or the lookup-time fallback for undated immediate availability described below. |
| `soonest_slot_days_out` | **Soonest Slot Days Out**      | Calendar days between the lookup that returned that slot and the slot itself, in the linked call's team time zone. `0` means same-day availability.                                         |

<Note>
  An availability lookup can return an immediate window without a dated appointment slot, such as **By Request Only**. For that result, Avoca uses the lookup's timestamp as the availability timestamp and counts it as **0 days out**. If that is the earliest result for the call, the API and CSV contain this fallback. Treat it as an immediate-availability indicator, not a confirmed appointment start time. These fields alone do not distinguish this fallback from a dated same-day slot.
</Note>

A multi-team key must identify the team with **`x-team-id`**. A single-team key is already scoped to its team. See [Authentication and permissions](/api-reference/authentication).

Replace the placeholders below with your API key and an accessible team ID, and set your reporting dates. The example dates are in UTC.

```bash theme={null}
curl --get 'https://enterprise-api.avoca.ai/api/coach' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'x-team-id: YOUR_TEAM_ID' \
  --data-urlencode 'start_date=2026-09-01T00:00:00Z' \
  --data-urlencode 'end_date=2026-09-07T23:59:59.999Z' \
  --data-urlencode 'limit=100' \
  --data-urlencode 'offset=0'
```

The response includes the following fields alongside the other Coach data. This example shows only the availability fields:

```json theme={null}
{
  "data": [
    {
      "soonest_slot_at": "2026-09-03T14:00:00.000Z",
      "soonest_slot_days_out": 2
    }
  ],
  "pagination": {
    "limit": 100,
    "offset": 0,
    "has_more": false
  }
}
```

If `pagination.has_more` is `true`, increase `offset` by `limit` and request the next page with the same dates. Continue until `has_more` is `false` before calculating a reporting-period average.

The endpoint returns evaluated, unarchived Coach calls in the requested call-date range. Changing the API's `timezone` display parameter does not change `soonest_slot_days_out`, which uses the linked call's team time zone.

## Download a Coach CSV

1. Select your team and open **Products → Coach → Overview**.
2. Set the date range and any filters for the calls you want to export.
3. Select the download icon labeled **Export Data** beside the date controls. Confirm the date range, then select **Start Export**.
4. When the export is ready, use the email notification or reopen **Export Data → Recent Exports** and select **Download CSV**.

The CSV includes **Soonest Slot Offered (UTC)** and **Soonest Slot Days Out** automatically. You do not need to select **Include transcripts** or **Include rubric details** to receive them.

## Calculate average availability in days

Average the non-null `soonest_slot_days_out` values from the API, or the numeric values in the CSV's **Soonest Slot Days Out** column. Include zeros and exclude nulls or blank cells.

For example, values of `0`, `2`, `4`, and `null` have an average of **2 days**: `(0 + 2 + 4) / 3`. Combine all calls across API pages before averaging. If no calls have a numeric value, report the average as unavailable.

## Interpret missing values and differences

* **`null` in the API or a blank CSV cell** means availability is unavailable for that Coach record. This can happen when there is no linked Avoca call, no recorded supported availability lookup, or no slot was returned. It does not mean zero days or prove that no appointments were available.
* **No availability in the dashboard** counts calls whose recorded lookups never returned a slot. A blank Coach export cell alone cannot identify that group.
* **Dashboard and Coach totals can differ.** The dashboard examines availability lookups for AI calls in its selected call-date range, while the Coach API and export select evaluated Coach records. Match the population and dates before comparing results. The dashboard's median and 90th percentile are also different statistics from an arithmetic average.

For more on exporting and reviewing Coach records, see [Coach overview](/coach/overview).
