Hi all, I am using a categorical slot in a form. In the form for this slot, I have set the value type to “from_text” and intent “None”. I have an action to fill this slot and in that action, I send buttons that cover all the possible values for this slot. When the user presses a button, I send the corresponding slot value in plain text back to Rasa. I am under the impression that Rasa will use this text and fill the slot, but Rasa seems to ignore the text value and process it as usual and won’t fill the slot. I am not sure what I am missing. Slot definition in domain.yml:
attrib_smoking: type: categorical auto_fill: true values: - chain smoking - occassional smoking - never smoke influence_conversation: true
I previously got this working using intents. I define the slot type as “text” instead of categorical. In the buttons payload, I used intents and in the forms, I set the type for this slot as “from_intent” and it worked. The reason I didn’t want to use this approach of using intents is that it is cumbersome to define intents. I have to define as many intents as possible categorical values and in the forms, the slots look ridiculously long as shown below.
attrib_smoking: - type: from_intent value: chain smoking intent: chain_smoking - type: from_intent value: occassional smoking intent: occassional_smoking - type: from_intent value: never smoke intent: never_smoke