Chatbots is quite a hot topic these days: some people even believe that they completely change the way we interact with computers. Not sure is it true, probably graphic user interface works better in many if not most cases. But anyway, out of curiosity I’ve decided to jump on the bandwagon and experiment with chatbots a bit.
I chose to build a simple chatbot for my eCommerce consultancy Magenable. The bot should be able to answer some basic questions of people about the business. So the functionality is quite simple:
- Greet a visitor and present range of topics that the bot is familiar with (team, services, contacts, etc)
- Understand the topic users interested in
- Tell user about the topic briefly, in some cases (like services) it can be expanded with some additional sub-topics
- Present several contact options (phone, web form, email)
- Process the exceptions
This is a trivial task for a good programmer, but the problem is that my coding skills are pretty basic. I could probably build such a robot with say Node.Js, but it would require significant time.
So when I discovered a platform called Motion.Ai that allows to build robots for less technical folks like me, I decided to give it a go. The platform allows to build bots using drag and drop interface, creating a kind of flowchart that reflects the bot logic.
As you see from screenshot a bot above consists from number of modules (boxes on the screenshot) that are interconnected. There are several types of modules, including:
- Simple statement
- Multiple choice
- Sentiment analysis
- Data collection (email, phone, web address)
That is enough for basic functionality I needed for my bot. For more complex cases you can connect the bot with your web application through web hooks to send and receive data and build more sophisticated logic.
In addition to blocks you can define global settings, like any time user type “restart” the bot will respond with initial welcome message.
You can connect your bot to various platforms: from web chat on your own website (I added one at Magenable) to Facebook Messenger to Slack.
I started from building a web version of the bot (you can call it from bottom right corner of Magenable website , see first screenshot in the beginning of this post). Motion.Ai interface is quite intuitive, so I didn’t have major issues. Few notes about my experience:
- make sure that you process exceptions and dead ends – the cases when user tells something that your current module doesn’t understand. I built a special module for that situation that re-iterate topics that the bot can talk about;
- Good idea to define the most important high level topics in global settings, so if a user mentions say ‘contacts’ it can be accessed through any part of the dialogue
- Phone number processing in Motion understands only US numbers, so unless you are not in US and only target US users – I suggest do not use it
- Free plan of Motion.Ai provides 1,000 message per month, when I built and tested my chatbot I quite quickly used over 600 of them, so test messages counts
- Web chatbot deployment is quite simple – you get a snippet of the code that you need to place at your website after body tag
After I was more or less happy with web chatbot, I decided to build a Facebook Messenger version. My tips and notes about the process:
- You need to have a Facebook page and Facebook App
- In Motion.AI you can import modules from one bot to another, it is very useful – no need to build Facebook bot from scratch; I was able to re-use all web bot modules
- However, Facebook Messenger has 320 chars limit, so you need to rewrite your messages to make sure that you do not exceed it
- Also your HTML formatting is ignored (source HTML code will be displayed), so you need to strip it down
- If you want to make your Facebook Bot available for public, it has to be reviewed by Facebook. The process is pretty straight-forward. A bit tricky thing is that you need to provide a video screencast of your bot, so I had to find and install software to record it
- Facebook team is quite fast with review, I got responses next day, even over week-end
Facebook chat bot is responding to the messages users send to your page. In addition they are available through messenger similar way with normal human users. Magenable bot is available at direct link http://m.me/1561509440819273 , you are welcome to chat with it!