I encountered a problem that seems to be happening that a slots gets already filled by an intent even though there was no request for the slot How to prevent rasa filling slots which are not requesting and when the slot is conditioned on a form (and auto-fill turned off).
In the following scenario, we have one slot liked_topic which can be filled with affirm or deny. Before asking “Did you like the topic?” the user gets asked “Can I ask you a question?” which can also be answered with affirm or deny. The problem: The answer to “Can I ask you a question?” fills wrongly the slot liked_topic. Would be great if someone could point me to my mistake or whether I can never use affirm or deny to fill a slot because this would lead to unrelated affirm/deny intents already filling those slots…
This is how I set the form question and the slot:
utter_ask_basic_form_liked_topic: - text: "Did you like it?" liked_topic: type: bool influence_conversation: true mappings: - type: from_intent auto_fill: false intent: affirm value: yes - type: from_intent auto_fill: false intent: deny value: no conditions: - basic_form requested_slot: liked_topic
and the story like this:
- story: happy path steps: - action: utter_can_ask_question - intent: affirm - action: basic_form - active_loop: basic_form - slot_was_set: - requested_slot: liked_topic - or: - slot_was_set: - liked_topic: yes - slot_was_set: - liked_topic: no - slot_was_set: - liked_topic: __other__ - slot_was_set: - requested_slot: null - active_loop: null - action: utter_next_question - intent: affirm - action: action_do_something