Wisdom, thoughts and insights from another chatbot hackathon.

Last week, I was coach again at a chatbot hackathon. Chatbots have been around for a long time and I have blogged about tips and tricks for developing chatbots and resources many times. With COVID-19 transforming the world toward 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

Independently of what chatbot service or toolkit is used, it is fairly simple to get started. Taking the IBM watsonx Assistant service as an 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 you 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:

Documentation on integrating watsonx Assistant.

Text, voice, mixed content? The channel rules!

The ease 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 or WhatsApp, 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 who are 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 rather should speed things up. And they might differ depending on the channel.

Clicking an option is faster than typing.

Language, Sprache, lengua, langue

Is a bot only offered in a single language, or does it cater to an international audience? Many bot frameworks, especially the cloud services, allow you 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


More from Cloud

IBM Cloud VMware as a Service introduces multitenant as a new, cost-efficient consumption model

4 min read - Businesses often struggle with ongoing operational needs like monitoring, patching and maintenance of their VMware infrastructure or the added concerns over capacity management. At the same time, cost efficiency and control are very important. Not all workloads have identical needs and different business applications have variable requirements. For example, production applications and regulated workloads may require strong isolation, but development/testing, training environments, disaster recovery sites or other applications may have lower availability requirements or they can be ephemeral in nature,…

IBM accelerates enterprise AI for clients with new capabilities on IBM Z

5 min read - Today, we are excited to unveil a new suite of AI offerings for IBM Z that are designed to help clients improve business outcomes by speeding the implementation of enterprise AI on IBM Z across a wide variety of use cases and industries. We are bringing artificial intelligence (AI) to emerging use cases that our clients (like Swiss insurance provider La Mobilière) have begun exploring, such as enhancing the accuracy of insurance policy recommendations, increasing the accuracy and timeliness of…

IBM NS1 Connect: How IBM is delivering network connectivity with premium DNS offerings

4 min read - For most enterprises, how their users access applications and data is an essential part of doing business, and how they service those application and data responses has a direct correlation to revenue generation.    According to We Are Social’s Digital 2023 Global Overview Report, there are 5.19 billion people around the world using the internet in 2023. There’s an imperative need for businesses to trust their networks to deliver meaningful content to address customer needs.  So how responsive is the…

Kubernetes version 1.28 now available in IBM Cloud Kubernetes Service

2 min read - We are excited to announce the availability of Kubernetes version 1.28 for your clusters that are running in IBM Cloud Kubernetes Service. This is our 23rd release of Kubernetes. With our Kubernetes service, you can easily upgrade your clusters without the need for deep Kubernetes knowledge. When you deploy new clusters, the default Kubernetes version remains 1.27 (soon to be 1.28); you can also choose to immediately deploy version 1.28. Learn more about deploying clusters here. Kubernetes version 1.28 In…