Hello
I do not know if there is any Idea in the Ideas Portal about this... I've searched for it and I couldn't find any. I'll open one, but I would like to know your opinion too, and how viable would it be.
A while ago, you released the feature that allowed the Reusable Tasks in Architect to be used with "Call Task" instead of just "Jump to Task". That allowed us to structure our flows more with like a standard programming style, as with a kind of a "callstack", where a Task can go to another Task, and then come back to continue at the same place where it was.
We love that. It provides abstraction and encapsulation of the different parts of the flow, and it makes so much easier to follow the logic. Also, when the Input/Output Task variables feature came out, it reinforced that isolation, so the global "Flow Variables" were less needed (and that is good, as using global variables is usually considered a bad practice).
However, there is still something that breaks this: Menus. Whenever we want to use a Menu, we have to "Jump to Menu". There is no other choice. There is no way to come back to the point where the Menu was called other than jumping to the start of the Task and having logic to bypass the different parts of it (and said logic, controlled by global Control Variables, yuck).
So what if the Task jumps to many Menus? Then we have to have more ugly bypass after bypass logic.
So what if the Task was invoked with "Call Task" by another task? Bad luck. Then you have to change the whole flow design.
So what if the Menu is invoked from many different Tasks? Then we have to use more global Control Variables, to know to which Task it has to jump when it finishes.
So what if we meticulously design our flows, and in the future, a new Menu is added? Then, we have to refactor it entirely.
As you see, Menus break and/or uglyfy our flows. That makes us to try to avoid them as much as possible, via DTMF and re-attempt logic implemented by ourselves just using Reusable Tasks. But, appart from not being the cleanest option, it has a crucial flaw. The only way Architect provides to use ASR are the Menus (and using Bots, but that has its own problems that I am not going to address here).
That is something our customers hate: "We have to use DTMF? It's 2023! And Genesys Cloud is supposed to be one of the leaders in the Contact Center industry!"
So that forces us to design our flows around the Menus. It makes them very brittle, confusing to follow, tighly coupled, hard to change...
From our perspective outside Genesys company, all of this has an easy solution. Allow us to "Call Menu" the same way we "Call Task". With that, all the previous problems that I mentioned would be solved.
But, of course, I do not know how Genesys Cloud Architect really works under the hood. I do not know if this would be feasible or not. And if it were, how much time it would take. That is what I am asking here.
As I said, I'll open a new Idea in the Ideas portal, and I will share it here to give it more visibility, but I wanted to know your opinion first.
Thank you, and apologies for the long post!
PD: For the programmers that see this (I think they will be many, as this is a Developers forum), imagine that one of the core features of your preferred programming language got rid of the callstack every time you used it. That would be crazy, right? That's what Architect "Jump to Menu" does.