Rasa X 0.33.2 - keep ordering my form items

Version: Rasa X 0.33.2, Rasa 2.0.6-full

I’m using the helpdesk starter pack.

The rasax is ordering the items alphabetically on the domain.yml.

It’s a problem in the forms node, because the order of the slots is very import to the form flow.

For example:

forms:
  open_incident_form:
    email:
      - type: from_entity
        entity: email
      - type: from_intent
        intent: affirm
        value: true
      - type: from_intent
        intent: deny
        value: false
    priority:
      - type: from_entity
        entity: priority
    problem_description:
      - type: from_text
        not_intent:
          - bot_challenge
    incident_title:
      - type: from_trigger_intent
        intent: password_reset
        value: "Problem resetting password"
      - type: from_trigger_intent
        intent: problem_email
        value: "Problem with email"
      - type: from_text
        not_intent:
          - bot_challenge
    confirm:
      - type: from_intent
        intent: affirm
        value: true
      - type: from_intent
        intent: deny
        value: false

became

forms:
  open_incident_form:
    confirm:
      - intent: affirm
        type: from_intent
        value: true
      - intent: deny
        type: from_intent
        value: false
    email:
      - entity: email
        type: from_entity
      - intent: affirm
        type: from_intent
        value: true
      - intent: deny
        type: from_intent
        value: false
    incident_title:
      - intent: password_reset
        type: from_trigger_intent
        value: Problem resetting password
      - intent: problem_email
        type: from_trigger_intent
        value: Problem with email
      - not_intent:
          - bot_challenge
        type: from_text
    priority:
      - entity: priority
        type: from_entity
    problem_description:
      - not_intent:
          - bot_challenge
        type: from_text

With the ordered form, the confirm slot is filled first, but it should be the last.

Is there a way to disable this automatic ordering?

Hey @davidhsv

We have an issue opened in RasaX to preserve the ordering, currently there’s no solution to that :grimacing:

Sorry for the inconvenience and stay tuned!

Thank you! Is there any way I can track that issue?

Hi @davidhsv,

I ran into this issue as well today, @degiz. A work around may be to use a custom form action and to use the required_slots method to set the order. That should be enough, but you may also want to look at the request_next_slot method as well.

Great workaround, thank you for the reply :slight_smile: