Honey, I built a chatbot, but no one will click on my buttons đ
Youâve laboured for hours and youâve finally designed the perfect chatbot. Youâve even hooked your bot up with Dialogflow for natural language processing skills. Your conversational flow is smooth but witty, occasionally broken up with quick replies to keep the user engaged. Itâs all looking sweet.
Except for one problem.
Despite the slick flow that you designed, users simply refuse to press the buttons that you offer. The resultâââa stalled bot.
Itâs a common design flaw, one thatâs present even in high profile bots like Victoria Beckham.
Why? Users donât use bots like appsâââthey want to chat, not click on buttons. Global data from bot analytics firm Dashbot.io shows that users press buttons (postbacks) and quick replies less than 40% of the time.
This means thatif the success of your bot is dependent on the user clicking on your buttons or quick replies, your bot will fail 60% of the time.
So how do you fix that?
Solution 1: Blindly ignore the user đđ
In Chatfuel, one option would be to toggle off the button for âText replies processed by AIâ.
However, there is substantial risk of this option backfiring.
In this situation, youâre essentially designing a bot that completely ignores the user, so that you can bulldoze all the way through with your flow.
After all, who cares about the user says anyway? đ
Solution 2: Build a Circular Death Loop â ïž
If you need a valid response from the user, you could build a circular loop that throws the same question to the user until your buttons are clicked.
How this is done
Save the quick replies to an attribute, then use a âGo To Blockâ to redirect the user to a new block if the attribute is not set.
In the Answer the Question block, prompt the user to click your buttons and redirect them back to the previous block.
What could go wrong? The user could type a response that matched one of your quick replies.
In this situation, your bot will not be able to understand and respond appropriately. The resultâââa very frustrated user.