Building bots is no picnic, but can become relatively easy when you know what to do. After more than a year of conversational bot building, we’ve put our finger on the steps you should go through to create an efficient bot. Here goes.
A good bot isn’t rushed, it’s meticulously thought out. What’s your target? What’s your use case? What’s one thing do you want your bot to do really well? What are things it should understand, even to give a standard answer? When you’ve decided on your bot’s purpose, you need to define who it is. Will you introduce it as a robot? As a person? Will it speak in a chilled familiar manner or a more formally?
These are things you should define precisely before diving into the bot building process.
– Announce your bot as a bot and not a human to manage expectations
– Define one core use case and stick to it. Bots who do it all fails
– Be very specific on your target audience to create a bot that suits their needs
Build your flow
A good bot knows what to say! That means he has a well constructed conversational flow to support as many user queries as possible. Building a food delivery bot? The core of the conversation should be focused on getting food to people, but we’ve noticed that people tend to go off rail, so always include the possibility for small talk. Your bot will only sound smarter.
– Guide the user through the conversation to never let him wonder what he should do or say
– Cover all possible answers and questions for the core use case of the bot
– Support a variety of small talk intents, the more the better!
Here are non-bot tools to help build a big fat chart:
– Draw.io – Google drawings –
Or bot-specific tools to help you build or prototype your conversational flow:
– Recast.AI Bot Builder – Motion.AI –
Setup language processing
Bots will keep evolving from single interactions like buttons and grow to all-understanding machines. You can already create that today with natural language processing! Today, the industry uses this area of artificial intelligence to create bots with a specific method: intents and entities.
Intents are “boxes” of sentences that have the same meaning. If you want your bot to give you the weather, create a intent called “weather” and fill it with sentences such as “is it raining tomorrow?” “should I take an umbrella?” “what’s the weather in Paris tomorrow?”.
Entities are keywords detected in sentences that contain core information. Paris, in the above example, is an entity.
– Start by setting up the core of your conversation, and then work in layers to expand what your bot should understand.
– Read up on the platform your using to understand how many sentences you need to have a well performing intent.
You can use different platforms (with their own custom technologies each) to manage your language processing:
– Recast.AI – Wit.AI – api.ai – Microsoft Luis –
When building a bot, coding is essential. Platforms are here to give you the right tools to make your bot development easier because it is still necessary. If you want to connect your bot to external databases or APIs or to create an extensive flow including use case specific problematics, you need to dive into your code. Luckily, the only thing you need to know is one programming language and how to handle API calls!
– Learn about APIs – Learn to code –
Connect to messaging apps
Now that your bot is built, you can start the most exciting step: connecting it to your desired channels! An increasing number of platforms support bots: Messenger, Kik, Slack, Telegram, WeChat as well as emails or text messages.
– Select your channels according to your target audience and the user experience elements it offers
– Be careful when not using a Connector tool, duplicating your code and updating it when you have multiple channel integrations can be a pain
– Beware of channels who haven’t opened up their APIs such as Snapchat or Whatsapp
You can use connecting tools integrated into platforms such as:
– Recast.AI Bot Connector – Microsoft Bot Framework –
Or standalone softwares:
– Smooch.io –
Testing with beta users
Your bot is now quite complete and can be tested by other people! That’s an essential part of bot building that shouldn’t be overlooked. By showing your bot to friends, family or colleagues and asking them for 10 mins of testing, you will get incredible insights on how people understand your onboarding, what they are naturally asking the bot, what kind of sentences they use and how the user experience fits. With this data, you can easily train your bot.
– Do not overlook testing and training!
– Vary between people in and outside your target audience
Most bot platforms include a Bot Training module, so keep working with the one you’ve chosen for your language setup.
Host your bot
Now that everything is ready, it’s time to launch your bot on the worldwide web! Hosting can be expensive and complex to set up, but don’t let that stop you, there are solutions. Here’s what we learned:
– Work with a development bot and a production bot
– Optimise your external API to increase response times and user experience
– If unsure of which language to use, pick NodeJS, a widely used language for bots.
You can either use your own solutions (Heroku, AWS, Azure) or take advantage of bot platforms who offer bot hosting in a click, such as :
– Recast.AI – Microsoft Bot Framework –
Don’t think you’re done when your bot is in production. Monitoring its usage is essential to understand how users talk to your bot and if your intents are used equally.
– See which intents are underused and rethink the structure of your bot
– Focus on discovering what your users asks that your bot doesn’t cover
To get your analytics, either continue using a complete bot building platform:
– Recast.AI – OctaneAI –
or check out:
– Botanalytics – Dashbot –
So, now that that you’ve got all tools necessary, start building! See you soon 🙂