Request slot in form multiple times

I am using rasa form, and define a required_slots.

  utter_ask_autopart_list:
  - text: Could you tell me what autopart you want?

forms:
  tech_question_form:
    ignored_intents: []
    required_slots:
    - autopart_list

My interaction with Bot is this.

Me: Hello, I want to buy something

Bot: Could you tell me what autopart you want?

Me: Hello, I want to buy something

Bot: (silent)

The second time I want to ask, it remains silent with ‘action_default_fallback’. The expected value should be utter_ask again.

Does someone know how I should make the bot ask me multiple times? Thanks.

Can you provide more details like stories, rules, slot mapping, and custom action (for filling the slot, if any)?

This is my story

- story: normal question
  steps:
    - or:
      - intent: oil_usage
      - intent: just_vincode
      - intent: autopart_size
      - intent: just_autopart
      - intent: autopart_position
      - intent: autopart_disassembly
      - intent: other_question
    - action: tech_question_form
    - active_loop: tech_question_form
    - intent: goodbye
    - action: action_deactivate_loop
    - active_loop: null

rules

  - rule: tech question form start
    steps:
      - or:
        - intent: oil_usage
        - intent: just_vincode
        - intent: autopart_size
        - intent: just_autopart
        - intent: autopart_position
        - intent: autopart_disassembly
        - intent: other_question
      - action: tech_question_form
      - active_loop: tech_question_form
  - rule: Submit form
    condition:
      # Condition that form is active.
      - active_loop: tech_question_form
    steps:
      - action: tech_question_form
      - active_loop: null
      - slot_was_set:
          - requested_slot: null
      # The action we want to run when the form is submitted.
      - action: tech_question_action

I have “tech_question_action” as my action when the form is finished.

Can you provide the slot mapping as well? If the type of slot mapping is “text” and there is no condition, then the slot is filled with whatever the user uttered. So the form is already completed. Hence the state “action_default_fallback”.

There’s a good example implementation of this in the financial-demo.

Here it is. I tried to debug the conversation, and I am sure the slot is not filled and form is not completed. But it always stops utter_ask after the first time.

  autopart_list:
    type: list
    influence_conversation: true
    mappings:
    - entity: autopart
      type: from_entity

I am looking at official document for rasa form

And it has the same problem that utter_ask won’t trigger after the first time. I will look at the financial-demo.

Your input ->  hello                                                                                                                                                                                      
Hey! How are you?
Your input ->  ask me anything                                                                                                                                                                            
What is your shirt size?
Your input ->  ask me anything                                                                                                                                                                            
Your input ->  ask me anything                                                                                                                                                                            
Your input ->  ask me anything     

So, I think the only way is to customize the logic of form validation.