I have changed the name of this website from Mining Business Data to BotFlo. I am offering a 60% off discount on both my Dialogflow ES and Dialogflow CX courses till April 20th 2021 for people who can help me spread the word about my new website.
Recently, Dialogflow introduced a new feature called Dialogflow Messenger, which allows you to easily add a chatbot to your website. The feature is still in Beta, and the docs mention that things may change over time.
But first, a rant.
The naming of the feature is very odd, considering it not only sounds a lot like Facebook Messenger, but there is ALSO a Dialogflow + Facebook Messenger integration. And to make matters worse, it is also possible to embed your Facebook Messenger bot (which may or may not have been built using Dialogflow) in your website.
Let us not forget, generally speaking, similar sounding product names can also cause real confusion when it comes to SEO. So Dialogflow Messenger now wants to compete with Facebook Messenger for the 1st rank on Google? Something tells me that’s not a great idea. Who knows what the Google folks were thinking? ¯\_(ツ)_/¯
So, here are my first impressions of “Dialogflow Messenger”.
There are actually quite a few pros in favor of using the Dialogflow Messenger.
This is a big pain, and missing feature, in Dialogflow’s 1-click web demo integration.
With Dialogflow Messenger, this is as simple as setting the WELCOME event in the welcome intent you want to fire.
The image you see above is just all default settings. It is clear that the DF Messenger default UI is much better than the 1-click web demo, and also more functional.
If you are still not satisfied with the default UI, you can also customize the Dialogflow Messenger styles it with your own CSS.
If you are technical but not a programmer, you should be able to embed the text only version (that is, one which doesn’t use rich response messages) of the DF Messenger into your website quite easily.
The integration code runs on Google’s servers. This means it will scale very well, and you don’t personally have to worry about maintaining the integration code.
This is another feature which didn’t work with the 1-click web demo integration. You can have multiple responses in a single conversation turn coming from the bot. You can accomplish this by using multiple Text Response blocks.
One of the interesting things with the Dialogflow Messenger’s implementation is that it allows you to create fairly complex rich responses, such as a card followed by a couple of suggestion chips etc. In other words, you can create reasonably complex rich responses in a single bot response.
The Dialogflow Messenger standardizes the custom payload for rich responses, which is a big help for people building these types of chatbots.
This is actually a pretty big deal, although it may not seem that way initially. You can now exploit a standard payload format which has been provided (and hence approved) by the Dialogflow team, and you know that the payload format will (likely) not be changed in the future.
This makes it a sort of a “platform” on which a lot of website chatbots could be built in the future, as long as you don’t need any custom rich responses outside of what is already provided by the Dialogflow Messenger.
Now let us consider the not-so-great things about the DF Messenger integration.
Since you are using the custom payload to send rich responses, there isn’t any way to get a visual preview of the response inside Dialogflow’s web console, the way you can with Google Assistant rich response types.
You need to understand how JSON works if you want to use rich responses. While JSON is not as complex as learning an entirely new programming language from scratch, it can sometimes be a little tricky, especially if you are constructing a complex rich response object.
For example, Google Assistant has the carousel feature, and it would have been nice to have that option within the DF Messenger integration also. This is all the more relevant considering that there is already limited vertical space in a chat widget, and a horizontally scrolling widget such as a carousel would be quite useful.
Some of the more advanced features, such as handling custom events, require programming. This is somewhat expected, but it is good to keep that in mind. On the plus side, this does mean that the chat widget is quite customizable. (See next point)
This is a general concern I have about all 1-click integrations, that they are not fully customizable. This is also why I generally suggest using custom integrations over 1-click integrations.
Having said that, it is not as big an issue for Dialogflow Messenger, and I am very glad Dialogflow has added “hooks” to add custom code to DF Messenger. For example, there are some ways to add your own custom code to specific events such as message sent/received. This isn’t true of the other 1-click Dialogflow integrations.
I will be creating more detailed learning material for Dialogflow Messenger over the coming weeks, but that’s it for now. If you would like me to address specific topics, please leave a comment below.