# FormAction must not proceed untill are slots are not filled

**URL:** <https://forum.rasa.com/t/formaction-must-not-proceed-untill-are-slots-are-not-filled/4820>\
**Category:** Rasa Open Source\
**Created:** [January 31, 2019, 12:17pm UTC](https://forum.rasa.com/t/formaction-must-not-proceed-untill-are-slots-are-not-filled/4820 "2019-01-31T12:17:48Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![chemseddine](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@chemseddine](https://forum.rasa.com/u/chemseddine)\
**Post date:** [February 4, 2019, 2:43pm UTC](https://forum.rasa.com/t/formaction-must-not-proceed-untill-are-slots-are-not-filled/4820/3 "2019-02-04T14:43:23Z")

</div>

Hi @GhostvvI need your help please I want to use forms for a specific case I have and I can’t get it to work.

In actions as a form I have :

```
class IdeasmineForm(FormAction):
"""Accept free text input from the user for suggestions"""

def name(self):
    return "ideasmine_form"

@staticmethod
def required_slots(tracker):
    return ["ideasmine_message"]

def slot_mappings(self):
    return {"ideasmine_message": self.from_text()}

def submit(self, dispatcher, tracker, domain):
    return[]

```

So I want to take the input of the user as it is, I know the user will give me the intent : ideasmine\_message but I don’t know what it will be it’s very random so in my intents I can’t give examples for this intent. This is why I want to use forms to just get the user input and take this as ideasmine\_message intent/slot

After the FormAction I want to tell the user simply that he taped {ideasmine\_message[text]}, so in my stories I have the next action like:

```
class action_SendIntent_B_S(Action):
     def name(self):
        return 'action_SendIntent_B_S'
    def run(self, dispatcher, tracker, domain):		
        loc = tracker.get_slot('ideasmine_message')
        response = """Hi user you said {} , """.format(loc['text'])				
        dispatcher.utter_message(response)

```

Just tell the user what he taped.

stories.md

## happy path

- bonjour

- confirmer

in domain.yml

```
- utter_ask_ideasmine_message
- action_etape4

forms: 
 - ideasmine_form
intents:
- confirmer
- ideasmine_message

entities:
 - ideasmine_message

slots:

ideasmine_message:
type: unfeaturized
auto_fill: false
templates:
utter_ask_ideasmine_message:
   - text: What is your Idea?
utter_bonjour: 
 - text: hi, do you need help?

```

What I realy want is:

```
 user: Hi (*bonjour)
 bot: hi, do you need help? (-utter_bonjour)
 user: yes (*confirmer) 
 bot: what is your idea? (I could of use this in stories as *ideas_message but the problem is that I don't know what should I receive as an answer it could be any thing, this why I want to use forms. So the bot will execute ideasmine_form which will show the utter_ask_ideasmine_message)
 user: my idea is my idea (filling the form and taking this sentence as ideasmine_message slot)
 bot: you said: my idea is my idea (action_SendIntent_B_S)

```

when I tried this with interactive learning the bot predict well till the ideamine\_form (correct?) I tape Yes, then the bot show the utter\_ask\_ideamine\_message and propose to listen I tape Yes and taped the idea (my idea is my idea) Here it stops because the bot propose to classify this as None intent and if I tell him to classify it as ideamine\_message he re do the ideamine\_form as the new action.

Am I doing something wrong ? I’am using the last versions of both rasa\_nlu and rasa\_core

---

_[View the full topic](https://forum.rasa.com/t/formaction-must-not-proceed-untill-are-slots-are-not-filled/4820)._
