The action form in rule does not set some of the slots that it sets in other rules

Hello everyone

I’m trying to set up a form with multiples Yes and No answers and also enabling FAQs during the form loop, but I’m having issues enabling the FAQs. Following the restaurant example, I receive this error while training:

- the action 'qualification_form' in rule 'Example of an unhappy path' does not set some of the slots that it sets in other rules. Slots not set in rule 'Example of an unhappy path': 'already_using_chatbot, interested_beta_test'. Please update the rule with an appropriate slot or if it is the last action add 'wait_for_user_input: false' after this action.
Please note that if some slots or active loops should not be set during prediction you need to explicitly set them to 'null' in the rules.
You can find more information about the usage of rules at https://rasa.com/docs/rasa/rules. 

I have this story:

version: "2.0"
stories:
  - story: Path 1
    steps:
      - intent: faq_how_smart
      - action: utter_faq_how_smart
      - action: qualification_form
      - active_loop: qualification_form

And I have this FAQ as a rule:

  - rule: FAQ plans 
    condition:
      - active_loop: qualification_form
    steps:
      - intent: faq_plans
      - action: utter_faq_plans
      - action: qualification_form
      - active_loop: qualification_form

I’m not sure what am I doing wrong, because the error message it’s not that clear me. I understand that we should use slot_was_set on the conditions because the qualification form does it, but I’m exactly sure.

Also, I’m currently using these versions:

Rasa Version     : 2.2.7
Rasa SDK Version : 2.2.0
Rasa X Version   : 0.33.0
Python Version   : 3.7.3

Then, how can I solve that error?

Thanks,

Can you provide domain code? It seems you’re trying to run the same form while it’s still active. I if understand correctly, you want to allow context switching when you run your form. Try using rules for context switching.

The form won’t deactivate when rule context switching, so you don’t need to run it again manually, it will resume automatically when the rule ends.

edit: sorry put the wrong link to docs before

Got it working with your sample, I modified my rule like this: (I’m using a response selector now instead of individual rules for all the FAQs)

- rule: FAQs
  steps:
    - intent: faq
    - action: utter_faq

but, I got a question based on that, I was following this example and the unhappy path it’s set as I had it initially, is there an error on that documentation part or something else that I’m missing?

Thanks,

I actually don’t understand the example you linked very well. Even if it’s on the docs, it seems to be in direct contradiction with the link I provided. Hopefully, someone can clear that up.