Chatbots are a great new way to engage with clients. A chatbot allows for a more "conversational" style of interaction as opposed to the traditional "transactional" way of interacting with web applications. A well-designed conversation experience can keep users hooked and increase the time spent with your applications. In this blog, we write about how we used FlowXO to create a quizzing bot for Shika
There are several tools that make it easy to build the conversation experience, and a comparison of these platforms is beyond the topic of this blog. However, we've tried out 2 of them - FlowXO and DialogFlow. These platforms let you design the conversation experience and allow plugging in your existing data sources to read and write data into your application. Both platforms let you deploy your bot to the Facebook messenger, Slack, Alexa and Web. DialogFlow being a Google product also integrates with Google Assistant.
Creating a bot usually involves identifying reusable "micro paths" in your bot and then setting up words or phrases that trigger this path. Or paths can also set to be triggered from another path. An example of a micro path is a path that shows the weather to a user. The user can directly ask "How's the weather in New Delhi" and the bot can respond with the weather. Or the user may say "Book me a flight to New Delhi on Monday" and the bot may send the weather at the end of the booking flow.
The other important piece is where you get your user data and any other resource information your bot needs - like in our case the categories and questions needed by the quiz bot. And then finally you'll also need to save user progress so that your bot can start becoming intelligent by knowing the past activity of your users.
With Joomla, we used com_api to rapidly develop APIs for the bot. In this case, we needed two APIs - the list of categories and questions from each category. The bot has a simple flow
- Greet the user
- Show him a few categories to take the quiz from
- Once the user chooses a category ask him 2 questions
- Compute results and show him the result page
This is of course just a start and a demonstration of how you can use chatbots and integrate with Joomla. The simple flow above could as well be implemented with a normal app, but I'm sure the bot will allow for some creative uses in the future.
Have you created bots before? What is your feedback in that case? Do you have any ideas to add more functionality to the quiz app? Do let us know in the comments below.