Change intent during conversation

A user has a conversation with a Rasa Bot. A message is classified wrong so they want to correct the intent and get a (new) answer by the bot. Which HTTP APIs do I need to call to achieve this kind of behavior?

Sounds like you’re talking about interactive learning. In Rasa X you can do this in a UI by using strict mode on the talk to your bot screen. You can also copy past conversations to interactive learning to correct them.

No I don’t mean interactive learning, I mean a real conversation with a real user over webhooks (or another api, i still don’t know which one to use)

Ah ok so more like a fallback action? You can present e.g. a few of the top intents as options and ask the user, “did you mean… ?” so they can tell the bot what their intent was. There’s an example of this in Sara (the rasa-demo bot) and you can read about it there: Fallback Actions

I see! It’s not exactly what I meant since I thought this is only achievable using the HTTP API, but that solution looks even smoother when it’s all handled by Rasa itself. Thank you!

Hi! I now got familiar with how to use (TwoStage)FallbackPolicy and how to use the buttons to “change” (rewind last utterance) the intent. But displaying the buttons is only possible by overriding “action_default_fallback” or “action_default_ask_affirmation” (depending on policy). Is there a way to always display the buttons? Independent of confidence levels? Maybe by overriding the way Rasa displays the answer to the user?

I achieved my desired behavior by implementing the buttons on my own on client side and calling /back first and then the desired /intent{} once a button is selected.

Glad you found a way that works for you!