Rasa action_default_fallback after I reset the slots after the stories

I keep getting action_default_fallback after resetting the slots. I’m using custom action, and bool slot.


  - story: greet and subscribe
    - intent: greet
    - action: utter_greet 
    - intent: subscribe
    - action: newsletter_form
    - active_loop: newsletter_form
    - slot_was_set:
      - requested_slot: email
    - slot_was_set:
       - email: xy@tee.com
    - slot_was_set:
      - requested_slot: null
    - active_loop: null
    - action: utter_subscribed
    - checkpoint: ask_community

  - story: want to join community
    - checkpoint: ask_community
    - action: utter_community
    - intent: affirm
    - action: action_join_community
    - slot_was_set:
      - join_community: True
    - action: utter_say_welcome
    - action: action_reset_slot
  - story: do not want to join community
    - checkpoint: ask_community
    - action: utter_community
    - intent: deny
    - action: action_join_community
    - slot_was_set:
      - join_community: False
    - action: utter_say_goodbye
    - action: action_reset_slot


          class ActionResetSlots(Action):
              def name(self) -> Text:                                                                                                
                   return "action_reset_slot"

             def run(self, dispatcher: CollectingDispatcher,
                     tracker: Tracker, domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

                    return [AllSlotsReset()]

             class ActionJoinCommunity(Action):
                     def name(self):
                           return "action_join_community"

                     def run(self, dispatcher, tracker, domain):
                          """Sets the slot 'join_community' to true/false dependent on whether the user
                    wants to join mail subscription"""
                          intent = tracker.latest_message["intent"].get("name")

                       if intent == "affirm":
                                return [SlotSet("join_community", True)]
                      elif intent == "deny":
                               return [SlotSet("join_community", False)]
                      return []

Any suggestions? Please ignore indentation problems

Which story is failing? Not sure if this is the problem here, but note that a bool slot really has 3 possible values: unset (null) ,true, and false. So doing a general reset of all slots will make the bool slot null, not false.

If you’re resetting all the slots at the end of the conversation, maybe you can just add this to your domain:

  session_expiration_time: 60
  carry_over_slots_to_new_session: false
1 Like

@meghaggarwal I have the same problem. did you find any solution?