What are SLAs?
Service Level Agreements (SLAs) define the expected response and resolution times for customer support interactions. The SLA analytics API lets you track:- Compliance rates — How often your team meets SLA targets for first response and resolution
- Coverage — What percentage of sessions are covered by an SLA policy
- Percentiles — Response and resolution time distributions (p50, p90, p95)
- Trends — How compliance changes over time
- Breach patterns — When SLA breaches are most likely to occur
Phone answer time
The phone endpoints grade every wait for an agent against the phone answer-time target of the policy that applies: the team’s phone SLA policy, else the workspace default. A wait runs from when the caller starts waiting for an agent to when an agent accepts, counting office hours only. Outcomes areanswered, caller_hung_up, timed_out, no_agents, and voicemail. Rates are fractions from 0 to 1. Agents are judged only on their own rings. See Phone answer-time SLA for the measurement rules and the policy fields.
Available Endpoints
Overview
Get SLA compliance rates, coverage, and response/resolution time percentiles
Breakdown
Get SLA compliance grouped by policy, team, agent, or channel
Trend
Get SLA compliance rates over time, grouped by day or week
Breach Heatmap
Get a heatmap of SLA breaches by hour of day and day of week
Phone answer time
Get answer-time compliance, outcomes, abandon rate, and answer-time percentiles for callers waiting for an agent
Phone answer time breakdown
Get phone answer-time compliance grouped by team, policy, day, or hour of day
Phone answer time by agent
Get each agent’s rings offered, answered, declined, missed, answer rate, and time to answer
Historical reports and freshness
All four endpoints support historical date ranges without a fixed maximum span. Recent changes may take a short time to appear. Session counts and duration percentiles use session creation dates; compliance events and breach heatmaps use the time each event occurred. Internal sessions are excluded. Reports return complete results or an explicit error. A failed report does not mean there were no sessions or breaches. If a request is too large (400), add policy, team, channel, or agent filters; for trends, weekly granularity reduces the number of points. If reporting is busy (429) or temporarily unavailable (503), retry with backoff. Avoid launching many reports simultaneously.
Daily and weekly trend buckets follow the requested timezone. Each request still requires the sla-analytics:read scope and only returns data for the authenticated organization.
Agent breakdowns retain names for historical assignees after they leave your organization, including sessions assigned to the AI agent. Unassigned groups represent sessions without an available assignee name.