To coincide with the development of our own FP chatbot (in beta), which is currently being tested in advance of our office hours, we share some insights on building your first AI chatbot.
Identify the right opportunity to develop an AI-driven chatbot
You can build a chatbot using established frameworks or development (non-coding) platforms depending on the features your startup requires
Understand the goals of your business and your customer early on in the process
Sketch out different flows, predict FAQs and work through the logic before integrating the modules into your chatbot conversation
Test your bot carefully before pushing it to production, and use beta testers to spot gaps, train AI functionality, as well as to decide on the right platform
Do you need a chatbot?
Sometimes you have to ask yourself the question, would you be better off with some simple human interaction? In the early stages of a startup, there is a lot you can achieve with Intercom or a customer sales representative.
If you plan to build your entire startup idea around an AI chatbot, you need to be certain this is the right channel for whatever product or service you are offering, and that you don’t fall into the ‘feature trap’ i.e. building a neat tool, as opposed to a scalable business.
As usual, start with the use case first. Think of situations where 1:1 conversations with potential customers can create barriers to scale, where sales processes are encumbered by FAQs or where there are opportunities to engage consumers with new products/services in an AI-enabled e-commerce or marketplace experience.
Choosing the right platform
Once you’ve identified a use case, there are numerous non-coding platforms to develop your bot. Before settling on Chatfuel ( a great all-in-one development platform), we looked at Botsify, FlowXO and some coding frameworks. Here are some of the pros and cons of each:
Chatfuel - provides features like adding content modules or broadcasting updates to your followers automatically. You can also gather information inside Messenger chats using ‘Typeform’ style inputs, or let users request info and interact with your bot with predefined buttons (check out this useful Chatfuel walkthrough on YouTube)
Botsify - lets you create bots using a drag and drop template. It includes easy integrations to external plugins, AI and machine learning features to improve the quality of interactions, as well as analytics
Flow XO - has the highest number of integrations (over 100+). It has the most easy-to-use visual editor with pre-built templates for a quick start. However, it is somewhat limited in terms of AI functionality, and remains quite brittle
Beep Boop - provides an end-to-end developer experience. It is more geared towards providing the best and easiest way of creating slack bots
Bottr - gives you an option to embed your bot on your website. You can also add data from a Medium, WordPress, or Wikipedia site for better data coverage
For the more tech savvy, there are also some code-based frameworks out there which help to integrate your chatbot into a broader tech stack. These require programming languages, but also provide the flexibility to store-data, produce analytics and incorporate AI in the form of off-the-shelf Natural Language Processing (NLP) tools and open-source libraries.
The most popular frameworks we have come across have been absorbed by big tech monoliths, but here are the main ones:
Microsoft Bot Framework - is the Azure Bot Service. It provides an integrated environment specifically for bot development with connectors to other SDKs. Developers can get started with out-of-the-box templates for scenarios such as basic, form, language understanding, question and answer, and more proactive bots.
Wit.AI (Facebook Bot Engine) - makes it easy for developers to build applications and devices that you can talk or text to, by providing an open natural language platform. Wit.ai learns human language from each interaction, and leverages the community by sharing what is learns across developers and use cases.
API.AI (Google Dialogflow) - also provides voice and text-based conversational interfaces powered by AI. It can connect with users on Google Assistant, Amazon Alexa, Facebook Messenger, and many other platforms and devices.
Understanding the goals of your customer and your startup
When considering the logic or flow within your chatbot conversation, you need to truly understand the goal of your customer (and your business). This goes back to understanding the use case, and ultimately what outcome you want from the conversation.
For our Office Hours bot, it was easy. We wanted people to apply to our Office Hours, which involved capturing specific inputs such as details on the founder and on the startup idea. However, we could have used a simple Typeform to achieve the same outcome. Instead, our goal with the bot was to ensure that founders learn something about Forward Partners (and raising investment) in the process. For this purpose, a chatbot was perfect.
Another fun, simple use case with good execution is Jamie Oliver’s “emoji” chatbot, designed with the single objective to help readers discovers new recipes. The tone of voice is spot on and the sales and marketing team halved their workload by relying on emojis as the only input, which was enough to get users onto the platform and test demand.
Sketching out the logic of your conversation
It is really important to sketch out the logic underlying your chatbot. To get there, try analysing previous interactions with customers, or sketch out hypothetical scenarios to predict what questions might come up and when.
Once you have analysed different strands of the conversation, put them into ‘buckets’ or modules, which will eventually form the flow of you conversation.
AI (or natural language processing) comes into the equation when you want to match certain inputs or combinations of inputs (words and questions) with a suitable response. These can be linked to the predefined modules or chat sequences that you have already built (see Celebrity bot example provided by Chatfuel) or you can rely on NLP plug-ins to query third party databases, such as Google’s search API.
Testing your chatbot
Finally (and most importantly), you need to test the effectiveness of your chatbot interactions. Remember, it’s not necessary to pass the Turing Test (the test of a machine's ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human) first time round. However, it must be fit for purpose.
Select a small, forgiving group of beta testers (we chose 10 office hours applicants) and ask them to interact with the bot. By observing the conversations, you will quickly notice some dead-ends to the conversation flow and maybe even some gaps in the logic.
The most useful output from this testing phase is finding out what questions you don’t currently have responses to (they are often modelled on and therefore limited to FAQs in the first instance). However, with each new question asked, you are effectively training your bot, creating new modules, and new linkages to ensure you can cover 80% of the questions that might come up in a given scenario.
Ultimately, all your users will attempt to ‘game’ or indeed ‘break’ the bot by asking questions it can’t handle. You won’t get it perfect first time, but by leveraging the AI features in your development platform, it will get better with each interaction.
Chatbot magazine - How to develop a chatbot from scratch
Jesús Martín - Playbook for testing chatbots
Maruti TechLabs - 14 most powerful chatbots for your business
Vaisagh Viswanathan - How to make a chatbot intelligent?
Testing the Forward Partners chatbot
As an exciting addition to our first Office Hours of 2018, we are launching a beta of our first chatbot. If you would like to help us test it, please apply via our Facebook page for first access (and help us test it!) or scan the code from your messenger app below:
Instructions for scanning the Facebook messenger code:
From Home, tap your profile picture in the top left corner
Tap your picture at the top of the page
Tap Scan Code and scan our code for FP Office Hours.