Ask user again if i dont "like" his entity value

  • user wants an appointment

  • i ask on which day

  • the user says something

  • i use duckling to get the day and check some calendar service whether an employee is available

  • if not available i want to ask the user for another day until i “like” the answer

    create appointment

    • request_appointment
      • utter_ask_date
    • tell_date
      • action_get_appointment_slots
    • affirm
      • utter_create_appointment_result
    • thank
      • utter_gern_geschehen

within the “action_get_appointment_slots”

I check if the “date” is ok for me.

on not like i tried undo/rewind event from: https://rasa.com/docs/rasa/api/events/#undo-an-action

example: JSON (from my nodejs server): [{"event": "rewind", "text": "Da kann ich Ihnen leider keinen Termin anbieten. Wie wärs mit einem anderen Tag?" }]

expect: tell_date is executed again

actual: it goes to “utter_create_appointment_result”

Which JSON should I send?

[{ "text": "Da kann ich Ihnen leider keinen Termin anbieten. Wie wärs mit einem anderen Tag?" }, {"event": "followup", "name": "tell_date"}, {"event": "slot", "name": "time", "value": null}]

this did neither work

i tried to tell which intent to take next und resetted the “time” from duckling

I was going to suggest a followup event with a slot reset, but you already did that. The other idea that I have is to use a form. Use a validate function to see if the appointment can be done and continue with the dialog or reset the slot and keep asking.