Slots cannot influence Conversation?

I followed this guide (Managing the Conversation Flow ) and did an exercise to change the flow of the conversation by changing the slot value.

However, the slot value has changed, and the dialog flow has not changed.

image

NLU

- intent: give_shirt_size
  examples: |
    - I want a [large](shirt_size) shirt.
    - [Medium](shirt_size) size
    - give me a [small](shirt_size) tshirt
    - [small](shirt_size)
    - [large](shirt_size)
    - I'd prefer [medium](shirt_size) tshirt
    - give shirt size
    - I want a [large](shirt_size) shirt please
    - I want to give you my shirt
    - i want a [small](shirt_size) shirt
    - i want a [large](shirt_size) shirt
    - i want a [large](shirt_size) shirt
    - I want a [small](shirt_size) shirt

domain.yml

entities:
- shirt_size
slots:
  shirt_size:
    type: text
    influence_conversation: true
    mappings:
    - type: from_entity
      entity: shirt_size
responses:
  utter_small_shirt:
  - text: You want a small shirt
  utter_large_shirt:
  - text: You want a large shirt

stories.yml

- story: when user need large shirt
  steps:
  - intent: greet
  - action: utter_greet
  - intent: give_shirt_size
    entities:
    - shirt_size: large
  - slot_was_set:
    - shirt_size: large
  - action: utter_large_shirt

- story: when user need small shirt
  steps:
  - intent: greet
  - action: utter_greet
  - intent: give_shirt_size
    entities:
    - shirt_size: small
  - slot_was_set:
    - shirt_size: small
  - action: utter_small_shirt

You’re using a text slot where you need to use categorical. The docs on the text slot point out that:

the assistant’s behavior will change depending on whether the slot is set or not. Different texts do not influence the conversation any further.

1 Like

@stephens Thank you, It works.