Rasa add slots according to user response

hello, i am working on a chatbot in which bot asks question with the options yer and no, now if user selects yes then i need to run some custom actions and bankend decide which slot to be run according to the user response

How about form

In forms we have required slots but how to manipulate that slots according to user response

Hi @arpitd143. So I think I understand 1-3 but 4-5 are unclear to me:

  1. The bot asks a question
  2. The user will reply with either yes or no
  3. If the user selects yes, then you want it to trigger a custom action
  4. That custom action should use yes response to do something to a slot?
  5. What should the custom action do if the response is no?
  1. bot asks a question

  2. If the user reply with yes than using that response i have to run some query to db and from there i will get the next question that bot will ask with user

  3. if the user selects no than again same process query database and according to response i would like to ask the next question

now the main point is i am wandering can we do this using forms or not

@arpitd143 if on both yes and no you want to fetch the query from database then what’s the point of using yes or no? Normally, the best practise we use yes(affirm) and No(deny) to get the feedback but if you have certain scenario you can use it.

If for example:

Bot: Do you want to know more about this product ?

Yes| No

If user select Yes then you can set the payload with custom action using slot or form.

Or

If user select No, then what’s you do? You can’t repeat the same above process. This is not a best practice in conversation design or dialogue management.

For No, the scenario you need to ask different questions or set the different payload such as “I am sorry to hear that, what you like to know then? “, " Which other information you like to know”, " How I can help you with our other products” etc etc

I hope my point is clear to you?

actually the complete scenario is i am developing digital nurse and in forms i have slots as different symptoms now i want to ask the user for symptoms he has like bot asks do you have fever if user select select yes than i want to check all the disease which has fever as symptoms and now next i want to ask for the symptom which has some probability from the disease and by continuing this process at the end bot will diagnose the disease

If the user selects no than bot should ask the next symptoms which are most common

@arpitd143 No worries. I guess for kick-start you can check this GitHub - RasaHQ/wellness-check-bot: A simple Rasa assistant that uses forms to conduct a daily health survey Its simple bot, but you can customize as per your requirement.

Tip: First see the complete process, understand the process and approach, then it will be very much easy for you. It is more important to get precision whilst developing the health care bot, so take a proper guidelines and medical knowledge whilst providing the diagnosis to the patient or customer.

I hope this will help you more. Good luck with the project.

2 Likes

Thanks a lot it would be very helpful for me

2 Likes

This solved my problem but facing one issue how i can ask for slot back to back like if user answer yes then next slot is called but i am not able to access that slot, i want to take that slot and do some query and again want to return another slot

@arpitd143 create utterance, payload, custom action, story, intent and same process I guess!

1 Like