Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  websocket for abandon count

    Posted 4 hours ago

    I created a live dashboard that shows metrics for each of our queues like calls received, answered and so forth. I need to also show count of calls that were abandoned by the customer before it was answered by an agent.

    My dashboard gets updated instantly via web-socket notification.

    I cannot figure out which topic I need to subscribe the queues to, that will send me notifications to get the abandoned count for each queue.


    #Architect
    #Integrations

    ------------------------------
    Joel Einhorn
    ------------------------------


  • 2.  RE: websocket for abandon count

    Posted 4 hours ago

    Hi Joel,

    For real-time queue metrics, you can subscribe to the Queue Observations notification topic:
    v2.analytics.queues.{id}.observations

    The notifications provide observation metrics for the queue. However, for the actual abandoned interaction count (nAbandon), I would recommend using the Analytics Conversation Aggregates API, since nAbandon is an aggregate metric rather than relying only on the real-time observation payload.

    You could use the WebSocket notification to trigger/refresh your dashboard and query the aggregate endpoint for metrics such as nOffered, nConnected, and nAbandon.

    There is also a useful overview of the Analytics APIs here:

    https://developer.genesys.cloud/analyticsdatamanagement/analytics/aggregate/conversation/

    https://developer.genesys.cloud/analyticsdatamanagement/analytics/extraction/



    ------------------------------
    Leonardo Teixeira
    NA
    ------------------------------



  • 3.  RE: websocket for abandon count

    Posted 3 hours ago

    thank you for the response.

    What is the name of the metric to use with v2.analytics.queues.{id}.observations to get the abandon count?

    And what is the downside of using it vs using the Analytics Conversation Aggregates API?



    ------------------------------
    Joel Einhorn
    ------------------------------



  • 4.  RE: websocket for abandon count

    Posted 3 hours ago

    Good day, Joel,

    I am not aware of a metric for abandoned interactions with that payload. 

    My opinion on downsides of using Observations vs. Aggregates, others might have a different view.

    Since observations only reflect current active states, I wouldn't build a live dashboard exclusively off the WebSocket stream; it introduces some real issues:

    1. You have to guess the outcome. To track abandons via WebSocket, you'd need custom logic to watch for every drop in the oWaiting count. If it drops without a corresponding rise in oInteracting, you'd have to assume it was an abandon.
    2. That guess is often wrong. If a caller opts out of the queue back to the IVR, or a system timeout routes them to voicemail, that's a flow-out, not an abandon. Custom logic built on the WebSocket stream will misclassify these as abandons every time. The Aggregates API sorts these into the right buckets natively, so you don't have to reverse-engineer the logic yourself.
    3. You're exposed to desyncs. WebSockets are a live stream; if your connection drops for even a few seconds, or your client misses a payload, your running tally breaks and stays out of sync with Genesys Cloud for the rest of the day.

    Hope you have a wonderful day. 



    ------------------------------
    Hans Soine
    Technical Account Manager
    ------------------------------



  • 5.  RE: websocket for abandon count

    Posted 3 hours ago

    I agree with you, but I have a problem

     We have over 40 queues on the dashboard and if I need to call api's for each queue separately and keep on calling it(since the requirement is for it to be live) we will definitely hit into rate limiting issues.

    Currently, I am calculating it by subtracting calls answered count for a queue from call received for that queue, and also subtracting calls waiting. It's working for the most part, the problem I am having is, that sometimes the numbers go up and down for a few seconds until they settle to the right number and I think it due to race conditions.



    ------------------------------
    Joel Einhorn
    ------------------------------