This article is the second in a series that started by explaining how you could use a chatbot to improve customer service. In the first part, we covered how to present a chatbot to your customers, massively reducing operational costs with it. Here we’ll cover the common scenario in which you need to handoff queries from the chatbot to a human agent with the OutSystems.AI Chatbot component, highlighting how critical this process is.

Getting Started With the OutSystems.AI Chatbot

We created our chatbot component to address the ever-changing market needs and to give you the means to achieve top customer experiences. Implementing it in your OutSystems applications will enable customers to interact with your services via a chat interface, reducing the time taken to solve simple queries.

All you need to do is to create a Web App Bot resource on the Azure Portal and then drag the chatbot web block to the screen where you want to add it in Service Studio. This simple step gets your chatbot going. Further on, you’ll also be able to customize some of the experience and create the logic for the bot responses.



If you need assistance when going through the initial setup, or through more advanced configurations, be sure to check our documentation page on how to build your first OutSystems chatbot.

However, more often than not, a chatbot won’t be able to deal with all queries by itself. That’s why it’s important to grant them a human side as well.

When Chatbots Need to be Human

So, your chatbot is now up, and you’re already seeing the benefits of having it solve the most common issues your users are having. However, you may also notice that, sometimes, there are questions that the chatbot is not able to deal with, and a human agent needs to step in to solve the query. That’s when you’ll need a handoff strategy.

This handoff doesn’t mean that someone needs to be continually reading every chatbot conversation to know when to step in. The process can and should be automated with both language analysis and language understanding services (more about them next).

Whichever the case may be, the human agent needs all the necessary information about each query to properly resume the conversation. Keeping customer information during the handoff process is key to great customer experiences. There’s nothing worse for users than having to explain their problem for a second time after interacting with the chatbot. The transition must be seamless.



You can develop this feature quickly for the OutSystems chatbot component, allowing customer service agents to immediately take over and provide a faster service, increasing customer satisfaction. But first, let’s get through how you can automate your processes.

Automate The Handoff Process

When communicating with users, the chatbot must understand their needs. This process is essential to ensure that the right answers are given for each situation. The best way to do so is by analyzing user satisfaction and key phrases, allowing them to trigger the handoff to a human agent when needed. But how can you make that happen?

When a user interacts with the chatbot, the message is received and can be interpreted by a language understanding service, such as the Azure LUIS. This service already has some standard interactions configured by default, but can be optimized for specific use cases. With that information, the chatbot can determine the best possible answer to deliver to the user.

What this means is that when a user is writing to the chatbot, it’ll be programmed to have determined behaviors according to the input it’s receiving. So, if the user writes a key phrase such as “I need help from someone,” the language understanding service can provide the handoff intent to the chatbot, signaling the human agent to connect to that conversation.

Writing the chatbot

Additionally, you can also analyze the user’s sentiment to define when a human agent should step in. That’s where our Language Analysis component steps in. With this AI-powered component, you’ll be able to extract key phrases from the chatbot conversations and define automatic responses to different emotions shown by the user.

In practice, if the user is getting frustrated or angry when writing to the chatbot, the Language Analysis component can detect the sentiment through a cognitive service like sentiment analysis. Next, you can see a visual representation of this process that may lead to the handoff, if the service detects that the user is unhappy.

chatbot ai - sentiment analysis

Walk The Talk

Up to this point, we’ve made clear why you need to provide a consistent experience through the different available support channels, and how you can automate the handoff process. Now it’s time to show how you can achieve it with our chatbot component, step-by-step.

After configuring your chatbot, you need to create an entity in Service Studio to store the conversation identifier. This identifier can be retrieved from the Azure Bot Framework and consists of a unique ID that’s attributed to each conversation a unique user has with the chatbot.

Besides the conversation identifier that you’ve retrieved, the entity in Service Studio also stores the ID retrieved from the application’s side. This ID can consist of, for instance, a work order in a field service application, or a query in a customer service troubleshooting.

Building the chatbot

After matching both sides of a chatbot conversation in this entity, you’ll easily be able to control its behavior. Here you can add attributes that’ll allow the handoff process and, for instance, mute the chatbot when the handoff is processed to avoid further interaction attempts.

Building the chatbot

Building the chatbot

The SendToAgent action has the logic to send the message for the real agent that will reply to the user, instead of the chatbot.

Even with well-defined intents and a lot of information available in knowledge bases that the chatbot can query, it’s important to remember that the ultimate goal is to help the user. The purpose of a chatbot implementation is not to end the need for human interaction.

The successful chatbot is the one that answers the needs of the users and allows human agents to step in when they are needed.

What’s Next?

If you follow the steps presented here, you’re already on the right track to create great conversation experiences with the OutSystems Chatbot, allowing to handoff queries to a human agent when necessary. This ensures that users are satisfied and that the business processes keep improving.

For more information about how our components work or how you can add them to your applications, read the Chatbot and Language Analysis components documentation pages.

If you want to always be on top of the latest AI developments, stay tuned. We can’t wait to start sharing everything that we’ve been cooking lately to improve your processes.