Robotic Process Automation or RPA as we have seen is an easily configurable software that can perform actions like moving a cursor, clicking a button, etc. faster and usually more accurately. But how does RPA work? In this post, we will answer that first by giving you a “30000-foot view” and then dive in deeper.
How does RPA work? – a 30000-foot view
RPA Bots at its core is a string of pre-configured blocks that executes a series of actions.
These Bots are usually easy to configure through drag-drop interfaces. These configured Bots then carry out the configured tasks using an RPA executable at the computer.
The RPA software also has a central program to manage these Bots. This central “control room” helps manage the schedule, security, etc for multiple Bots.
Here is a bot actually performing a series of tasks after it was configured. You can see the “Task Action List” in the video at about 1.54.
To understand how RPA works at a deeper level, let us understand its key components and how we interact with them.
RPA Components
Most of the RPA tools have three main components to help you automate:
- RPA Studio: This is a “Visio like” drag-drop configuration interface to create your Bots.
- RPA Control Room: This is a central interface to deploy and manage your Bots.
- RPA Runtime: This is an executable that runs your Bots on the computer.
We will dive into each of these components so that you can appreciate what they are and how they fit together. Let us start with the Configuration interface or “RPA studio”.
RPA Studio
In RPA, you first create “Bots” by configuring the process workflow with drag-drop blocks.
Each of these workflow blocks is a puzzle piece that carries out certain “Actions”. Think of “Actions” as a bunch of reusable libraries (code) that enables these blocks.
You drag-drop these “Actions” to stitch these blocks together to create your Bots. Here is a simple workflow on the popular UiPath RPA Studio:
Notice how you can drag-drop the actions on the left onto the canvas to create a workflow. As you can tell, the image shows a simple workflow to show and log a message.
Once the Bots are created, they have to usually be deployed to carry out the “Actions” that automate your task. You deploy the bots to a Control room or directly to a run time. Let us look at what the Control room is first.
😎 Fun fact: UiPath started by developing reusable libraries for people before they hit upon this new market that is now called RPA.
RPA Control Room
Once you configure the Bots, you would deploy and manage the Bots.
To help you manage these Bots better, RPA includes a Control room. This is a centralized place to deploy, manage, control, and analyze your Bots. It is usually accessible from your browser and also through mobile apps.
The Control Room enables multi-tenancy – which means you can build your first bot and scale up to thousands of bots with this architecture.
Here is the Control room for the popular “Automation Anywhere” RPA. You can see how this is a central portal to manage your Bots.
The final piece of the puzzle is to run the automation on a computer (Virtual or local). This is carried out by a runtime.
RPA Runtime
The RPA runtime is an executable that “runs” the workflow actions you configured.
It is usually a small program that communicates with the Control room to download the workflow configurations and carry out the automation tasks.
If all goes well, the Bot “deployed” on your runtime would execute the process steps, automating the actions. The bots can be run with or without people’s supervision – Attended or Unattended.
A consolidated view of how RPA works
The RPA components above – Studio, Control room, and Runtime – work together to give you the capabilities to rapidly create and start running your Bots. Here is a quick view of how they work together:
The Bots that we created have various capabilities that allow it to execute the automation.
RPA capabilities
The RPA tools have been evolving, adding many features. They started with activities that used the screen elements and has evolved quite a bit since. Here are some capabilities that we find in RPA tools of today:
- Screen-based integration (screen scraping)
- Application programming interface (API) based integration
- Process recorder and generation of skeleton RPA code
- Citrix integration
- AI – Machine learning
- Conversational AI – Virtual assistants or Chatbots
- Data extraction from documents (OCR/ICR)
- Process discovery
- Process mining
- Analytics
- Bots Testing
- Low-code apps for human interfacing
So, RPA works through three key components that help you create and run your automation – “Bots”. These Bots have lots of capabilities that help you automate your tasks quickly.
The RPA tools are evolving rapidly and we can expect them to have more and more capabilities.