Search code examples
botframeworkchatbotbot-framework-composer

Waterfall Dialog keeps calling itself - how can I stop it?


I am building a chatbot with bot framework composer and extend it with custom actions. These custom actions are mostly waterfall dialogs and until now they worked perfectly fine. Now I have the problem that one of these dialogs just won't end even if I call stepContext.EndDialogAsync() or stepContext.CancelAllDialogs(). Looking at the call stack and stepContext.Parent I am unable to figure out the problem. I even tried stepContext.Parent.EndDialogAsync() and still it jumps back to the first waterfall step. I want to jump back into the adaptive dialogue generated by the composer, so I can't use BeginDialogAsync().

Is there a way to literally "kill" the dialog? Or does anyone have an idea how to handle this issue? I can provide some code if neccessary.

Thanks in advance!


Solution

  • Try this, in the NextSteps composer dialog, set the 'Always prompt' to true:

    enter image description here

    this will enable stepContext.EndDialogAsync to work as expected from the last waterfall step.

    return await stepContext.EndDialogAsync(cancellationToken: cancellationToken);