Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 5 days ago
    Edited by Amit Abdul 5 days ago

    Hi,

    I understand we can retrieve the metrics for IVR using v2.analytics.flow.{id}.metrics; however, I cannot figure out where it contains:

    • average abandon time (in IVR)
    • average IVR time


    1. Can someone please tell me how to retrieve the above?
    2. I already have trouble getting my head around the concept that "flow" does not include queue-related metrics. Am I correct to think that "flow" returns the part of the stats only related to "ivr" and does not include queues? A call spend 3 minutes in IVR, 2 minutes in queue, and then v2.analytics.flow.{id}.metrics would then only return 3 minutes from IVR part of the flow.



    #PlatformAPI

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



  • 2.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 5 days ago

    Hi Amit,

    From my understanding, flow metrics only cover the IVR portion so in your example, it would return the 3 minutes spent in IVR, not the queue time.

    For average IVR time, you can use the tFlow metric via the flows aggregates API (average = sum / count).

    For IVR abandon, there isn't a native metric since abandon is treated as a queue event you'd need to derive it (e.g. using Flow Outcomes for calls that end before reaching queue).

    Hope that helps, and keen to see if others from the community have additional approaches.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------



  • 3.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 5 days ago

    Hi Amit,

    As Phaneendra has said above, your understanding is correct that the IVR metrics are separated from the Queue metrics.

    Those are treated as different "Participants" of the call (We have other participants such as the customer, agents, etc.), each participant will have their own set of metrics.

    Usually the call happens between 2 participants.

    So for example.. The customer calls and gets to an IVR, so we have 2 participants here (Customer + IVR).
    At some point the IVR transfers the call to a queue and the IVR is removed from the call as a participant (So now we have Customer + Queue as participants).
    Then an agent is available and the Queue transfers to the Agent, and the queue is also removed (So now we have Customer + Agent as participants), etc.


    For the example above, the customer participant will usually have the full duration of the call in their metrics, while the IVR, Queue and Agent participants will only have the information regarding the time they were part of the call.

    ---------------

    Now, regarding the metrics that you asked about.
    As Phaneendra mentioned, "abandon" is usually used for the queues.

    But we do have "disconnect" as a metric for the IVRs.

    They are also separated between "Customer disconnect" and "Flow disconnect".
    "Flow disconnect" would happen when you make the disconnection in the flow (for instance when the Call Center is closed or on holiday, etc.)
    "Customer disconnect" would be simply when the customer hangs up the call during the IVR, which I imagine is what you are talking about when you say "Abandon".

    ---------------

    As for getting to this information through APIs, you can try this:

    Use this API: POST /api/v2/analytics/flows/aggregates/query

    With a request body similar to this:

    {
      "interval": "2026-03-31T03:00:00.000Z/2026-04-01T02:59:59.999Z",
      "timeZone": "America/Sao_Paulo",
      "metrics": [
        "tFlow"
      ],
      "groupBy": [
        "flowId",
        "exitReason"
      ],
      "filter": {
        "type": "and",
        "predicates": [
          {
            "type": "dimension",
            "dimension": "flowId",
            "operator": "matches",
            "value": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          }
        ]
      }
    }

    In the body above I'm filtering by a specific Flow Id, while extracting the "tFlow" metric.
    I'm also defining that I want my response to be grouped by the "exitReason" (This will show us if the disconnect reason was the customer disconnecting or the flow).

    The response from this request would look something like this:

    Notice above that it shows we had "96" disconnections groups with the reason "DISCONNECT", and 24 with the reason "FLOW_DISCONNECT".
    Those 96 are disconnections from the Customer.

    You can see this same information through the default reportings (Flow Performance View):



    ------------------------------
    Marcello Jabur
    ------------------------------



  • 4.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 4 days ago

    @Phaneendra Avatapalli , @Marcello Jabur , thank you very much for detailed answers
    Could you also clarify if I understand correctly that to receive real-time data (about current calls in the IVR state), I should use the "v2.analytics.flow.{id}.metrics" notification?
    I'm trying to achieve this by subscribing to the Flow I'm using, but I'm not receiving any events. Perhaps there's a different approach?



    ------------------------------
    Amit Abdul
    CEO
    ------------------------------



  • 5.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 4 days ago

    Hi Amit, to be honest I haven't used the notifications APIs in a very long time, so I'm not sure on the details.

    There is a detailed guide on how to use those APIs in here if this helps you: Overview

    You can also find a list of available topics for you to subscribe here: Available topics

    I can see the v2.analytics.flow.{id}.metrics in there, but according to that documentation this topic is only available for "Event Bridge" integration, which I'm assuming is not what you're using.

    If you are using the "Notifications API" you should filter the topics in that page for the "WebSocket" option

    Maybe this other topic will help you: v2.analytics.flow.{id}.aggregates



    ------------------------------
    Marcello Jabur
    ------------------------------



  • 6.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 4 days ago

    Hi,

    This thread might be relevant here:

    https://community.genesys.com/discussion/is-there-a-way-to-monitor-ivr-events-in-real-time

    From the discussion, it looks like the flow analytics topics (like v2.analytics.flow.{id}.metrics or aggregates) are more focused on aggregated data rather than real-time per-interaction events.

    If you're trying to track calls currently in the IVR, you may need to look at conversation-level notifications (e.g. v2.conversations.*), as those reflect the interaction state as it moves through IVR → queue → agent.

    Hope that helps.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------



  • 7.  RE: Retrieving CurrentCount, Ave Abandon, AveTime from IVR part of the flow

    Posted 4 days ago

    In Genesys Cloud, flow analytics is intended to represent the IVR / Architect portion of the interaction, not the queue portion. So if a call spends 3 minutes in IVR and then 2 minutes in queue, the flow metrics would reflect the 3 minutes in IVR, while the queue-related time would be reflected elsewhere in queue or conversation analytics.

    For your specific questions:

    1. Average IVR time
      Use the IVR time metric, tIvr. That is the metric for time spent in IVR. If you are querying analytics and looking at averages, that is the one you would use for average IVR time.
    2. Average abandon time in IVR
      This is where it gets tricky. There is not a separate standard metric for "average abandon time in IVR" the same way there is for queue abandon. The abandon metric most people think of is tied to queue abandonment, not abandonment while the caller is still in IVR.

    So if you need average abandon time specifically in IVR, you usually have to derive it by looking at conversation detail data and isolating interactions that ended while still in the IVR portion, then averaging the IVR duration for those interactions.

    So the clean way to think about it is:

    • Flow analytics = IVR / Architect portion
    • Queue analytics = queue waiting / ACD portion
    • Conversation detail = full end-to-end timeline

    A response you could send would be:

    Yes - in Genesys Cloud, flow analytics covers the IVR / Architect portion of the interaction, not the queue portion. So if a caller spends 3 minutes in IVR and then 2 minutes in queue, the flow metrics would reflect only the 3 minutes in IVR.

    For average IVR time, use tIvr.

    For average abandon time in IVR, there is not a separate out-of-the-box metric for that in the same way there is for queue abandonment. If you need that value, you would generally need to derive it from conversation detail data by identifying calls that disconnected while still in IVR and then averaging their IVR time.



    ------------------------------
    Jonathan Nolan
    President
    ------------------------------