Genesys Cloud - Main

 View Only

Sign Up

  • 1.  Raise an Alarm if Call is Queued in a Queue with No Agents

    Posted 12 days ago
    Edited by Samuel Jillard 12 days ago

    Problem: calls sometimes are placed into a queue with no logged in agents.

    What's needed: a simple way to track all the queues and raise an alarm when this happens

    For reasons I do not can't to go into, changing the callflows is not an option, therefore adding a check to ensure that there are agents in that queue is not feasible (no matter how much sense it might not make!). Is there a simple way to create some sort of trigger that would raise a notification/alarm if a call is queued in in a queue with no one logged in? 

    I can imagine doing it using API where I would track each call and check for agents assigned to the queues it is queued in. Or perhaps I would query all the queues (2000+) every minute to see if there is a call and none of the agents are logged in, but this would require some standalone code. Is there something simpler that can be done within Genesys. 


    #Implementation
    #System/PlatformAdministration
    #Telephony

    ------------------------------
    Amit Abdul
    ------------------------------



  • 2.  RE: Raise an Alarm if Call is Queued in a Queue with No Agents

    Posted 12 days ago

    Hi Amit,

    I don't think there is currently a way to do this built into the UI as the Alert Rules/Notifications wont combine Conversation metrics and Presence metrics, although I did find this idea on the Genesys Cloud Product Ideas Lab: New workspace Alert options that combines Presence and conversation alerts into One

    Currently, you could use the Notifications and specifically v2.analytics.queues.{queueId}.observations to get realtime notifications for Queues with calls waiting and and no agents on-queue (oWaiting > 0 and oOnQueueUsers = 0)

    Hopefully others in the community can help with any other workarounds for this



    ------------------------------
    Sam Jillard
    Online Community Manager/Moderator
    Genesys - Employees
    ------------------------------



  • 3.  RE: Raise an Alarm if Call is Queued in a Queue with No Agents

    Posted 11 days ago
    Edited by Tristen Schwarzenberger 11 days ago

    Hey Amit,

    It's not the most simple solution, but it would at least be a 1 time setup and wouldn't interfere with any existing flows... I'm not sure how familiar you are with Triggers and Data Actions, and I'm just theorizing here, but you could maybe setup a trigger using v2.detail.events.conversation.{id}.acd.start.
    And then also add on conditions like direction and mediaType to get more specific with your targets if you want.


    What I'm thinking:
    1) Trigger targets a workflow where you'll take the queue ID from the event schema.

    2) Create a data action that takes the queue ID passed in as an input, and returns the count of users assigned to that queue that are on queue.
         -POST /api/v2/analytics/queues/observations/query
         - oOnQueueUsers is the metric to filter for.

    3) If the count is < 0, send a notification to whomever, if not, end the flow.


    Again, I know it's not exactly "simple" but should be a 1 time setup, cover hopefully like 99% of these situations, and not have to mess with any existing flow.
    I think the worst part would be getting the data action setup, but I can provide a configuration on that if you want.

    The 2 problems I can see with this however:
    1) if the only agent assigned to the queue is actively on a call when another comes in, and they go off queue while on the call then the notification won't fire off.
    2) If the caller disconnects while in the queue then obviously you'll still get the notification but find there's no call there.


    Also depending on how many calls you get, this thing could fire off quite a bit so just something to keep in mind.



    ------------------------------
    Tristen Schwarzenberger
    IT Engineer
    GCP
    ------------------------------



  • 4.  RE: Raise an Alarm if Call is Queued in a Queue with No Agents
    Best Answer

    Posted 10 days ago

    If you could change the in-queue callflow, then I'd say to use a data action to call /api/v2/routing/queues/{queueId}/users?queueId={queueId}&pageSize=50&pageNumber=1&joined=true&sortBy=name&sortOrder=asc&expand=authorization,skills,languages,routingStatus,primaryPresence,conversationSummary,outOfOffice,geolocation,presence,locations,station.  That is the same query used by the Queue Activity dashboard that shows all the queue members and their current status.  Once you have that list back, you can then spin through and count the number of agents that are on-queue and not interacting.  If that count is 0 then you could transfer that interaction to another queue.

    With that said, I think your option is to use Tristen's idea of a trigger on v2.details.events.conversation.{id}.acd.start that calls an Architect Workflow.  In that Workflow you can make the data action call I suggest above, parse the JSON in the workflow to count the agents, and then to transfer that call you'll need to call /api/v2/conversations/{conversationId}/participants/{participantId}/replace where you would replace the current queue that has no agents with a queue that does have agents.

    That might work.



    ------------------------------
    Jim Crespino
    Senior Director, Developer Evangelism
    Genesys
    https://developer.genesys.com
    ------------------------------