Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 
It seems that chatbots are becoming more and more popular in the market. The number of homepages offering chatbots is increasing, as is the number of posts explaining how to create a chatbot. This trend is not unjustified and I think that some interesting things can be done with this type of bots.

Nevertheless, I would like to take a step back prior to my first own project with SAP Conversational AI. What should I keep in mind for such a project? What are the best practices for dealing with SAP Conversational AI and chatbots in general?

Have you ever asked yourself the same question? Since I was confronted with this question, I did some research. In this article I would like to introduce you to what I have discovered about botbuilding best practices so that you can start your project faster.

Fortunately, it doesn't seem too difficult for companies and prospective chatbot developers alike to develop a high quality chatbot as long as you know what to look out for.

Below I would like to introduce a design pattern and the best and worst chatbot practices so that you can get the most out of your investment and achieve success with your chatbot.

Whether you are planning a chatbot for your customer service or an appealing marketing bot for various messengers, knowledge of the principles of chatbot design and development will help make your chatbot effective and meet your customers' expectations.

The most important things in a nutshell

You don't have much time? The most important aspects that you should consider are explained very quickly and quite naturally.

  • Your customers should know that they are writing with a bot.

  • Your chatbot should be charming and lively.

  • The chatbot must have reliable answers to users' questions.

  • It's better for the bot to be very good at just a few things than not to be convincing about many things.

  • Your customers should have the opportunity to transfer the conversation to one person, and your chat bot should proactively suggest this if he doesn't know what to do.

Receptionist Pattern

Before we get to the individual best practices, I would like to briefly introduce you to a design pattern that you will encounter more frequently when searching for best practices in the SAP Conversational AI environment. This is the Receptionist pattern. Colleagues from SAP Conversational AI mention the pattern, for example, in this article on the best enterprise architectures for conversational interfaces.

The goal of any company is to provide great customer service that meets customer expectations. No more, no less. The integration of a chatbot should therefore not limit the range of possible topics. On the contrary, it should cover all areas.

The Receptionist Pattern is a bot design pattern that positions the bot at the beginning of each individual user request, for example via chat. Each question goes to the bot, who should then be able to understand what the request refers to.

So the core is that the chatbot understands every single request. However, this does not mean that the chatbot has to handle all requests independently. After understanding the question, the bot can either:

  • Process the request autonomously in a fully automated conversation.

  • Start the conversation to collect important information, e.g. customer number, e-mail address, and then hand the conversation over to a human agent.

  • Hand over the request directly to the right human agent group depending on the topic.

So the pattern is horizontal and not vertical. Since this architecture is horizontal, we can respond flexibly to any customer request. It doesn't matter whether it's a human or a bot, provided the experience is smooth.

For more in-depth or advanced questions, the bot works hand in hand with human agents by collecting customer information such as contract number, correct phone number, specific invoice number or other information before handing over the call to agents.

This is also where the strength of the interaction of different SAP solutions becomes apparent. In combination with the SAP Customer Engagement Center, the transfer could take place to different groups with appropriately weighted agent skills.

But if the bot can't handle things on his own, what's in it for your company?

By using the design pattern, SAP Conversational AI customers were able to significantly increase customer support satisfaction by halving conversation time and reducing routing rates.

Customers also experienced a reduction in abandoned conversations from 15% to 0%. Abandoned conversations are those in which a customer starts a conversation and then never reacts to the agent again.

The reason for this is usually the long waiting time for an agent to react. Since there is no waiting time with a chatbot, it is less likely that users will abort the conversation. Furthermore, the chatbot does all the onboarding, so if the user does not participate in the conversation, the chat is never transferred to a human agent. This means employees lose less time with pointless requests and service quality across the enterprise and customer satisfaction increases.


Adjust your chatbot regularly.

You should not assume that your chatbot will learn to handle all situations on its own. This means that you need to monitor the behavior of your bots and users, and continually adapt to new questions.

Test the chatbot internally before it is made available to customers. This will help reduce the number of unexpected responses. Make sure that the testers don't have too much knowledge about your specific chatbot beforehand. It should be self-explanatory.

Once your chatbot has gone live, check the messages you receive and adjust your bot regularly. Make sure that you identify and edit any gaps in the conversation process or missing features that users expect in a timely manner.

Integrate the chatbot into your existing system landscape.

If you create your own chatbot, you should consider and use the systems your company already has in place. This will give your bot more functionality and make it more useful.

Make sure that the lack of integration does not lead to additional effort. It is better to hand the conversation over directly to an agent in such places.

Make it easy for the customer to talk to an agent.

Make sure that your customers can easily switch to an agent on chatbots in the service area (and other bots that are supposed to take on the role of a real person). If your chatbot takes over after working hours, you should tell customers at what times they can talk to an employee if they so wish.

This will ensure that your chatbot does not become a barrier between your customer and a satisfying user experience.

Disassembly information as required into smaller parts.

There are many ways for your chatbot to offer useful and appealing material. Depending on the purpose and design of your chatbot, your chatbot may send pictures, links, GIFs and emojis to break up information and make the conversation more interesting.

It is more convenient for your users to receive several short messages instead of one long one.

Deal openly with the weaknesses of your bots.

Regardless of the purpose of your chatbot and your design, your bot will always reach certain limits. This may be due to unplanned conversations or unavailable functionality. Regardless, it is important to explain to your customers what the bot can and cannot do. So take the time to consider eventualities.

The best way to tell users what your chatbot can't do is to explain what your chatbot can do well. You can also redirect users to another question to keep them within your bot's capabilities.

Use buttons and examples to speed up the conversation and support customers.

Show the customer possible answers in appropriate places. Users would rather go the easy way and click the appropriate button than type in their request themselves. You can also use buttons or examples to better control how your users use the bot. But keep in mind the platforms on which you want to publish your bot - not every one of them will support buttons.

Your chatbot should introduce itself and set the expectations.

To get a successful, well-received chatbot, your customers need to know what your chatbot can do. This is especially true if your bot has limited functionality. Pay attention to the greeting when introducing your chatbot. The greeting text of your chatbot will give your user a first impression. This may affect the continued use of the chat and/or the overall satisfaction of users with the bot.

Your chat bot should introduce itself and give users an overview of its features. By giving customers clear instructions on how to interact with your chat bot, you will keep users on course. By listing its features in advance, the chatbot prevents users from being disappointed and gives them ideas and instructions on how to interact. By keeping an eye on customer expectations from the beginning, you can offer your users a more satisfying experience.

Be specific.

Offer only relevant content to your target audience. Nobody wants to deal with topics they are not interested in.

Design your bot to be user-friendly.

Guide your users so that they appreciate your chatbot and don't have to wonder what purpose it serves. For example, specify certain question or answer options. Users are comfortable. They will accept immediate help from your chatbot if the chatbot can solve the problem instead of waiting for a service representative.

Adapt the bot to its surroundings.

Depending on the environment, users will expect different things from your bot. If you place it on the public area of your homepage, a customer will probably accept that it has to authenticate for certain actions. If I see a chatbot in a registered area of an online service, I would expect that he already knows all the necessary data about me.

Train your bot with people from different backgrounds.

When training or designing your bot you should talk to different colleagues or people. Try to avoid that always the same people interact with the bot, because the knowledge about the structure and the possibilities might not take things into account. Always try to let other people from different backgrounds interact with the bot, technically or professionally, and use their actions and reactions to improve the bot.


Don't rush the chatbot design.

Platforms for creating chatbots are becoming more and more intuitive. It's easy to quickly configure the bot and go live.

But before you jump the gun and neglect the design of the bot, think about the negative effects that an immature chatbot can have on the user experience. For example, a hasty chatbot in the service area can lead to lower customer satisfaction. There may be more customers requesting support and your users will do everything they can to avoid using your chatbot a second time.

Don't let your chatbot be developed in the silo of a single department.

A common but easily avoidable mistake in chatbot creation is to hand over the sole responsibility for chatbot development to the IT department. This results in a chatbot that can be functional in terms of its technology, but lacks the necessary expertise and knowledge that other departments could have provided.

The development of a chatbot without HR can lead to a bot whose personality is not consistent with the corporate culture. Developing a chatbot without customer service can result in a bot omitting important frequently asked questions and not handling user queries to meet customer expectations. Developing a chat bot without the Marketing or Social Media department may result in a chat bot not reaching its audience through social channels.

Do not develop a chatbot without keeping an eye on the existing systems.

When creating a chatbot, companies often try to create functionality from scratch. This can lead to an unreliable chatbot that does not work well with the company's existing systems. Suppose you create a bot to count a counter. If your chatbot does not communicate with the existing systems, this will mean additional work for the company in handling requests received through this new channel. The meter readings recorded would have to be received, checked for plausibility and recorded. Bots are part of a larger ecosystem that consists of multiple points of contact between customers and brands. Creating a chat bots in a silo can be very harmful to both businesses and customers.

Don't force your users to talk to your chatbot.

How many times have you been on the phone and endured a useless IVR even though you only wanted to talk to one of the staff?

A successful chatbot is a useful tool, not an obstacle. Regardless of the function of your chatbot, you should not (accidentally or intentionally) force your users to talk to your chatbot. Give your user the opportunity to talk to a person and then transfer the chat to an agent.

Don't assume that conversations are always linear according to your ideas.

Users can change the subject of the conversation or ask a follow-up question. They could use sentence fragments, abbreviations, spelling mistakes, and regionally specific terms. Make sure that your chatbot is not too susceptible to misunderstandings.

So don't forget to consider multiple word choices, phrasing, and startup options when creating your bot, otherwise you'll have a frustratingly inflexible chatbot.

Do not overburden the user with text.

If possible, do not send large text blocks to your users. These are hard to read and can frustrate and overwhelm users. Be sure to present information efficiently. Your chatbot can convey a lot of information - but the information should be broken up and made easily digestible for the reader. This motivates the user to further interact with the chatbot and increases satisfaction.

Keep the statements short and concise. Nobody wants to be spammed.

Don't let the technical constraints of your chatbot determine its quality.

Often external restrictions are not as big an obstacle to the success of the chatbot as it seems. Although your chatbot provider has a robust feature set and your interfaces should allow as many features as possible, a decisive factor for the quality of your chatbot is not only the technical capabilities of your bot - it's also the quality of your text and the flow of your conversation.

The better the conversation, the more appealing and helpful your chatbot will be. This is true regardless of the external limitations. The more conversation possibilities you add to your chatbot, the more powerful it will be. And the more information and similar questions you add, the better your chatbot can help your customers.

Don't forget to take the platform of your chatbot into account during development.

Be clear from the start which platforms you want your bot to be published on. Buttons may be easier for some features, but are not available on some channels such as Alexa Skills or SMS.

As fallback you should think about text responses. This can also be faster and easier for users who already know the capabilities of the chatbot.

Don't leave your users alone.

After your bot has introduced itself and given some initial recommendations for action, it is important to react to the user's actions.

If your bot stops responding at any point, the user will feel that the chat bot is unreliable and will abort. Always try to provide a fallback option for the user and your bot to escape from such dead ends.

Don't start developing a chatbot without having a goal in mind.

The development of chatbots does not always have the same goal. Do not start building your chatbot until you know what its purpose is.

If your goal for the chatbot is to save the company money and resources, you should consider supporting a single department, such as customer service or human resources, with it. If your goal for the chatbot is to increase awareness of your brand, consider developing a useful, interesting chatbot that visitors can interact with.

The goal of your chatbot affects not only the function of your bot, but also where you should host it. If the goal is to provide customer support, you should consider posting it on your website and/or mobile app. If your goal is marketing, then your chatbot will probably work best with a third-party messaging app such as Facebook Messenger.

Without having a goal in mind for your chatbot, you risk developing a less effective bot on an unideal platform.

Don't expect to be able to control all the situations that your bot will encounter.

Don't spend hours creating a stable conversation flow in which you deliberately try to outwit your chat bot and find bugs. At the latest when the first customers chat with your first version of the bot, you will be surprised how many situations you didn't expect. Close these gaps iteratively and make sure you have a good fallback mechanism from the start.

3 Take Aways

If you would ask me what you should remember after this post, I would tell you the following three points:

  • In the future, chatbots will play a much more important role in a company's customer service to increase customer satisfaction and service both playfully and entertainingly as well as objectively and efficiently!

  • Perfecting your chatbot takes time, patience and a good attitude like any new endeavor.

  • By following these do's and don'ts of chatbot design, you can avoid the most common chatbot mistakes and speed up your chatbot project.

Next steps to your own chatbot

Is your interest aroused? Mine definitely is. My proof of concept will be an interaction of SAP Multichannel Foundation for Utilities as interface, SAP Customer Engagement Center as contact center or fallback channel and a SAP Conversation AI chatbot with the mentioned Receptionist Pattern.

But until I'm ready, take a look at the interesting and good examples of some SAP colleagues. How you build your first chatbot is explained by Sebastien in an article and Christoph explains how to build a chatbot with SAP Conversational AI in combination with S/4HANA Cloud.

Do you have experience with chatbots? What is your opinion and what do you think should be considered in such a project? Do you know any other interesting resources you should read?

P.s. A German version is available in a guest article here.