We are building a custom reporting dashboard that needs to visualize agent utilization metrics at a granular level. Specifically, we require the total handle time (tHandle), after-call work (tAcw), and hold time (tHold) broken down into 30-minute intervals. The goal is to identify peak load periods for specific queues during our operational hours in Central European Time.
I have been experimenting with the GET /api/v2/analytics/conversations/details/jobs/availability endpoint to check data availability, but I am struggling to find the correct way to retrieve the actual time-series data for these specific metrics. The documentation for the analytics reporting endpoints suggests using specific query parameters to define the time bucket and granularity. I attempted to configure a request with an interval of PT30M and a startTime and endTime spanning a single business day. However, I am unsure which specific endpoint or query structure is required to force the API to return discrete buckets for each 30-minute slice rather than aggregating the metrics across the entire period.
Here is the simplified request configuration we are considering:
GET /api/v2/analytics/conversations/details/jobs/availability
{
"startTime": "2023-10-25T08:00:00.000Z",
"endTime": "2023-10-25T17:00:00.000Z",
"interval": "PT30M",
"groupBy": ["queueId"],
"metrics": ["tHandle", "tAcw", "tHold"]
}
The response from the availability check only confirms when data is ready, but does not provide the metric values themselves. I suspect there might be a specific query parameter or a different endpoint variant required to retrieve the raw time-series data.
Has anyone successfully extracted these specific metrics at a 30-minute granularity? We need the raw values to calculate the percentage of time agents spend on calls versus hold and ACW within each half-hour block. The current output is too high-level for our optimization needs.