Friday, February 19, 2021

Great chatbots in no time

Chatbots take over customer service
Last week, I was coach again at a chatbot hackathon. Chatbots have been around for a long time and I have blogged about tips & tricks for developing chatbots and resources many times. With Covid-19 transforming the world towards more digitalization and self-service, chatbot deployments grew significantly. In this post, I want to look back at the hackathon and share some wisdom for building great chatbots.

Up and running in no time

Independent of what chatbot service or toolkit is used, it is fairly simple to get started. Taking the IBM Watson Assistant service as example, there are many tutorials with fully working code samples available to build a chatbot that reaches out to external data sources like database systems, Wikipedia, joke collections, current weather or market reports. Moreover, a deep integration with IBM Watson Discovery ("search skill") allows to get answer recommendations from managed data collections. A chatbot is not just a simple text window anymore. The same bot can be easily integrated into messaging systems or hooked up to SIP-based phone systems.

Text, voice, mixed content? The channel rules!

The easyness of creating a single chatbot for many communication channels causes some design challenges. These challenges should be known in advance. And they should be addressed before investing more time and resources.

  • Not all content suits all channels. An image is great for a web bot or in Facebook messenger, but does not work well over the phone.
  • In general, chatbots should be prepared to handle chitchat, at least to some degree. Usually, people on a phone when interacting with a voice bot want to get "business done". A lengthy introduction that a read can skip over / skim through works in text-based bots, but costs time on the phone. Often, shortcuts and channel-specific content design are the solution.
  • Most bot frameworks offer options users can pick instead of typing or saying their own input. Keep the list short and precise. They should not be a cognitive challenge, but speed things up. And they might differ depending on the channel.

Language, Sprache, lengua, langue

Is a bot only offered in a single language or caters to an international audience? Many bot frameworks, especially the cloud services, allow to reach out to a translation service for processing the input and responses. The translation quality directly impacts results - twice. The translated input determines detected intents and entities, the translated responses may cause confusion.

To address the problem, it is possible to detect the input language and then switch to a language-specific bot. It means to develop a bot including its content per language. Another option is to configure domain-specific translation or have static content pre-translated.

Again: Watch your language

When designing a bot, know your audience. The bot audience determines the language and slang. Are you addressing your business customers, old or young people, or the general population? Watch your language and style because even a bot represents your company or project. Bots can be annoying, but don't have to be.


The above is just a fraction of things to consider when designing (or hacking) chatbots. It is easy to get started, but it still takes some experience (try it and learn) to build great chatbots.

If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik) or LinkedIn.