Add these three intelligent automation capabilities to your RPA solution checklist.
Most robotic process automation (RPA) tools include essential features like unattended bots, attended bots, user-friendly low-code editors, screen recorders, and scheduling. These important features enable people to automate high-volume and simple repetitive tasks and are included in "best RPA" software, such as UiPath, Blue Prism, and Automation Anywhere.
If you're looking to move beyond automating back-office processes using RPA, you'll need more than foundational functionality. Integrating software robots (or RPA bots) that can automate more interactive and sophisticated front office business processes — with greater workloads — into your human workforce requires intelligent automation capabilities.
To help achieve digital transformation using robotic process automation, add the following three intelligent automation capabilities to your RPA solution checklist:
- Software robots that can communicate well with people
- Software robots that can do things that typically require human intelligence
- Software robots that are intelligently managed
1. Look for software robots that can communicate well with people
Movies often portray robots as physical machines with human characteristics that complete time-consuming tasks by working with people. With advances in robotics, this fantasy may soon be the reality.
Today, software robots perform repetitive tasks by themselves or by collaborating with people. When tasks require collaboration, the RPA bot needs to be able to communicate more like a human — to understand what's being said and then respond appropriately across a variety of human communication channels, such as email, SMS (Short Message Service), instant messaging, chat, and even phone. The exchanges can range from simple to more interactive.
"Simple" exchange example
A software robot assigned to monitor an email inbox for customer support needs to be able to extract the customer’s question, look up information to answer the question, and send an email response. Even in this relatively simple exchange, artificial intelligence (AI) and machine learning (ML) are used by the bot to understand the customer's inquiry, determine what action to take, and how to respond.
"More interactive" exchange example
For real-time communications like instant messaging and chat where there's an exchange of information that goes back and forth between the user and the bot via text, the RPA bot becomes more like an Intelligent Virtual Agent (IVA). An IVA is a bot that relies on specific RPA commands to establish the connection with the user, talk to the user, wait for a response, and close the connection once the conversation is over. The RPA bot collects structured and unstructured data as the conversation progresses. Each time the user responds, it determines what to do based on information obtained from the user and retrieved from other systems. If the communication occurs over the phone, the bot needs to be able to hear what the user is saying and then speak its response. This enabling feature is often referred to as Interactive Voice Response (IVR).
How does an IVA know what a person is saying? A knowledge base is used to define a set of questions a person may ask and the answers that might apply. Different answers are provided to the same question depending on the context. That’s a straightforward scenario, but a person is unlikely to use the precise phrases defined in the knowledge base, so the RPA bot needs to be trained to understand variations in language. Once trained, a simple bot script can be defined to iterate through various questions and answers until the user indicates the conversation is over.
Here's a real-world scenario where a customer calls to ask about an order's delivery status and interacts with an IVA. First, the IVA asks for the order number, looks up the details in the order management system and informs the customer about the expected delivery date. However, the customer isn't happy about the delivery date and decides to cancel the order. The IVA determines the customer is valued and offers express delivery at no charge to improve customer satisfaction. The customer accepts the offer and the IVA updates the order with the express delivery option selected. The IVA asks if it can help any further. The customer says "no, thank you" and the call ends.
Tip: Similar to people working in a call center, a software robot may need to text or talk in different languages. For an IVA, bots can use AI-powered natural language processing (NLP) capabilities to do this. To enable IVR, a number of popular speech engines are available, like Amazon, Google, and IBM Watson. If you've already selected AI capabilities from a specific vendor, it’s important to use a speech engine that’s already being used in your organization.
2. Look for software robots that can do things that typically require human intelligence
As we know, robotic process automation is about building software robots that mimic the behaviors of people performing manual, repetitive tasks. To achieve this, bots are programmed by interacting directly with the graphical user interfaces (GUIs) of software applications. As RPA matures, bots are acquiring more intelligent automation capabilities, such as those mentioned earlier that enable bots to communicate with people across channels. Artificial intelligence (AI) makes this possible by employing a variety of software techniques that collectively enable bots to learn, think, and reason like a person to reach a desired outcome.
The "order delivery status" scenario described earlier requires a combination of AI capabilities, including natural language processing (NLP) to convert speech to text, pattern matching to locate a customer’s question within a knowledge base, and machine learning to teach the bot to understand variations in human language. This is just one use case where AI capabilities are combined, but each AI capability can be applied independently or in combination to implement other use cases, such as classifying customer inquiries or making decisions when there's a degree of uncertainty.
When evaluating RPA tools, look for software robots with artificial intelligence that can do the following:
Classify information by interpreting context
For example, when processing a customer complaint via email, classification is an AI capability used to categorize emails by interpreting the subject and content of each email as it arrives. A classifier is trained during development with sets of email examples where each set corresponds to a specific category.
Similarly, a classifier could also be used for other use cases, such as distinguishing an order from an invoice. In this example, another AI technique called Optical Character Recognition (OCR) is used to extract data from the documents for the classifier to determine the nature of document. Once the type of document has been identified, OCR retrieves additional information from the document and natural language processing (NLP) can be used to extract data types from the document such as dates (e.g., “I want make a reservation on Christmas day”), currency, email address, and so on.
Some RPA vendors also use OCR to implement a form of computer vision that enables bots to read and write information using applications that can only be accessed through a remote desktop session, like Citrix. Remote desktop sessions don't provide bots with direct access to an application's GUIs so it can't read and write data in the same way. Instead, computer vision is used to analyze the image of the remote desktop to locate the fields within the application. Once the fields are located, OCR can be used to read the field values, and mouse and keyboard actions can be used to write data into the fields.
Make decisions when there's a degree of uncertainty
To optimize business operations, software robots need to be able to make decisions by applying logic in the same way people do. When there's a predictable outcome, it's possible to express simple decisions in a bot script using traditional IF/THEN/ELSE style programming syntax. More complex, but predictable, decisions — with multiple conditions that need to be combined to determine the result — can also be expressed within a bot script using business rules. For example:
- Rule A: If customer is over 50, then apply 10% discount.
- Rule B: If customer has had account for over 10 years, then reduce cost of item by $20.
- Rule C: Charge a minimum price of $50.
But making decisions based on rules only works when outcomes are predictable. What happens when outcomes are less certain and conditions more varied — conditions under which people have to make decisions all the time? For instance, how would a bot respond to a query like Is the supplier reliable? Choosing an answer like Extremely Reliable, Very Reliable, Sometimes Reliable, or Not Reliable requires an element of human reasoning. Bots can achieve this by applying an AI technique called fuzzy logic.
Fuzzy logic uses mathematical models defined by the RPA developer to represent variations and uncertainty. For example, on a scale from 1 to 10, an Extremely Reliable supplier may be rated between 7 and 10, whereas a Very Reliable supplier may be rated between 6 and 8. The bot uses these mathematical models to convert precise input data into fuzzy input values. The bot then applies business rules defined by the RPA developer to the fuzzy input values. The mathematical model is then applied to the fuzzy output values to generate the result.
3. Look for software robots that are intelligently managed
Basic workload management is a common requirement when selecting robotic process automation tools. Workload management is a capability used to distribute work for unattended RPA use cases where software robots execute bot scripts that don't require human intervention.
As the amount of digital work increases, RPA solutions need scalability to provide greater performance capacity. Most RPA vendors solve this problem by enabling customers to add more bots to scale capacity horizontally. However, depending on how work is allocated, some RPA bots can remain idle while others block specific jobs during peaks in demand. This is where intelligent workload management comes in. It can help distribute work more effectively — minimizing idle time — by enabling bots to perform work as soon as they're available.
How does this work? A scheduler can be used to determine when a specific bot needs to be executed. When it’s time, the scheduler simply places a message in a queue, where each bot agent lines up and listens for the next job to consume. Queues work on a first-come, first-serve basis. The bot agent that’s been waiting the longest automatically receives the first job that’s available in the queue. This ensures that software robots always receive work at the earliest opportunity and peaks in demand are handled by all available bots.
A side note about horizontal scaling with queue-based workload management: This can work well, but can get expensive as the infrastructure costs of supporting the bots increase significantly as the number of bots increase. Software robots from most RPA vendors typically require a dedicated virtual machine for each bot agent, and each bot agent is only able to execute one bot script at any time, which isn't cost-effective. Significant cost savings are possible if the vendor provides the ability to vertically scale — enabling multiple bot scripts to execute concurrently on the same virtual machine.
Tip: When selecting RPA tools, look for those that enable customers to use an enterprise messaging service to implement workload management queues. Some RPA tools simulate queues using a database that may not scale or be as reliable and secure as an enterprise messaging service like, say, IBM MQ Series, Active MQ, or JMS. The RPA vendor should offer a default enterprise messaging service at no additional cost, but also allow customers to use their organization's preferred enterprise messaging service to take advantage of enterprise-scale capabilities like guaranteed once-only delivery, message priority, data integrity, and message recovery.
According to Gartner, “83% of reference customers have adopted an unattended form of RPA,"  so it’s important that those customers can get the most out of their digital workforce without requiring a huge investment. An intelligent, enterprise-scale workload management capability can help with this.
When it comes to business process automation, RPA continues to receive a lot of attention as a way to automate work to drive scale affordably and quickly. When selecting an RPA platform, look for ease of use and intelligent automation capabilities that enable your organization to build a well-managed digital workforce where bots exhibit human characteristics that enable them to seamlessly collaborate with people to deliver better customer and employee experiences.
 Magic Quadrant for Robotic Process Automation, 27 July 2020