Chatbots are around for platforms like Slack and Telegram for quite a while now. But it really became interesting to me, when Facebook announced it for the Messenger platform during the last F8 conference.
In this post I’m going to share my experience of using Chatfuel to build my first ever bot and I will do so by dividing it into its good and bad parts.
But first… Chatfuel?
Chatfuel is probably the easiest way to get started in this bot world. You sign up with Facebook (surprise) and choose between a couple of templates for your bot, including a template used or inspired by the TechCrunch bot.
The #1 reason for using a tool like Chatfuel is probably this statement: “No programming required”. As a developer, I wanted to see how powerful it really is and where the limitations are.
Chatfuel has an AI engine that allows you to define phrases like “hi” and “hello” and then to respond with a “block”. A block can be a simple text message, an image or a gallery of images with text. The engine is not only smart enough to detect typos but it can also manage variations of longer sentences very well.
I used this the most for my first bot. And it’s packed with features: It displays the feed in a gallery with a link to the articles page but it also lets the user read the content inside the messenger. Pagination of the feed is already built in, as well as allowing the user to subscribe to the RSS feed, so he gets a notification, when something new was posted.
This one is huge. Although Chatfuel says “no programming required”, it can still work together with a server. Basically, you can respond to every user input with a JSON response from your server. It’s up to you which user inputs you want to handle in Chatfuel and which ones you want to be processed by your server.
This is really nice to have. Chatfuel lets you visually see how your bot performs in the wild. It provides you with data like how many people used the bot over the last weeks or what messages users sent the most and a couple more.
There isn’t really much to complain about, except for this big one. It cannot create a conversation with user. It is good at recognising phrases and responding with its corresponding block. For example, the bot knows that “hi”, “hey” and “hello” mean the same and so it responds with the one block it associates the input with and only this one block. You cannot tell him, to choose different answers at random, so the user doesn’t get bored so fast.
The other issue can be described with this scenario: The bot should give you the IMDb rating of a movie the user asks him. The user would ask the bot something like “What is the rating of Suicide Squad?” but this is not going to work, because it does not know how to extract the variable “Suicide Squad” from the phrase. In order to make this work, the user would have to write 2 messages, like this:
User: “I need the rating of a movie.”
Bot: “What movie?”
User: “Suicide Squad”
Bot: “Say no more”
This way the bot can save “Suicide Squad” in a variable. It would be nicer, if the bot had the ability to extract variables from sentences and when necessary ask a follow up question to get the missing variable if the user didn’t provide it, yet.
All in all, Chatfuel has built a great tool with a gorgeous user interface, so even people who aren’t experienced in this field can build a feature rich bot effortlessly.
It is a good fit for publishers who want to bring their content to the users messengers, as well as for local businesses who can make use of the not yet mentioned “Broadcast” feature, with which they can send messages to several users at once, to inform them about current discounts and what not.
With its ability to delegate user inputs to a server, there are even more possibilities for developers. But for conversational chatbots, you should keep your hands off it, at least for now.