When it comes to choosing the best chatbot tool for your business, there is a large and seemingly ever-growing number of tools and options available. Navigating this landscape to choose the right tool for your chatbot development takes significant time and effort. This is the third and final blog post in a series that shares some of the lessons we learned in developing a chatbot for our own website. This post describes our use case, the process we used to identify a suitable tool, and our experiences.
Form a Team for Collective Inspiration and Division of Labor
To kickstart the project, we assembled a group of colleagues with an interest in chatbot technology and an eagerness to learn more about the tools and the capabilities on offer. Individuals in a team like this bring different perspectives and thinking to the process, inevitably leading to a more well-rounded and better outcome. To stay focused, we set up weekly meetings and assigned tasks to individuals to investigate specific tools as their time allowed during the work week.
Define the Purpose and Scope of the Chatbot
It may seem obvious, but it is critical to determine exactly what you want your chatbot to do and what the boundaries are. In our case, we wanted to develop a chatbot that could provide information about a training course and enable a customer to book a place at an upcoming training event. We wanted to retain this focus but gracefully respond to requests that deviate from this goal.
Start With Requirements
It is always best to start with requirements. We asked ourselves the question: What are the “must-have” features of the tool to develop this chatbot? We came up with the following list:
- Easy integration of the chatbot with our WordPress website, specifically on one page
- The ability to handle regular text input and buttons with predefined answers to steer the conversation
- The ability to pull course schedule information from a single source
- Automatic generation of email notifications to Business Development team members to flag a course booking
- A free or minimal subscription cost (<$20/month)
- The ability to record conversations for later analysis
- The ability to deploy on a staging website for testing purposes
- Minimal tool vendor advertising; for example, “Powered by <vendor>” in a relatively small font is fine, but we did not want obtrusive or distracting advertising
- The ability to develop the chatbot with minimal or no coding skills
- Good reporting capabilities
- The ability to deploy consistently across multiple devices and browsers
- Voice capability is explicitly not a requirement
Identify the Chatbot Category
We discovered two broad categories of chatbots with some overlap:
- Rules-based – A rules-based chatbot can answer questions it is conditioned to respond to. The rules define the conversation flow.
- Artificial intelligence (AI) – An AI chatbot uses machine learning techniques, specifically natural language processing (NLP) to infer meaning from the user’s input and direct the conversation flow accordingly.
Since we were at the beginning of the learning process, we opted for a simple rules-based chatbot, with a view to investigating the more advanced self-learning chatbots in the future.
We agreed that there were two big factors affecting the tool selection decision:
- Cost – We could go with a commercial tool with ready-made functionality and pay the cost to get up and running relatively quickly.
- Control of functionality – We could go with an open-source tool and live with slower development as we learned the skills necessary to use the tool effectively.
Team members began researching tools that could satisfy our requirements. We looked at comparison websites such as:
These websites have since been updated for 2020 but provided a good source for discovering and comparing possible options. We discovered no shortage of candidates. In WordPress, for example, a search for chatbot plugins returned over 100 entries! Of course, many of these were inappropriate or targeted to a specific use case that did not align with our goal.
Tool Feature Discussions
At our weekly team meeting, we reviewed the researched options to compare capabilities and cost. Following a filtering phase to eliminate chatbot tools we felt could not meet the basic requirements, we started to focus on a smaller set of more promising candidates which included:
- Mobile Monkey
- Motion.ai (now HubSpot)
- WP Chatbot
- Dialog Flow
- SAP Conversational AI
- IBM Watson Assistant
- Azure Bot Service
First Tool Exploration (Deep Dive)
We started to investigate SAP Conversational AI for a couple of reasons. First, each team member could easily create a free account and test out some features. Second, the tool seemed to be completely “free” with no indication of any pricing plans.
Initially, this was looking good. We could do some basic things relatively easily and we also discovered that it was easy to deploy on a website simply by including a <script> tag provided by SAP Conversational AI. We later learned that many tools have this capability.
As we progressed, we encountered some stumbling blocks:
- The learning curve was somewhat steeper than we anticipated.
- There were not a lot of examples on the web at the time.
- Button handling seemed a little quirky and we were unsure if we were implementing it correctly.
- It was possible to jump to earlier points in the conversation and, for example, click a button in an earlier part of the conversation, but we were unsure how to handle this in a reliable way.
- We could not determine how to disable the text box when a set of buttons were displayed.
- We could not find a way to customise the buttons, for example, the font size.
- We were unsure about how the conversation data was being processed and stored.
We were apprehensive that if we continued to use SAP Conversational AI we would not be able to meet our time commitment.
By Process of Elimination
We also felt that other tools such as IBM Watson Assistant and Azure Bot Service were similarly advanced and may not be appropriate for beginners. For our relatively simple rules-based chatbot, we concluded that these tools had sophisticated features than we just didn’t need for this particular use case and the learning curve seemed in direct conflict with our desire to get the chatbot up and running quickly.
We looked at the tools remaining on our list and eliminated them for the following reasons:
- Mobile Monkey – Seemed very Facebook-oriented and we preferred to avoid this dependency
- Motion.ai (now HubSpot) – Had a very limited free plan (1000 messages)
- Collect.Chat – Was cost-prohibitive, with the lowest plan that supported our needs costing $99/month
- WP Chatbot – Again was a Facebook Messenger chatbot
- fobi.io – Was based on Google Forms and seemed a little too basic for what we wanted
- DialogFlow – Had charges per request which was a little discouraging
The Chosen One
In the end, we elected to use FlowXO. We opted for the $19/month plan, which provided all the capabilities we needed and the assurance that technical support was available should we run into problems. While there was a slight learning curve, much of the conversation development was done without coding, with just a little coding for configuration and look-and-feel.
We gathered feedback from project participants on what we learned and what we may be able to improve in future chatbot projects. Here’s a summary of the key observations:
- The chatbot wave spawned so many chatbot tool providers that it is quite difficult to identify a reputable vendor; one that can provide persistent, sustainable support into the future.
- We needed to find the right balance between fulfilling the objective and not getting distracted by cool technologies.
- Not all chatbot development tools are created equal. In retrospect, creating a detailed comparison list of the pros and cons of the main chatbot development tools could have been a benefit.
- We understand chatbot terminology better now, even though some terms are used differently in different tools.
- Developing even the simplest chatbot with limited scope requires much more design and implementation effort than is immediately apparent.
- A tool for modelling the conversation would be a huge benefit. Some of the available tools provide some of this, but none that we found allowed you to graphically model the conversation, then implement that model.
- In general, we found the documentation provided with chatbot development tools to be lacking in many respects. Often, it is left to the user to figure out what to do by getting help from web forums and other online sources.
- We can benefit from even a rudimentary knowledge of some basic software concepts, such as variables, iterations, and so on. Terms like these often appear in the user interfaces of chatbot tools, especially if you are trying to extend the basic functionality.
- The most sophisticated AI chatbots are not necessarily the best tools for the intended purpose. Understanding what the chatbot is trying to achieve can efficiently narrow the field to the most appropriate tools.
- Chatbot development tools that have an effective loop or reuse strategy built into the conversation – and are not just linear in nature – facilitate fewer mistakes and less content development.
- We need to be aware of where conversation data is stored and if there are any GDPR and security implications.
- For testing purposes, a tool for automatically taking each conversation path and reporting the results would be useful for finding issues and dead ends.
- Testing with individuals that are not part of the chatbot development team proved crucial. Independent testers bring open-mindedness and an unbiased perspective to the conversation.
- We learned a lot about chatbot fundamentals, and the experience gained from developing a basic chatbot provides a platform for exploring more sophisticated, knowledge-based chatbots in the future.
Choosing a tool for your chatbot development is not easy. The myriad of tools and options available make it difficult to identify the right tool for your specific task. By taking a systematic, team-driven approach, and coordinating closely with a separate team focused on conversation design, it is possible to identify a tool that can satisfy the requirements of your specific task.