Interacting On Queue Check

Hello Team,

I hope your Thursday is treating you well!

We are utilizing and "On Queue Check" where we check to see if agents are "On Queue" or not. This is so we can route callers to the queue or send them to a voicemail. This is working great, but we are looking to take it one step further where we want to see if are any agents available to take a customer inbound call.

My thoughts are either we match on "Interacting" or "Idle." However, when looking at presences and routing status, it is basically an "On Queue" or "Off Queue" check from what I am seeing. Would anyone have an idea of how we can accomplish this?

Below is what we working with for the "On Queue" check specifically:

========================

Web Services Data Action:

{
"requestUrlTemplate": "https://api.usw2.pure.cloud/api/v2/routing/queues/${input.QueueId}/users?expand=presence&joined=true&presence=on%20queue",
"requestType": "GET",
"headers": {
"Authorization": "Bearer ${input.AccessToken}"
},
"requestTemplate": "${input.rawRequest}"
}

Inside the call flow, we do a "Call Data Action" that calls out through the API to checks to if the number of users on queue are greater than 0.

========================

Please let me know what additional information you need as well as anything thing you would like me try/confirm.

Thanks in advance!

-Ian

I'll offer a word of warning first: what you're doing will never be reliably accurate. ACD availability is based on complex decisions using many data points. It is somewhere between difficult and impossible for an external application to recreate this logic and stay in sync data-wise, especially since Genesys does not publish the exact algorithms used during the ACD assignment process. The information that is published about the process can be found here: About interaction routing (ACD) - Genesys Cloud Resource Center.

To answer your question, both presence and routing status are factors, among others, that help determine an agent's availability. In a naive scenario, an agent must be both in the available presence and the idle routing status to be eligible for another conversation. This logic is more complex and fuzzier when considering handling multiple conversations and media types and will require a lot of extra data collection and state management beyond what can be done in a data action. You can read more about presences and the list of routing statuses here: https://developer.genesys.cloud/useragentman/presence/understanding-presence.

Also, please note that the resource you're using is deprecated and all usage of it should be ceased as soon as is reasonably possible; it will be removed in the future. GET /api/v2/routing/queues/{queueId}/members should be used instead.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.