Rasa Form - "There is no active form"

Hello,

I’ve written a simple story (inspired from the FormBot tutorial):

## happy path
*greet
    - utter_greet   
* request_travel
    - airline_ticket_form
    - form{"name": "airline_ticket_form"}
    - form{"name": null}
    - utter_slots_values

Nonetheless, a request_travel intent does not trigger the form. More precisely:

“Je veux réserver des billets pour Londres” (Book tickets for London) → is decoded by the NLU module as a request_travel intent.

Received user message 'je veux réserver des billets pour Londres' 
with intent '{'name': 'request_travel', 'confidence': 0.9524035453796387}' 
and entities '[{'start': 34, 'end': 41, 'value': 'Londres', 'entity': 'location_arrival',
 'confidence': 0.7300485127766787, 'extractor': 'ner_crf'}]'

BUT Form is not triggered:

rasa_core.processor - Logged UserUtterance - tracker now has 6 events
rasa_core.processor - Current slot values: 

location_arrival: None
location_departure: None
requested_slot: None

rasa_core.policies.memoization - Current tracker state [None, {}, {'prev_action_listen': 1.0, 'intent_greet': 1.0}, {'prev_utter_greet': 1.0, 'intent_greet': 1.0}, {'prev_action_listen': 1.0, 'entity_location_arrival': 1.0, 'intent_request_travel': 1.0}]
rasa_core.policies.memoization - There is no memorised next action
rasa_core.policies.form_policy - There is no active form
Predicted next action using policy_1_FallbackPolicy

I don’t understand why the form is not triggered in this case, whereas request_travel intent is correctly detected.

Thanks!

----- Some details

Here is the graph of the story.

I’ve defined my form in domain.yml file:

forms: 
  - airline_ticket_form

and a class AirlineTicketBot:

    def name(self):
        # type: () -> Text
        """Unique identifier of the form"""

        return "airline_ticket_form"


    @staticmethod
    def required_slots(tracker: Tracker) -> List[Text]:
        """A list of required slots that the form has to fill"""

        return ["location_departure", "location_arrival"]


    def submit(self,
               dispatcher: CollectingDispatcher,
               tracker: Tracker,
               domain: Dict[Text, Any]) -> List[Dict]:
        """Define what the form has to do
            after all required slots are filled"""

        # utter submit template
        dispatcher.utter_template('utter_submit', tracker)
        return []

2 Likes

same problem here. Did you find a solution?

It says there is no memorised next action, have you tried turning that on in the policy stuff to see if it works? What happens if instead of the form you just have it utter something, does that trigger?

anyone solved it?I met the same problems.

same problem, it seems like this simple question is ignored by the staff

1 Like

I have same problem, can anyone assist us ?

bump. same issue.

Well, i was facing the same problem. But apperently, i forgot to add the utter_ask_{slot} to the actions as well. You need to add it to actions and template

hi… please can you show some example