Rasa slots automatically get overwritten

Hey, I’m making a virtual assistant chatbot that runs an action after the form has been filled. My slots and form looks as follows:

slots:
  visitor_name:
    type: text
    influence_conversation: false
  contact_person_name:
    type: text
    influence_conversation: false
  organisation_name:
    type: text
    influence_conversation: false
  time:
    type: text
    influence_conversation: false

forms:
  appointment_form:
    required_slots:
      visitor_name:
        - type: from_text
      contact_person_name:
        - type: from_text
      organisation_name:
        - type: from_text
      time:
        - type: from_text

By creating example sentences, I’ve managed to detect multiple slots through a single question. e.g.

I have an appointment at [3PM](time) with [Peter](contact_person_name) from [RasaHQ](organisation_name)

The form will keep requesting the slots until they all are filled. (Done through rules (710 Bytes) ) However, when the form for example asks me to fill in the “visitor_name” which is “Peter”, the “contact_person_name” will overwrite it’s slot to “Peter aswell” (since the examples shows that Peter could be a contact_person). Is there a way to make sure filled slots do not automatically get overwritten while asking the specific slot question? (While maintaining entity extraction of all the slots from the first sentence I send.)

Basically, how can I disable Rasa from overwriting slots after they are filled?

Thanks for listening,

Remy

Hi @Remy-T have you considered using from_entity slot mappings in combination with entity roles and groups annotated in your intent examples?

For example, you could define entity name and roles visitor and contact_person for the same entity which can be used in your form defined in the domain.