Conflicting form examples. is there a recommended way?

Some examples show a FormAction with required_slots and submit methods. Others show a ValidationFormAction plus an Action to submit the form; then one rule to activate the form and another to submit the form. Why would I have a separate rule for submit rather than having a single rule and calling FormAction.submit when the form is complete?

Hi @simonm3

What do you mean by calling FormAction.submit? You should have two rules (one to start the form and one to submit it) so that arbitrary things can happen in between. E.g. some chitchat that interrupts the form.

1 Like

This example has only one rule and suggests FormAction call submit once all slots are filled:

I was thinking I could have one rule and a FormAction.submit function that handles the completed form. Then if chitchat required add a story. Would that work or not?

Turns out the FormAction is deprecated. Unfortunately there are a lot of old articles and videos available on the rasa website. Would be clearer if they just showed the ones that actually work.

1 Like

Hey Simon.

Yes, FormAction was only used in 1.x. 2.x and 3.x use FormValidationAction.

Please follow the docs at https://rasa.com/docs as a main source of reference. In the blog posts at https://rasa.com/blog, always be careful about the publish date of the article.

The reason they’re not deleted probably includes the fact that some people still use old versions of Rasa.


Here are some pointers that show if an article has been deprecated. I will use the one you mentioned, How to Build Your First Rasa Form as reference.

  1. You can see it has been published on June 11th 2020, over a year ago.

  2. The first sentence mentions that there are more recents examples:

    Looking for a more recent example? Read about how we upgraded the bot from this tutorial to Rasa Open Source 2.0.

  3. The syntax used over there shows the article dates from version 1.x, when markdown was used instead of YAML:

    ## intent:inform
    - a full [8 hours](sleep)
    - only [four hours](sleep)
    - about [six hours](sleep)