Genesys Cloud - Developer Community!

 View Only

Sign Up

  • 1.  Performance Optimization

    Posted 20 days ago

    A voice flow is experiencing increased execution times due to multiple Data Action calls. How would you identify and mitigate performance bottlenecks while maintaining functionality?


    #Architect

    ------------------------------
    CRISTIAN GIMENEZ
    NA
    ------------------------------


  • 2.  RE: Performance Optimization
    Best Answer

    Posted 20 days ago

    I would analyze the flow execution path to identify redundant API calls, consolidate requests when possible, implement caching strategies on the backend, reduce unnecessary data retrieval, and optimize Data Action configurations. Additionally, I would ensure timeout values and error handling are properly configured to prevent customer experience degradation.



    ------------------------------
    Alex Sander Felicio
    ------------------------------



  • 3.  RE: Performance Optimization

    Posted 19 days ago

    Hi Cristian, 

    I would start by analyzing the flow execution to identify slow or redundant Data Actions. Then, I'd reduce calls by consolidating requests and avoiding unnecessary data retrieval. Implementing caching (backend or within the flow) is key to minimizing repeated calls. I'd also evaluate parallel execution for independent actions, and fine-tune timeouts, retries, and error handling to protect the customer experience. Finally, I'd validate improvements using performance metrics.


    ------------------------------
    Cesar Padilla
    INDRA COLOMBIA
    ------------------------------



  • 4.  RE: Performance Optimization

    Posted 19 days ago

    Hello, @CRISTIAN GIMENEZ

    For this scenario, I would first review the flow path and identify which Data Actions are really required before routing the call. In voice flows, every extra external call can directly affect the customer experience, so I usually try to keep only the most important lookups in the IVR.

    When possible, I would also cache or reuse values. For example, if customer information was already retrieved once, I would store it in a variable or participant data instead of calling the same API again later in the flow.

    Another point is to review the timeout and failure paths. If an external service is slow, the caller should not be stuck waiting too long. I usually prefer a fallback route or a safe default behavior instead of blocking the IVR until the API responds.

    For information that is not essential for routing or customer identification, I would consider moving it after the call is routed, such as to the agent script or a later process. This can help keep the IVR faster while still preserving the required functionality.



    ------------------------------
    Arthur Pereira Reinoldes
    ------------------------------