Restart bot anytime

The way I did it was to create a custom action action_reset_full which resets all slots, restart the conversation and turns off any form.

from rasa_sdk import Action
from rasa_sdk.events import Form, AllSlotsReset, Restarted

class ActionResetFull(Action):
    def name(self):
        return "action_reset_full"

    def run(self, dispatcher, tracker, domain):
        dispatcher.utter_template("utter_reset_full", tracker)
        return [Form(None), AllSlotsReset(None), Restarted(None)]

I also have an intent reset that triggers this action so that you can just type “Reset” and the whole thing starts over. In our domain, it would look like (in the intents section of domain.yml):

- reset:
    name: reset
    triggers: action_reset_full

Hope that helps! Nicolas