I recently got this question from a reader.
We need help in creating a chatbot for one of our clients. .....
The main problem we have is the language that we need to use: (mentions a language not supported by Dialogflow).
The second is that we would like it to work the same on: Facebook, WhatsApp and website.
I wouldn't recommend this.
The main reason for this is that you are not utilizing all the benefits you get from the UI across all the three channels. Specifically, you have rich controls in these channels which can improve your conversation flow in a few different ways.
Speed up user input
For example, you cannot have buttons inside your WhatsApp bot. This may change at some point in the future, I don't know. But at the moment, the fact that you cannot use buttons means that there are many conversation patterns you cannot use in your WhatsApp bot.
Similarly, you can use a calendar control to get date inputs in a website chatbot, because you usually control the entire UI. Now, I haven't personally built one myself, but I know it is not very hard to implement. It isn't possible to use a calendar control with the other two channels.
Avoid User input error
Often, these rich controls become quite useful when your user input is prone to errors. For example, a calendar control can make sure your user never types in a date which is in a format that Dialogflow cannot understand.
Implement Fallback patterns
In addition, you can use rich controls to narrow the user's choice and implement fallback patterns which move the conversation forward.
For example, your bot first asks the user what they need help with. If the bot does not understand what they are asking, it can show 3-4 topic buttons to help guide the conversation forward. Re-prompting for text input is often going to make things harder (for your bot and thus your user) in that situation.
Now, if you want to build the most user-friendly chatbot possible, you will often want to use all the capabilities of the channel.
However, when you use these capabilities like buttons, calendar, cards etc, it will require you to design conversation flows which differ quite a lot according to the specific channel.
When you try to force fit everything into a single agent, you are often using a least-common-denominator approach, which will likely produce a bot which is not very user-friendly.
- How to learn Dialogflow in a week
- Reader Question: Do I need a contextual fallback intent for every single context?
- Reader Question: Can I use a single agent for Facebook, WhatsApp and website bot?
- Five ways to integrate a Dialogflow chatbot into your website
- BotFlo vs Dialogflow CSV Importer
- Build Better Dialogflow Bots
- Deploy NodeJS Webhook to Google Cloud
- Dialogflow Firebase Tutorial
- Reader Question: Is there a feedback mechanism to like and dislike a Dialogflow response?
- How to debug your Dialogflow bot