Genesys Cloud - Main

 View Only

Sign Up

Expand all | Collapse all

Is there a way to collect input from menu dynamically in Architect

  Thread closed by the administrator, not accepting new replies.
  • 1.  Is there a way to collect input from menu dynamically in Architect

    Posted 04-18-2023 15:14
    Edited by Tamnun-E Mursalin 04-18-2023 15:31
    No replies, thread closed.
    Is there a way to collect input from menu dynamically without using the collect_input action. The purpose is I want to create a common module where the audios of the menus will be passed, including the maximumNoMatch, maximumNoInputand, menuOptions and timeout, dynamically to the common module. User will make selection from the Menu (menuOptions), and the common module will dynamically check for maximum no entry, time out and others before passing the user input as output from common module. Here are the two options I can think of and if anyone can provide some feedback will be highly appreciated,

    Option 1) Without collect input action: Can I use the audio action from Architect, which will play the menu and check for maxnomatch and maxnoinput inside the Audio action. Does the expression editor in Audio Action can check for this.

    Option 2) If option 1 is not feasible in Audio Action, can I use the collect_input action, but only want the user input(not the no entry parameters or other options that comes with collect_input) as an output than use other logics to check for maxnoinput and maxnomatch values.
    The purpose of this common module, so we can call a standard module to play menus by passing variables dynamically.

    #ArchitectureandDesign

    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------


  • 2.  RE: Is there a way to collect input from menu dynamically in Architect
    Best Answer

    Posted 04-19-2023 04:17
    No replies, thread closed.

    To collect input from the caller we have to use Collect Input action on the call flow, on the common module you can place this action on the call flow and set it with fixed limit as 1. So that it will accept only 1 digit(0-9). For this common module you can pass input parameters as audio files, max nomatch and max noinput counter values along with valid options for the menu([1,2,3]),. With this array values you can check the caller entered input and in case if the entry does not match or contain in this array then consider it as a nomatch. Based on your requirement you can implement this common module to play no match and noinput audio files, for this you can send these audio files also as an input. 

    With out Collect Input action you will not be able to collect input. To play back the audio files you can use Audio action and then you can have collect input action, on this action you can simply add silence audio file. The rest of the max tries logic you have to implement. Hope this helps.



    ------------------------------
    Ramu P
    Global Technology Solutions, LLC
    ------------------------------



  • 3.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 11:55
    No replies, thread closed.

    Thanks for the response Ramu, highly appreciated.  Just few more modification, if you can answer.  Is there a way to check for the menutimeout.  If we pass the value menutimout- menuTimeout : "3s"; how we can customized it.  I can add a timer at the beginning of the menu and at the end then calculate the timeout with difference.  But is there any other better solution. Also in the common module, instead of the valid option menu can I pass the following:

    menuOptions : {
          2 : "savingsAccount",
          9 : "checkingAccount",
          0 : "exit",
          "*" : "repeatMenu"
        }

    JSON is one of the option, any other solution.

    Thanks



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------



  • 4.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 23:38
    No replies, thread closed.

    I don't think we need to implement or build the logic for timeout, it is part of the Collect Input action block. If you would like to implement timeout also a dynamic value then you have to clone Collect input blocks and then based on the value you will pass to the common module you can have a switch and set the timeout values accordingly. We do not have direct way to use variable for timeout or interdigit timeout values on Genesys Architect. 
    No Entry Time out is the menu timeout on Collect input action and it does not allow us to set variable to set the value. Here is the screen shot for the same.

    This dynamic menu implementation will work only for DTMF based call flows. If you have the need of Speech recognition then it won't work. Due to the limitation from Genesys Architect side.
    Here is the note from Genesys Documentation on Speech recognition at Collect Input action:

               When the call flow executes a Collect Input action, global menu DTMF and speech recognition processing are disabled.

    As we see this limitation on Collect Block we need not send Jason data as specified by you, so can simply send valid option digit value. 

    Hope this helps.



    ------------------------------
    Ramu P
    Global Technology Solutions Inc.
    ------------------------------



  • 5.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 12:41
    Edited by Tamnun-E Mursalin 04-20-2023 12:47
    No replies, thread closed.

    I did notice on thing though, in Genesys documentation it says it has a expression editor in collect input no entry time out.  If I am not searching wrong why would the documentation has something which feature is not supported; which I believe is an important feature that should have been integrated.

    Genesys documentation



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------



  • 6.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 14:17
    No replies, thread closed.

    Can you please share the document URL?



    ------------------------------
    Ramu P
    Global Technology Solutions Inc.
    ------------------------------



  • 7.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-26-2023 11:28
    No replies, thread closed.

    Looks like it has been updated to another figure in the documentation recently.



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------



  • 8.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 11:32
    No replies, thread closed.

    Maybe I'm not understanding your question properly, but I'm trying to figure out how calling a Common Module is preferable to simply using a menu? That would ahndle the playing of the prompt, the handling of inappropriate / invalid input, time outs and so on.....



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 9.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 11:57
    No replies, thread closed.

    The goal is if we can have one commonn module to be called when we need to play menu, with customized parameter being passed.



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------



  • 10.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 14:26
    Edited by Paul Simpson 04-19-2023 14:27
    No replies, thread closed.

    I'm sorry, but I still am struggling to see the use-case or benefit to this approach. Calling a Common Module and passing it a prompt file etc. is not really any different to simply creating a menu with that Prompt file etc.

    Additionally, using the Collect Input / Common Module approach, you won't be able to implement Speech Recognition, should you choose to do so.

    Or am I missing something here?



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 11.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-19-2023 19:10
    No replies, thread closed.

    Thanks. I will consider Thai during the design.



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------



  • 12.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 00:12
    No replies, thread closed.

    Hi Paul, 
    Here is my observations or use cases why we go with this approach. 

    - On GC there is no concept of throwing nomatch or noinput event by the either Menu or Collect Input, and if the client wants to play diff audio for nomatch and noinput then this logic will work. We can identify what is a valid input or not. 
    - In case if we are collecting an input(either range or fixed length) collect input action will not have maxtries(nomatch and noinput) logic, we need to implement this on our own. if we have implement this logic in multiple places then it is a better thought to get it implemented on CM.
    - if you are exporting and importing the call flow from one instance of the GC to other, then this will not throw you any errors while importing saying that prompts does not exists or so. This will be helpful when we are going to use CX as Code concept to build the flows and import them using Archy. 
    - On the menus by default the default option is set to Disconnect the call, there are places we will not be able to select one of the menu choice as a default option to move on with the call flow. That time call will be disconnected by default when we reach max tries. 
    - If you wanted to add call tracking or add mile stones for reporting on menu level, that time also it is easy to go to common module and update the code, instead of changing the logic every where on the flow. 

    These are my observations and build the common module logic to collect menu input. However, as you specified, this will not work for speech enabled flows. Collect Input does not allow or have speech recognition option. 



    ------------------------------
    Ramu P
    Global Technology Solutions Inc.
    ------------------------------



  • 13.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 09:20
    No replies, thread closed.

    Ramu,

    Interesting points, however I believe nearly all of that can still be achieved with the built-in menus.

    For the "Invalid input" vs "No input", all you have to do is to create a menu option for all 12 keys and then provide your "invalid input" functionality on the unused ones.

    For the default action, you can make this whatever you want - sure it pre-populates to a disconnect, but...

    Interesting point about Prompts, although I would've thought you would want to know about missing prompts rather than waiting for an error?

    I can see what you are trying to do, and there is nothing stopping you from doing it, but I honestly think you are re-inventing the wheel here and ultimately, you will end up with a system that is harder to maintain and support. My guess is that you are migrating from another platform, where menus are written "from scratch" in this way? I have seen many, many ORGs set up that are crazy-complicated because the person has tried to replicate the logic / methodology from another system rather than going back to the actual requirements and building against those, from the ground up. It usually manifests itself as complex configurations involving Skills and Queues when the customer is coming from Avaya or CXOne....

    Just my 10 cents - feel free to ignore 😉



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 14.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 14:07
    No replies, thread closed.

    Paul, not to drag the conversation or argue, i do agree that there are multiple ways to solve a problem. Genesys Cloud architect is mainly built for the people who wants to build the call flows with out having any coding experience. For them yes drag and drop the action on the call flow is easy to understand and implement. As i came from a development background i wanted to keep my code as a standard practice to implement the menus with Collect input action, this will give more free hand for me to implement the functionality. And i do use this technique to keep my code simple, the procedure is common accross the app, we call common module and mimic the menu functionality with my own retries (mixed or individual ones for nomatch or noinput counters). If i use menus then i have to add tasks for each option set max tries counter to 1 and it will add more complexity on the call flow to go back and repeat the menu. 
    Just adding a wrapper around the Genesys provided functionality, this help me to create low code or no code concept if we fetch the menu info from Data table. When we understand the logic how we implemented this then i don't think it will be hard for any one to manage or maintain. the same concept will help us to build the app faster if we maintain this as a template and create our flows.  This is my view to save time and maintain standard practice for menus. I might be wrong, however, this is what i found so far. :)



    ------------------------------
    Ramu P
    Global Technology Solutions Inc.
    ------------------------------



  • 15.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 16:01
    No replies, thread closed.

    Ramu,
    All fair points.
    As a coder myself, I can sympathize and there are certainly some tings Genesys could do to improve the way Genesys Cloud works - especially for those of us with a coder's mindset.
    My concern about supportability really comes down to other people working on your system. I have, on a number of occasions, had to come in to support an already built system where the original architects / coders have moved on for one reason or another. Without exception, systems that have gone the "non standard" route are harder to support / learn. In some cases, it was actually more cost-effective to rebuild the whole thing from scratch!
    So, whilst you may not have any difficulty in supporting the system, or understanding how it works, as soon as you either move on to better things, or need to bring in outside help, things will get difficult.
    That being said, there is obviously nothing to stop you doing what you say and it's your system, so you do you. Just please make sure everything is documented to death to assist anyone coming after you in unpicking what you create.



    ------------------------------
    Paul Simpson
    Eventus Solutions Group
    ------------------------------



  • 16.  RE: Is there a way to collect input from menu dynamically in Architect

    Posted 04-20-2023 12:33
    Edited by Tamnun-E Mursalin 04-20-2023 12:36
    No replies, thread closed.

    Thanks for your response Ramu. 
    Paul- Let me implement the common module and test it, after that I will share my feedback in the post.



    ------------------------------
    Tamnun-E Mursalin
    Bell Canada
    ------------------------------