Dynamic Rasa Forms

I’m very new to rasa. I’m working on dynamic rasa forms but I don’t know where to start. I want to run multiple surveys using rasa forms. I have a total of 100 questions to ask users with 10-20 different surveys.

Whenever the user joins the conversation the custom action will check with the database whether that system has assigned the survey to that user or not. If yes, then the custom action should fetch questions from an API for that user and the bot should ask those questions to the user. Also, answer to these questions should be in a button format.

User: Hi
Bot: Hi, I could see you’ve pending survey. Do you want to proceed? [Displays two-button YES or NO]
User: Yes
[Bot fetched questions from an API]
Bot: Are you feeling sad? 1 is Strong Disagree 5 is Strong Agree [Bot displays 5 buttons with title 1, 2, 3, 4, 5]
User: clicks on 4
Bot: Next Question
User: 5
Bot: Next question and so on.

Please guide me on how can I start designing this conversation flow that would be very very helpful for me.

Hi @cypherjan I would recommend that you follow the tutorial in this Rasa youtube channel

go through step by step and you should understand how it is created with

  1. Python custom action
  2. FormAction
  3. ValidationAction
  4. Memory and Slot in Rasa
  5. You will need a database example, CSV file to store the information of your questions and answers
  6. You need to finally understand how do Rasa Forms work

My advice to you is that take the tutorial in this youtube playlist to understand the way how they create forms to ask names and also how to store the names, that’s a very beginner way to understand how to create your dynamic forms.

@stevelam15 Thank you for your help. Will go through the videos.