Need the Total Queue time for conversation on a queue

Hi,

I need to get the Total Queue time for each conversation on one queue.
I have tried using the /api/v2/analytics/conversations/details/query but I'm unable to get the right result.

Can any one tell me if I'm using the right api and maybe guide me in the right direction.

Thanks in advance
Torben

Yes, the end time minus the start time for the ACD segment would represent the time in queue. A conversation can have multiple ACD segments.

Hi Tim,

Can you see what is wrong with this one, I get all segments and not only the "acd" segment

{
"interval": "2023-06-20T00:00:00.000Z/2023-06-21T00:00:00.000Z",
"order": "asc",
"orderBy": "conversationStart",
"segmentFilters": [
{
"type": "and",
"predicates": [
{
"type": "dimension",
"dimension": "queueId",
"operator": "matches",
"value": "fad96312-29b3-4705-987a-??????????"
},
{
"dimension": "purpose",
"value": "acd",
"type": "dimension",
"operator": "matches"
}
]
}
]
}

/Torben

Hello,

The API always provides all details (participants/sessions/segments) of a conversation.
There is no API endpoint that will provide you with just a subset of the sessions/segments.
In your code, you will need to parse the response and check the entries related to participants with purpose=acd.

The filters you set in the Conversations Details Query is to filter out conversations which don't match your criteria.
In your case, you want calls which went through one or multiple ACD Queues (filter with purpose = acd), and involved at least once a specific queue (with id "fad96312-29b3-4705-987a-??????????").

This will provide all conversations which match these filters - but all participants/sessions/segments will be returned (not just the segments related to acd).

Regards,

HI Jerome,

Thanks for reaching out.

I need to know the initial wait on queue time (time before first agent pick up the call) for all call on one queue pr. day in a given mounth.

So what you are saying is that I have to retrieve all information and then loop thru the result in my backend program - is that correct?

And there is no way I can minimizes the result form the API ?

Regards,
Torben

Hello,

What I am saying is that if you are to use an Analytics Conversation Details Query, the response will contain all details for each conversation (selected via filters of the Conversation Details Query). I mean for each conversation, all participants (and their sessions/segments) are returned.
It is not possible to "minimize" the result.

As a comment on Analytics Conversation Details Query - you don't need to compute time with segment start/end time. I mean this would of course work. But with Conversation Detail Queries, you will also retrieve metrics specific to the conversation details.
tAcd is the metric which corresponds to the waiting time in queue - check the first participant with purpose = acd in your conversation details - in the participant structure, you will see the metrics available for the participant (and if it is an ACD Queue - i.e. purpose = acd - there will be a tAcd metric if the call has left the queue).

Another endpoint you can have a look at is the Analytics Conversation Aggregate Query.
This endpoint does not return details but focuses on metrics, and possibly aggregating them (sum/avg of values).
I am just not sure if it can answer your need. I don't think there is a filter that allows you to only select first queue.
I mean that if you are counting time in queue for Queue XYZ but only if it is the first Queue (and ignore time in queue XYZ if the call was transferred to it later - i.e. not the first queue), I don't think Conversation Aggregate will allow you to do this. And if so, you will have to use Analytics Conv Details Queries and do a bit of parsing.

Regards,