Genesys Cloud - Main

 View Only

Sign Up

  • 1.  Dynamic Menu

    Posted 14 hours ago

    Has anyone built a dynamic IVR menu in Genesys Cloud that remembers what option a customer chose last time and automatically shortens the menu on the next call? Basically a 'smart IVR lite version' that hides irrelevant options and only plays what the customer actually uses. Curious how you're storing the last selection - external DB, DFO, or pure Architect logic?


    #ArchitectandDesign

    ------------------------------
    Manish Suryavanshi
    Lead Consultant
    ------------------------------


  • 2.  RE: Dynamic Menu

    Posted 10 hours ago

    Hello Manish,

    I'm also curious if anyone else in the Community has built something like this. If not, you may want to submit an idea like this to the Product Ideas Lab



    ------------------------------
    Jason Kleitz
    Online Community Manager/Moderator
    ------------------------------



  • 3.  RE: Dynamic Menu

    Posted 3 hours ago

    Thanks Jason



    ------------------------------
    Manish Suryavanshi
    Lead Consultant
    ------------------------------



  • 4.  RE: Dynamic Menu

    Posted 9 hours ago

    Interesting question! This is definitely a pattern that comes up, and while Genesys Cloud doesn't have an out-of-the-box "smart IVR" that remembers customer choices automatically, the pieces are there to build it yourself.

    The Storage Options

    You've correctly identified the main options:

    • Data Tables act as a built-in, mini-database within Genesys Cloud . They are excellent for storing simple, static data like a customer's last menu selection or their VIP status . You can read from and write to them directly from your Architect flows. The main limitations are storage size and they are not ideal for large, transactional data volumes .
    • External DB via Data Actions is the more powerful and scalable approach for complex logic or high-volume data . A Static Data Action is a reusable, serverless connector you can configure to talk to a REST API, allowing you to store and retrieve customer preferences from an external system like a CRM or dedicated database .

    The "Pure Architect" Approach

    You can achieve a basic version using only Architect, but it's limited. There is no built-in "customer memory." You would have to rely on flow-level variables which are reset with each call. A pure Architect solution would not allow for long-term, cross-call personalization unless you store the data in a Participant Data attribute, which persists across flows within a single interaction but is lost after the call ends .

    How a "Smart IVR Lite" Could Be Built

    The core of the idea is to make the menu dynamic. Here's a high-level view:

    1. Identify the Customer: At the start of the IVR, use the caller's phone number (Call.Ani) or a logged-in account number to identify them .
    2. Retrieve Last Choice: Use a Data Table Lookup or a Call Data action (for an external DB) to fetch the last menu option they selected .
    3. Play a Dynamic Menu: Based on the retrieved data, build the menu path. You can't generate a menu with a variable number of options from a data action on the fly directly , but you can design a decision tree. Your flow can be structured so that:
      • Decision: "Does this customer have a last choice?"
      • If Yes: Branch to a task that presents a shorter menu, perhaps starting with "Welcome back. Press 1 for the option you used last time..." and then offer general options, or jump them directly to the last used service.
      • If No: Branch to the full, standard menu.
    4. Store the Current Choice: At the end of the IVR path they choose, use a Data Table or Call Data action to update their record with the option they just selected for the next call .

    Important Considerations

    • Simplicity of Data Tables: For a "lite" version, Data Tables are a great choice. They are easy for administrators to manage (you can even upload data via CSV) and keep your business logic separate from your inbound flow, allowing you to update behavior without republishing the entire IVR .
    • Dynamic Prompts: You can use a Find User Prompt action to play pre-recorded audio files based on a variable name (e.g., "menu_short_vip"), making the personalization feel more seamless .
    • Personalization Benefits: The overall goal of such a design is to improve Customer Experience and reduce handle time by getting customers to the right place faster .

    In summary, you have three paths: a simple, limited one using Architect alone; a powerful, flexible one using an external database; and a balanced, built-in approach using Data Tables. The Data Tables option is often the most practical sweet spot for this "smart IVR lite" concept.



    ------------------------------
    Camila Meneghini
    ------------------------------



  • 5.  RE: Dynamic Menu

    Posted 3 hours ago

    This is an incredibly helpful breakdown - thank you Camila for taking the time to lay it out so clearly. I really appreciate how you separated the three approaches (pure Architect, Data Tables, and external DB) and highlighted the practical trade‑offs.



    ------------------------------
    Manish Suryavanshi
    Lead Consultant
    ------------------------------



  • 6.  RE: Dynamic Menu

    Posted 7 hours ago

    Hi Manish,

    I haven't implemented this exact use case, but it sounds like an interesting approach to improving the customer experience.

    My initial thought would be to persist the customer's last IVR selection using either Data Tables or an external data source, then use the caller's ANI (or another unique customer identifier) at the start of the flow to retrieve that preference and decide whether to present a shortened menu or prioritise their previously selected option.

    I'd be interested to hear what others have implemented in production and whether they've found Data Tables sufficient or preferred an external solution for this type of personalization.



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



  • 7.  RE: Dynamic Menu

    Posted 3 hours ago

    Thanks Phaneendra



    ------------------------------
    Manish Suryavanshi
    Lead Consultant
    ------------------------------



  • 8.  RE: Dynamic Menu

    Posted 39 minutes ago

    Hi,

    One approach could be to store information in CRM, if available. Then, if the new call is within certain time frame, ask from the caller that if he/she is calling for the same matter as the last time. If yes, then skip all the menus and route to the same queue/agent as the last time, if possible.

    Not necessarily usable for your use case, but yet another approach.



    ------------------------------
    Antti Mikkola
    Product Manager
    Telia Finland Oyj
    ------------------------------