Stop in the middle of the Form is not working

Hello,

I am using a Form and I want to stop the conversation in the middle of the form active period user specify.

I have a story like this

* greet OR entry_without_greet
 - action_reset__info
 - action_welcome_user
 - re_form
 - form{"name": "re_form"}
* stop_conversation
 - utter_continue
* affirm
 - re_form
 - form{"name": null}
* affirm OR affirm_correct
 - co_form
 - form{"name": "co_form"}
 - form{"name": null}

and I have the intent described in the nlu

## intent:stop_conversation
- cancel this conversation
- this is leading to nothing
- stop
- stop go back
- go back
- I think i made a mistake 
- I want to start over
- Stop it
- I want to stop this
- stop it
- stop this
- STOP
- I dont want to go furthers

Following is the domain record

intents:
- stop_conversation:
    use_entities: []

When I provide “stop” message in the middle, NLU correctly identifies the intent but the form continues without uttering the action for stop_conversation intent.

Edit: I have one suspicion. In slot mapping of the actions.py I am using self.from_text() as the final option for all form slots.

"x": [self.from_entity(entity="x"), self.from_text()],
 "y": [self.from_entity(entity="y"), self.from_text()],

Is that the problem?

I couldn’t figure out the reason for this behavior. Could you shed some light on this?

I don’t know that you method works or not.

Generally I use self.deactivate() method in the FormAction, it help me to deactivate form

reference link:-

self.deactivate() means we expect the next action be a form action. But I expect the next action after seeing the STOP intent to be a different action.

1 Like

You can control followup action using event followup concepts… Please check below URL for more detail.

https://rasa.com/docs/rasa/api/events/

hey, did you find a solution for it? I am facing the same issue and slot mapping is from_text in my case as well

1 Like

@akelad can you please look at this issue, i am facing the same

1 Like