How to set requested_slot to custom value

I have a form action asked for some information from people who used my service. And there are 4 slots to filling in ordered. some people do no want answered question in order. they have fourth intent when first question asked sometimes. So what should I do change the order of 4 slots or how to set requested_slot value to fixed slot value with people’s intent rather than automatically ordered slot? your early reply will be appreciated

Hi @fanlu, The form action sounds like the correct one to use for collecting information from your users to fill the 4 slots.

To help me understand what you are trying to achieve, can you provide a more detailed example of an utter_ask_{slot_name}, and how the users answer is resulting in wrong behavior?

If you are using Rasa X, a screenshot of an example conversation with the slots would be very helpful, off course not with actual data from your users, but something representative.

To change the slot order by some intent may be work.But I am not sure that this is the correct way.

@staticmethod
  def required_slots(tracker: Tracker) -> List[Text]:
    """A list of required slots that the form has to fill"""
    if tracker.latest_message.get("intent", {}).get("name") == "ask_date":
      return ["deliveryDateConfirm", "customerNameConfirm", "orderInfoConfirm", "detailAddressConfirm", "deliveryDuration"]
    else:
      return ["customerNameConfirm", "orderInfoConfirm", "detailAddressConfirm", "deliveryDateConfirm", "deliveryDuration"]