Genesys Cloud CX

Discussion Thread View
Expand all | Collapse all

Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

  • 1.  Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-05-2021 13:40
    Our implementation partner added 3 custom data actions that check to see if agents are logged in and in certain Presence states. This ensures that incoming voice calls are only queued when agents are logged in. If no agent is logged in and in any of these states, the incoming calls can be re-routed to an "out of service message". This works really well however it fails when an agent de-activates a queue and remain logged in. (Calls will sit in queue)

    Get Count of On Queue Agents (Logged in)
    /api/v2/routing/queues/${input.QueueId}/users?presence=ON%20QUEUE

    Get Count of Available Agents (logged in /Off queue/Available)
    /api/v2/routing/queues/${input.QueueId}/users?presence=AVAILABLE

    Get Count of Busy Agents (logged in/Off queue/Busy)
    /api/v2/routing/queues/${input.QueueId}/users?presence=BUSY

    If at least one agent is in any of these states, then our calls will wait in queue otherwise we have calls go to an "out of service message". However, the issue we are having is that if an agent is logged in and in any one of these states but they have changed their own queue assignment from Active to Available. (They have de-activated their queue assignment). The scenario is, the agent is still logged in and they are the only one with this queue that is now de-activated, instead of these calls going to the out of service message, the calls will sit in queue but there is no one to answer it. Question: Is there any way to set up a Custom Data Action that would check to see if an agent has the Queue in their Active list vs their De-Activated list (or Available list)? If the system can validate that the Queue is in their de-activated list (and no other agent has the queue in their Active list), then the calls can go to the "out of service" message.

    We are not experts on this system, so any help would be appreciated.
    #Routing(ACD/IVR)

    ------------------------------
    Kimberly Schlese
    WestJet
    ------------------------------


  • 2.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-05-2021 16:28
    I believe that /api/v2/routing/queues/{queueid}/users is deprecated.  You should be using /api/v2/routing/queues/{queueid}/members.
    If you use joined=true, then you will get only the agents that are activated for that presence.    So your data actions should be like this:



    ------------------------------
    Robert Wakefield-Carl
    Avtex Solutions, LLC
    Contact Center Innovation Architect
    robertwc@avtex.com
    https://www.Avtex.com
    https://RobertWC.Blogspot.com
    ------------------------------



  • 3.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-06-2021 11:06
      |   view attached
    Hi Robert
    Thanks so much for responding and helping out. We are very new to this product but we gave what you sent us a try but we couldn't get it to successful work. How our current data actions are built, the inputs are "QueueID" and the outputs are "integer". So, I added the new Call Data Action you provided

    /api/v2/routing/queues/${input.QueueId}/members?joined=true&presence=Available . IN the inbound flow (input is QueueID) and success outputs is Integer "Flow.NumberofAgents) . Next we have a Decision point Expression which looks to see if the Flow.numberofagents > 0. If the Flow.Numberofagents is greater than 0 then go to Queue, if not then play out of service message.

    These are the scenarios. What we are trying to achieve is can the Genesys determine if the Queue is in Active Status vs Available or De-activated Status. We want to check the Status of the Agent's Presence (Available or Busy) and also check the agent's Queue status (is it Active or De-activated). What we are noticing from our current set up is that if an agent de-activates one of their queues (logged in with Presence Available), this data action still thinks the queue is in service.

    Agent is logged in - Off Queue and Available Status - the Queue is not assigned at all

    Agent is logged in - Off Queue and Available Status - the Queue is assigned and in Active Status

    Agent is logged in - Off Queue and Available Status - the Queue is assigned and in Available Status (de-activated)


    Attached a document with our screen captures
    Thanks again



    ------------------------------
    Kimberly Schlese
    WestJet
    ------------------------------

    Attachment(s)



  • 4.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-06-2021 12:35
    This comes down to logic.  We need to find the If-Then statements that match all criteria.  Remember that On-queue is a totally separate status from the others and does not necessarily mean joined to the queue you are looking at.  So, an agent can go On-queue without being activated in ANY queues.  One thing that we used at another customer is to use a skill called Call and assigned it to all the agents then use this call to determine if there are agents available to take the skill:  /api/v2/routing/queues/{QueueId}/users?skills=Call.  The Total gives me the number of agents in that queue that are or will be available and on-queue to take the call.  May be easier than looking at all the different status messages. 

    ------------------------------
    Robert Wakefield-Carl
    Avtex Solutions, LLC
    Contact Center Innovation Architect
    robertwc@avtex.com
    https://www.Avtex.com
    https://RobertWC.Blogspot.com
    ------------------------------



  • 5.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 10-14-2021 17:28
    Hi @Kimberly Schlese,

    I have followed the .pdf document you have attached, however I am not getting any value back from the "total" object.

    The configuration is the one you have indicated in your document as you can see below:

    But when I launch an API test it does not return any value in the response, you can see below:


    Could you tell me if I have forgotten any action? Or if there is any step that is not included in the .pdf document.

    Thanks in advance.
    Best regards.

    ------------------------------
    Carlos Camacho Jimenez
    Evolutio Cloud Enabler S.A.
    ------------------------------



  • 6.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 10-17-2021 04:57
    Finally I found the solution to recover the total number of agents, for this it is necessary to add this "Response":

    {
    "translationMap": {
    "total":"$.entities.size()"
    },
    "translationMapDefaults": {
    "total": "0"
    },
    "successTemplate":"{ "total": ${total}}
    }

    I hope it will be of help to someone.

    Regards.

    ------------------------------
    Carlos Camacho Jimenez
    Evolutio Cloud Enabler S.A.
    ------------------------------



  • 7.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-07-2021 09:10
    @Kimberly Schlese, can you describe your flow? I mean:
    - when you call the data actions to consult agent status? ​
    - Inside the architect in  an Inbound flow or in a inqueue flow?

    If you call de api inside an Inbound flow and then transfer to the queue, I suggest add to the queue an in-queue flow, in that way you could adjust a "queue timeout" and check in intervals if still agents available and route the call to another resource.

    ------------------------------
    Saugort Garcia
    Interacciones Inteligentes S.A.
    ------------------------------



  • 8.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-07-2021 17:09
    Thanks - I'm going to investigate the skill option a little more. I would like to have these "logged in" agents checks before we queue the call and while the call is queued. The bottom line is that the checks work when the agents have the Queues actively assigned but don't work when the queues are assigned but de-activated. Ultimately, it's only been a challenge to our smaller staffed contact centre groups that rely on these "logged in" agent checks to ensure that calls get answered. Also, they need to manage their own queue assignments as they are such highly flexible teams that answer all different types of calls. It's what they have today and change is hard. We will just need to encourage them to manage their queue assignment a little more proactively now.
    Thanks everyone again
    Kim

    ------------------------------
    Kimberly Schlese
    WestJet
    ------------------------------



  • 9.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-08-2021 01:33
    The skill routing call will check for the logged in and on-queue status for each agent.  Essentially it is asking "do I have an agent that can answer this interation with this skill?"  It is the best way to check for coverage.

    ------------------------------
    Robert Wakefield-Carl
    Avtex Solutions, LLC
    Contact Center Innovation Architect
    robertwc@avtex.com
    https://www.Avtex.com
    https://RobertWC.Blogspot.com
    ------------------------------



  • 10.  RE: Genesys Cloud Custom Data Action to Check a users Active Queue Assignment

    Posted 07-09-2021 09:57

    Hi Robert

    Well, I gave it a go. I set up the Skill and added the Data action /api/v2/routing/queues/{QueueId}/users?skills=Call.  I assigned the skill to a profile along with the right queue but the problem is that I can be completely offline and this statement still counts me as having the skill and sends the call to queue. It really comes down to finding a way for the Genesys to validate that an agent is logged in and has that queue or skill actively assigned. Thanks again. At least I'm learning a little more about this product!