Bot Framewok Composer - "Replace this dialog" causes an error 400

Viewed 910

I'm building my first chatbot with bot Framework Composer and I don't succeed in building a very simple scenario.

I looked deeply in the Bot Framework Composer Documentation but found nothing helpful.


Child Scenario I want to achieve:

  • Bot asks/prompts 'Says something plz'
  • User answers/types a string, something like 'anAnswer'
  • Bots says "You said 'anAnswer', is it correct ?"
  • User types "yes" or "no"
    • if user typed "yes" : End of dialog
    • if user typed "no" : repeat this dialog

See the Bot Composer Canvas here


The problems I face :

1. "Repeat this dialog" does not work as I expected.

  • The emulator keeps telling me :"Recursive loop detected, AdaptiveDialog cannot be repeated twice in one turn"

  • I tried to turn the "Allow Loop" on "True" but it seems to result on a infinite loop (though I don't know how I can check that...)

See the "Repeat the dialog" options here

Do I have to add something in the "Options" of the "Repeat the dialog" action ? Like where the loop have to start ? If so, how to do that ?


2. How to use "Replace this dialog" with a scenario already used ?

As I didn't succeed with the "Repeat the dialog" action, I then tried to cut in half the whole dialogue by dividing it in two dialogues. Each dialogue have one goal :

  • the first scenario is for asking information to the user
  • the second scenario is for asking confirmation to the user

See the "Ask for infos" dialog here

See the "Confirmation" dialog here

The initial goal was to "redirect" the user toward the "Ask for infos" dialog when he whant to edit what he typed previously.

But here, it results on a error : POST400directline/conversations/<conversationId>/activities

Here again there are some "options" possibles for the "Replace the dialog" action, but I didn't found anything in the documentation on this subject.


Thanks a lot for helping a newbie, I'll gladly try the solutions you bring me and make the feedback.

Have a great day,


PS : Do you know a good tutorial on Bot Framework Composer (other than the Microsoft ones ?)

1 Answers

Before using the Repeat the dialog action you have to clear the variable storing the user answer. The reason its looping is the bot already have an answer in memory so it wont prompt the user again.

use the 'Set a property' action and set the variable value to null before repeating the dialog

Related