Teneo Developers
Table of Contents
Was this page helpful?

Share to

Flow stack

Teneo manages the active Flows in a flow stack. When a Flow is triggered, it is put on top of the stack, and as soon as it is completed, it will be removed from the stack.

The Flow stack is thus made up of all the Flows that have been triggered but have not yet finished. While inside a Flow, the user can change the context and ask something else. This will trigger a different Flow and put the current one on pause.

You can follow the Flow stack in the Path section of your Try Out but also with the icons under the output while talking to the bot.

Build - Flow stack: raise-fkow.png

Flow stack and interruptions

Most of the time, there is only one Flow on the stack at a time. The stack may grow higher if an active Flow gets interrupted. This may happen if the user asks for clarification instead of responding to the bot's question, or responds with something that the bot does not understand. In those situations, another Flow will be triggered and put on top of the stack. That Flow is then the active Flow. Once it's completed, Teneo will drop it from the stack, and the interrupted Flow will be back on top and resumed.

You can easily specify if your Flow should remain on the Flow stack if interrupted. Flows are only kept on the stack if the output that was interrupted was set to be revisitable.

In Teneo you can link Flows together, making it possible to combine processes that were implemented in different Flows.

You can either link to Sub-Flows or to regular Flows. Both result in different behaviour. When linking to a Sub-Flow, the dialogue is handed back when the Sub-Flow has finished processing.

linking subflow

This is not the case when linking to regular Flows. When Flow A links to another regular Flow B, the processing of Flow A stops and Flow B takes over. When Flow B has finished executing, processing ends.

linking flows

When linking to regular Flows, the triggers and trigger-listeners of the Flow you link to are ignored.

To link to a Flow or Sub-Flow, click the 'Flow' icon in the ribbon. Once added, you can specify which Flow you would like to link to. When linking to a Flow you can specify which variables can be transferred back and forth.

Flow stack control

Teneo manages the Flow stack automatically for you. You can, however, access and manipulate the Flow stack programmatically using the Engine scripting API. You may, for instance, force the stack to be cleared in certain situations. More on that here.