RPA (robotic process automation) promises to rescue business users from performing boring, repetitive tasks. Hence the term “robotic”: The nature of the jobs performed by RPA tend to be rote and low-level. Businesses use RPA software to create software bots that perform pre-defined, structured jobs that typically involve filling in electronic forms, processing transactions, or sending messages.
Stitch those basic activities together into fleets of RPA bots, and you have tremendous potential to eliminate drudgery—in data entry, billing, order management, HR onboarding, and endless other areas.
Banks use RPA for due diligence reviews on loans, invoice processing, and customer checks. Sales organizations use RPA to automate quotes and invoices. Insurers use RPA to speed up claim adjudication. In addition, with the help of machine learning, RPA can automatically transcribe recorded conversations, extract text and numbers from images and videos, and populate databases from hand-filled forms.
Under the hood, RPA systems include process mining, bot creation tools, plug-ins for connecting to enterprise systems, and a scheduling or orchestration layer. The tools in RPA systems often have limits, so people sometimes fill those gaps with hand-coded automation scripts.
It’s important to keep expectations in line for what RPA can handle. Purveyors of RPA tend to imply their products contain more intelligence than they actually do, which has led to some disappointment with RPA in general. And rollouts need to be planned and executed carefully to avoid failed RPA deployments. You need to be clear about what you want to automate before you select an RPA product—and ensure you choose one that has the capabilities you need.
How does RPA work?
RPA works by pulling information out of your existing IT systems, either through an interface to the backend or by emulating how a human would access the system from the front end. With legacy enterprise systems, you must often go through the front end, because you can’t access the back-end system directly.
Front-end RPA is an evolution of old-fashioned screen scraping. If you’ve ever used screen scrapers for an extended period, you know that they tend to be fragile: The minute something unusual displays, such as a number too large for its field, or as soon as the display format changes because of a software update, the screen scraper either returns wrong answers or stops working. Machine learning can reduce but not eliminate such showstoppers.
Once the RPA system has extracted the information it needs, it goes on to perform a pre-defined task. Common use cases include applying business rules, generating a report, sending an invoice for a receivable, or generating a check for a payable.
The bots that execute RPA tasks may run attended or unattended. Attended RPA bots run in response to an employee request. Unattended RPA bots run on a schedule—for example, to generate nightly reports. Almost all RPA bots need supervision and periodic auditing to ensure they continue to work properly.
A human must define the workflow for an RPA bot before it can work. This often begins with process recording—an activity not unlike recording a macro, only across multiple systems. The macros analogy extends to writing and editing scripts for bots as well. Many RPA solutions also offer a flowchart-style interface for stringing together elements of a bot’s task, enabling “citizen developers” to define workflows. Some RPA systems, however, still need to be set up by IT.
One of the difficult and time-consuming parts of reproducing existing business processes is identifying what the business processes are and how they work. Some RPA process mining tools can parse the logs from the existing processes; others need to observe and record employees at work. Worst case, this process discovery needs to be done manually.
Advantages and limitations of RPA
Advantages of RPA include:
- Time savings for employees from off-loading repetitive tasks to bots
- Reduced error rates on tasks automated by RPA
- Shorter times to perform automated tasks
- Increased business capacity when the rate-limiting tasks have been automated
Limitations of RPA include:
- Cost and time to set up bots, including IT involvement, identifying automation candidates, and possible consulting
- Need to monitor and maintain bots
- Inability of bots to extract information from unstructured and hand-written documents (but some products apply ML to mitigate these issues)
- Inability of bots to detect or deal with exceptions in standard tasks (but some products have a human review mechanism)
- Inability of bots to automate non-standard tasks
How to choose an RPA product
Before you commit to an RPA product, you need to understand that every single one of them uses its own proprietary file formats. Despite their utility, they’re all roach motels, completely lacking in portability. It’s not like they’re ignoring the standards: There are no standards. Evaluate carefully and do a proof of concept before committing your company to a rollout, because changing your mind later will be painful and expensive.
Verify that all basic features—and the differentiating features you think you’ll need—work in your environment. Build scripts using all the supplied tools and demonstrate that the orchestration works properly. Test out an unattended bot, verify that bots can parse your unstructured documents and PDFs, and go through process mining procedures.
10 criteria for choosing RPA tools
Pay particular attention to these key factors in your evaluation:
- Ease of bot setup
- Low-code capabilities
- Attended vs. unattended
- Machine learning capabilities
- Exception handling and human review
- Integration with enterprise applications
- Orchestration and administration
- Cloud bots
- Process and task discovery and mining
Ease of bot setup. There should be a range of ways to set up a bot for different personas. Business users should be able to point and click the applications they normally use while a recorder takes note of the actions. Citizen developers should be able to use a low-code environment to define bots and business rules. And finally, professional programmers should be able to write real automation code that calls the RPA tool’s APIs.
Low-code capabilities. Typically, low-code development is a combination of drag-and-drop timeline construction from a toolbox of actions, filling out property forms, and writing an occasional snippet of code. Writing small amounts of code, for example “loan_amount < 0.20 * annual_income” can be much quicker than graphical methods of specifying a business rule.
Attended vs. unattended. Some bots make sense only if they run on-demand (attended) when a business user needs them to perform a well-defined task—for example, “turn this graphic into text and put it on the clipboard.” Other bots make more sense if they run in response to an event (unattended), such as “perform due diligence on each loan application submitted from the website.” You need both kinds of bots.
Machine learning capabilities. The RPA tools of just a few years ago had trouble extracting information from unstructured documents—and typically, 80% of a company’s information is found in unstructured documents rather than databases. These days, it’s common to use RPA machine learning capabilities to parse documents, find the required numbers, and return them to the user. Some vendors and analysts call this hyperautomation, but the fancy language doesn’t change the functionality.
Exception handling and human review. Categorical machine learning models typically estimate the probabilities of the possible results. For example, a model to predict loan defaults that returns a 90% probability of default could recommend denying the loan, and one that calculates a 5% probability of default could recommend granting the loan. Somewhere in between those probabilities there’s room for human judgment, and the RPA tool should be able to submit the case for review.
Integration with enterprise applications. A bot isn’t much good to your company if it can’t get information out of your enterprise applications. That’s usually easier than parsing PDFs, but you need drivers, plug-ins, and credentials for all your databases, accounting systems, HR systems, and other enterprise applications.
Orchestration and administration. Before you can run any bots, you need to configure them and supply the credentials they need to run, typically in a secure credential store. You also need to authorize users to create and run your bots—and provision your unattended bots to run on specific resources in response to specific events. Finally, you need to monitor the bots and direct exceptions to humans.
Cloud bots. When RPA started out, RPA bots exclusively ran on user desktops and company servers. But as IT estates have grown into the cloud, companies have set up cloud virtual machines for use by bots. Recently, some RPA companies have implemented “cloud-native” bots that run as cloud apps using cloud APIs rather than running on Windows, macOS, or Linux VMs. Even if your company has invested little in cloud applications today, it will eventually, so this capability is highly desirable.
Process and task discovery and mining. Figuring out your processes and prioritizing them for automation is often the most time-consuming part of implementing RPA. The more the RPA vendor’s app can help you mine processes from system logs and construct task flows by observation, the easier and quicker it will be to start automating.
Scalability. As your RPA implementation rolls out to the enterprise and handles more automations, you can easily run into scalability issues, especially for unattended bots. A cloud implementation, whether native, in VMs, or in containers, can often mitigate scalability issues, especially if the orchestration component is capable of provisioning additional bots as needed.
Ultimately, the success or failure of your RPA implementation will depend on identifying the highest-reward processes and tasks for automation. For example, if the highest-reward process for a bank is performing due diligence on loan applications, make that (or a key task from that process) your RPA proof of concept.
Don’t cut corners on your testing cycle. If it turns out the RPA solution you’ve adopted has some missing or inadequate capability, and you need to switch, you’re in for a world of hurt. To mitigate the risk of having to re-create all your bots from scratch, you should document all the steps in each task and process. When you change horses, you might still need to spend a week re-implementing each bot, but you can avoid the month you spent figuring out each process.
Key RPA vendors
While there are dozens of RPA vendors, the same handful enter into the discussion again and again. The following seven vendors have been selected from the most current Forrester Wave and Gartner Magic Quadrant analyst reports and arranged alphabetically. Inclusion in this list is not a recommendation and exclusion is not a condemnation:
- Automation Anywhere: The company’s Automation 360 is a cloud-native, AI-powered, web-based platform for end-to-end automation. RPA capabilities range from simple bots that users generate with a recorder to IQ Bot, which uses a combination of ML and data processing to extract information from documents. The platform now supplies governance, security, and compliance features as well as bots and analytics.
- Blue Prism: Offering a suite of products that address different aspects and use cases of RPA, Blue Prism is now looking beyond RPA to the intelligent automation space. The company now sells a cloud-first offering featuring “digital workers” with capabilities drawn from its digital exchange marketplace.
- EdgeVerve: An Infosys company, EdgeVerve is an AI and automation provider. It offers AssistEdge RPA, AssistEdge Discover process mapping, AssistEdge Engage contact center automation, and AssistEdge Cloud RPA. EdgeVerve also offers vertical solutions for banking, value networks/supply chains, finance, and procurement.
- Microsoft: Microsoft Power Automate Desktop, a low-code RPA tool, is available for Windows 10 users at no additional cost. In addition, the Power Automate per-user plan with attended RPA is available for $15 per user per month for a limited time. It enables automations across an organization to share and collaborate across flows, access more than 400 built-in connectors, identify bottlenecks in business processes, extract data from documents, and manage and control flows with centralized governance.
- NICE: NICE RPA offers attended and unattended automation, an automation finder, and support from cognitive technologies such as OCR, chatbots, and machine learning. NICE CXone is a customer experience platform that integrates with its RPA offerings. NEVA is NICE’s personal assistant bot for employees. NICE also has a portfolio of finance-specific tools, such as Actimize for anti-money laundering.
- UiPath: The current release of the UiPath Platform (21.4) features enterprise-scale management and governance; AI-powered discovery, prioritization, and integrated development of the most impactful automations; upgrades for all user experiences; and rapid expansion of Automation Cloud capabilities. UiPath can be deployed in its hosted cloud, in a public cloud, or on-premises, although the hosted cloud is updated most often.
- WorkFusion: WorkFusion automates document-heavy manual work for large-enterprise customers in banking, financial services, insurance, and healthcare with the WorkFusion Intelligent Automation Cloud. Top automation areas in banking include anti-money laundering, account opening, sanctions screening, LIBOR transition, and mortgage lending.
Given that you won’t be able to port your scripts to another RPA system, you need evidence that the vendor you are considering has strong financial stability. The worst case would be that you did a full rollout, the vendor went bust, the licensing server stopped authenticating your installation, and your entire implementation shut down.
RPA example: UiPath
UiPath is one of the “big three” RPA products, along with Blue Prism and Automation Anywhere. Right now, it’s primarily a Windows product, although a growing subset of the functionality is available through a browser (see the InfoWorld review of version 18.4.4). As we’ll see, some of the UiPath product runs in the cloud.
UiPath helps you discover what processes to automate, and provides tools for users with a wide range of technical skills and experience. As is the case in many RPA products, UiPath is incorporating machine learning into more and more of its advanced processes. UiPath bots analyze documents, recognize speech, and apply other machine learning models. In addition, UiPath can govern and manage automations at enterprise scale.
UiPath installation. You can register for a free UiPath trial to create a UiPath Community SaaS account—and then request an enterprise trial to enable the full functionality of the UiPath Automation Cloud. Then you can download a UiPath Studio trial. Click the ‘Install’ button next to Studio. This will install UiPath Studio, Assistant, and a Robot for creating and testing automations.
Building a business case. In your Automation Cloud account, you can enable the Automation Hub service under “Admin.” You can also enable the Automation Store if you wish. Then you can navigate to Automation Hub and create an instance. From there, you can define a business case for your POC. Once you’re done, it may look something like the image below:
This shows only the beginning of a sample assessment. Your own automation exploration should tie into your company’s processes.
Documenting your process. You’ll need to download Task Capture from Automation Hub and install it. You should be logged into your UiPath Cloud account when you run Task Capture, for licensing purposes; otherwise you’ll be limited to Community functionality.
You have a choice of starting by building a diagram, or starting by using Task Capture to record your process. The former gives you a better flow diagram, but the latter lets you get up to speed more quickly. The actual capture process is similar to recording Excel macros. It has a limit of 500 actions.
The diagram will have sequences of actions, and may also have decision trees (business rules). Screen scraping actions aren’t performed with the macro recorder; instead, you capture a screen shot and then highlight the fields you want the robot to extract in the Image Editor. Once your Process Definition Document (PDD) is complete, you can export it as a Word or XAML document. You can also run your process, or submit it for review and publication in the Automation Store.
Exploring UiPath’s Marketplace. You can find many automation activities, including intelligent automations, in the UiPath Marketplace. I’ve shown the first screen of the marketplace (image below).
Creating bots. UiPath has three design environments for bots: UiPath StudioX for business users, UiPath Studio (see screenshot below) for RPA developers, and UiPath Studio Pro for C# developers. Studio Pro can build test cases for RPA as well as test automation for web, desktop, and mobile apps. Once bots have been approved, employees can run them locally with UiPath Assistant, and manage them securely with UiPath Orchestrator.
Proof of Concept. UiPath normally completes POCs in one or two days by providing a skilled UiPath developer to work with a process subject matter expert from the client company. The client must install UiPath Studio on a dedicated machine and provide access to all the systems and applications involved in the solution.
If you investigate UiPath’s competitors, you’ll find many points of similarity. You’ll also find differences in capabilities, scalability, and fees. Before committing to one RPA solution, do your due diligence, project your costs and savings, and test every capability that might affect your company’s operations.
More on RPA: