Context switching and form / conversation stack(?)

I understand that in order to do context switching within Rasa it is necessary to give examples of “unhappy paths” in the story files to learn from. for example:

user - “Can you transfer $100 from my checking to my savings?”

bot- enters transfer_form “Sure, do you want to transfer that now, or some other time?”

user- “User, actually what’s my account balance?”

bot- knows from stories to give balance and then return to the open form “Your account balance is $200.” “Do you want to transfer that now, or some other time?”

My question is, what if there was a context switch to another form? Is the original form closed? Or is it left open and is there a stack somewhere that tracks open forms? I only see the event history when I look at the “tracker.” We have a requirement to be able to track and return to “open” conversations after a context switch. My understanding of Rasa is that there is no such stack, only one form is open at any one time, and that context switching is accomplished via training the bot with “stories.”

Is my understanding correct, or is there some kind of stack that tracks “open” forms or conversations in order to fall back to them?

Thank you in advance.

There is no concept of “open conversations” in a dialogue. The whole chat is a single conversation. Same holds true for forms: there is no stack of them, we only keep information about the most recent one.

I see what you are getting at, but I am not sure stacking forms is a great way to create dialogues. I imagine that to be very confusing for the user. Prob better to work with intents / entities and skip the form.