Slot not working?

Hi everybody, I have the following story:

- story: first_questions
  steps:
  - intent: greet
  - action: greet_client
  - intent: yes
  - action: first_form
  - active_loop: first_form
  - action: set_score
  - slot_was_set:
    - grave: true
  - action: utter_other_sym

the form executes ok, the action set_score sets the slot “grave” to True correctly when tested (checked in rasa interactive) but the action utter_other_sym never triggers, rasa just wants to run ‘action_default_fallback’.

the slot definition:

  grave:
    type: bool
    influence_conversation: true
    mappings:
    - type: custom

What I’m doing wrong?

Thanks in advice

I made another example, much simpler than this, and I have the same problem:

stories:

- story: happy path
  steps:
  - intent: go
  - action: test_action
  - slot_was_set:
     - test_slot: true
  - action: utter_it_works

actions:

class test_action(Action):

     def name(self) -> Text:
         return "test_action"

     def run(self, dispatcher: CollectingDispatcher,
             tracker: Tracker,
             domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

         #dispatcher.utter_message(text="Hello World!")

         return [SlotSet("test_slot", True)]

domain:

actions:
  - test_action

slots:
  test_slot:
    type: bool
    influence_conversation: True
    mappings:
      - type: custom

This doesn’t work, the test_action script does set the slot, but the slot_was_set doesn’t react. I was reading about the default RASA actions and action_extract_slots “runs after each user turn”, and in this case I’m setting the slot but there’s no user turn between the slot setting and the slot_was_set. Maybe that’s what’s wrong?

Thanks in advice.

You can add a rule Deactivating a Form for what happens after the form submission.

Hi, thanks for your response… but my problem is beyond the form, look at my second post, the same problem without form, it’s like slot_was_set is not seeing the setting of the slot

@iperich You can use rasa interactive to see what’s happening.

Nothing worked, I tried a lot of things, and eventually it worked, when I declared all slots influence_conversation = true and change the policies in config.yml letting only MemoizationPolicy active. Why it made a difference? Somebody knows?

1 Like