Story condition based on slot / entity

I’m trying to create 4 different stories, that will activate based on the value of the slot users_browser.

I current have this (below) - but I get story conflicts. I understand why there’s a conflict because the main pieces are all the same, with the exception of the slot and the last action.

BUT - if I comment out the last action utter_instructions_xxxxxx (which interestingly is unique) it trains and everything is ok.

Any suggestions?

- story: MS Edge User Needs help with the group policy change
  steps:
  - intent: msteams_user_needs_help
  - slot_was_set:
    - users_browser: "Microsoft Edge"
  - action: utter_help_with_browser
  - action: utter_instructions_edge

- story: MS Chrome User Needs help with the group policy change
  steps:
  - intent: msteams_user_needs_help
  - slot_was_set:
    - users_browser: "Google Chrome"
  - action: utter_help_with_browser
  - action: utter_instructions_chrome

- story: Firefox User Needs help with the group policy change
  steps:
  - intent: msteams_user_needs_help
  - slot_was_set:
    - users_browser: "Firefox"
  - action: utter_help_with_browser
  - action: utter_instructions_firefox

Here’s what I get FWIW:

2021-03-01 16:12:25 WARNING  rasa.validator  - Story structure conflict after action 'utter_help_with_browser':
  utter_instructions_chrome predicted in 'MS Chrome User Needs help with the group policy change'
  utter_instructions_edge predicted in 'MS Edge User Needs help with the group policy change'
  utter_instructions_firefox predicted in 'Firefox User Needs help with the group policy change'
1 Like

How did you define your slot [users_browser]? As far as I know, you need to have set influence_conversation to true and used type categorical.

I suspect you used type - text. If the slot is text, rasa only checks if it was filled or not. So it doesn’t actually care what value you put, likely causing your conflict issue.

2 Likes

You know when you read an answer and you’re like - “Right, I knew that, I’m a moron” … that’s how I feel right now. I know a text slot doesn’t do much, and yet I still set it to text :man_facepalming:

Thank you for setting me straight and making me double check my config. Changing it right now :roll_eyes:

I’m confused what would you change it to?

Ooof, not sure, that was so long ago.

I think I ended up creating an entity, then setting auto_fill: true and influence_converation:true and then in my form using from_entity

how can i define slot filled by any values in story not specific value?