Chat- & voicebots have proven to be useful to automate the handling of users throughout various industries and departments. Use cases vary, such as handling of FAQs, redirecting users to the correct source of information, or encouraging users to leave their details for marketing purposes. All of these actions collect data that can be stored and processed. Combining the acquired data from conversational flows with existing (company) data opens up countless new opportunities for chatbot usage in business. By combining different data sources in chatbots, conversational flows become user-friendly alternatives for processes that are otherwise covered by unappealing Robotic Process Automation (RPA) flows. However, there are various steps to consider whilst creating Virtual Assistants with RPA capabilities. We’ll discuss these in this blog.
Handling data structures
In the flow of natural conversations, people often have different ways to declare the same data structure. For instance, when you ask someone for their date of birth, you may expect various forms as an answer. Such as, “I was born in MONTH on the DAY, YEAR”, “I am from the DAY of MONTH, YEAR”, or “I was born on DAY-MONTH NUMBER-YEAR.” The picked format may depend on the respondent’s cultural background, or region your business operates in. Nonetheless, they’re all understandable for us humans regardless of our cultural background. Computers do not operate this way, and this deficiency is not (yet) covered by Natural Language Processing (NLP) algorithms. Sometimes you may want to enforce users to provide information for processing in a certain format. Adaptive cards are especially useful for this, and can easily be implemented on the Blits platform as a function. An example of an Adaptive Card in chat is shown below. This example enforces dates, zip codes, and house numbers.
Validate the data input
The input of users may be applied for various business processes, but to effectively run a business process, certain input boundaries or constraints must be met to prevent possible mistakes, such as servicing the wrong client at the wrong location or scheduling an appointment on a bank holiday. Let’s elaborate on the example described above. After a user has provided their input, you might want to match it with data obtained from a different internal or external source. External data sources can be accessed through API calls. For example, you might want to reject dates in the past for certain use cases. You can obtain the current day through API calls and use the obtained value in a conditional block to check against. Alternatively, you might want to use one or more user inputs to lookup relational data internally, such as through using an SQL, Oracle, or SAP data table. You may then use the user’s input as input for a data query.
Change data formats
The availability of data
Data, obtained or modified during conversational flows, may be crucial and can therefore not be lost. After all, you would not like to ask the user to provide or modify important information time and again in different conversational flows. There are two options to store data using Blits. Firstly, data can be stored in an object. Objects are persistent variables, meaning that throughout the entire conversation they will remain available once they are stored. Hence, throughout different parts of your conversational flow, you can re-access the stored information. However, once the user ends the conversation with the chat- or voicebot, the stored data is flushed. Storing data indefinitely is possible though, by pushing it to any of the aforementioned data table servers.
Visualizing your data
By visualizing data, patterns and structures become more evident and as such can create new insights. To visualize data, stored data must be retrieved from objects or data table servers. For example, a SQL server can be connected to an online published graph in Microsoft PowerBI. This means that user data can be pushed to the SQL server after which the PowerBI graph is updated in real-time, and the link to accessing this graph is presented to the user in the chat. Alternatively, the open-source service quickchart.io can be used to create graphs that are presented as an image in the chat. For this, data obtained from either objects or data servers can be pushed to the online service using a POST API request. The POST API will return a short URL that can be used in combination with an image block to show the graph in chat.
Chatbots increase user engagement
As you can see, Blits offers various opportunities to make RPA applications more interactive and user friendly. Our team has worked on many use cases in the past, such as presenting the order of payment status in a chat or enabling existing clients to make service appointments through voice. Each of these successful examples uses a multitude of the functionalities described above, and even very complex cases can be set-up in only a couple of days.