I'm trying to figure out how I can use API calls to identify the next agent in queue. How do I identify the next agent who would get a call if a call were to come in? Currently I'm not using skills management, so it shouldn't depend on anything except the order of a queue somewhere or who has been active in the queue longest without getting a call.
Not real experienced with the terminology, so some of it may be wrong. Let me know if what I'm asking for isn't clear.
This isn't knowable. The system will determine this at the time it tries to assign something based on the configuration you have set up and the data points it tracks. You can read more about ACD concepts here: About interaction routing (ACD) - Genesys Cloud Resource Center.
I don't like calling unknowable so much as effort-intensive and unintended/undesired/unendorsed usage.
From dealing with Afiniti I can say it's ballparkable at least, since their model creates unroutable calls then calculates who it would deliver to either on their own predictive logic or via a default longest wait that simulates the 'normal' routing, and then manually moves the calls. But it takes a lot of effort and a separate system to track all the states in near-real-time. There definitely is no easy API to just know it and most of the brute force methods would take multiple seconds to determine who the agent would be, which by then would've already potentially changed if trying to model against the a live system that is actively routing.
It's knowable in a similar way to how everything in the observable universe is predictable; all you have to do is have data about every single atom and calculate all interactions. The ACD assignment process is conceptually documented in the link above, but that's not the full story. There are gaps in details in the docs that are fulfilled by proprietary/patented processes going on behind the scenes. So even if you tried aggregating every bit of user and conversation data available, you may not be able to correctly recreate the logic being used. And even if you did, the point about delay is still valid.
Thanks for the feedback. Just want to clarify, it's not just that there is no API call for this, you are saying there is no way to ask genesys (as far as you know) who would get a specific call type. So, if I need this information, I probably need to mock call the queue when my event that needs to use the next agent in queue happens. Then I can have genesys pass that information to my other system (which we already have setup for when a call is received). Do you see any other possible options?
Correct. There is no way to get an answer to "who's up next for ACD assignment?" from the Genesys Cloud service. The best you can do is monitor presence, routing status, and conversations and make an educated guess based on applying the logic described in the ACD documentation to the data you're monitoring.