Robotic Process Automation (RPA)
Also known as: Web scraping, RPA Assistant, Digital Assistant, Robo Connector, Business Data extraction, AI workers, Software bots, Smart bots
What is RPA?
Robotic Process Automation describes utility applications that can open websites in a virtualized browser in order to extract site data in a structured way.
This is used to automate and link together multiple, and repetitive tasks that would either be too mundane for users to have to do frequently, or also too expensive. Instead a smart bot is deployed to take these simple tasks over.
Ambiguity: Smart bots are not the same as chatbots.
Examples of RPA
- Logging into a user's 401k pension account to obtain their payments history, current balance, etc.
- Extracting a specific list of leads from a CRM so that it can be filtered in ways the UI of the application isn't supporting
- Get a list of workflow tasks from a legacy web application where there is no easy way to obtain such a list with a database connector
- Do automated tests on website functionality to catch when features have broken, the site has gone down, etc.
- Get a user's PTO allowance or fill out a PTO request in a portal that doesn't have API access to do so
- Enhance IT device management by logging into (often very primitive) web interfaces of IP-enabled printers, phones or projectors to obtain their configuration, ink levels or error messages
- Obtain balances for public transit cards, cafeteria pre-payment cards or copier credit cards which often offer a very basic web view of that information
- Fill out any kind of form, i.e. to order stationary, catering, automated error reporting, instantly submitting compliance notices
- Get a coworker's personal information from the employee directory that isn't accessible via API, i.e. their hobbies, expert skills, license plate, group memberships or users they follow
- Update a user's name (for example after a name change) across many different applications in one go
- Register an employees details with a loyalty or rewards program from airlines, taxi companies, shopping malls, etc.
- Get a user's photo from the Employee Directory to automatically upload it as an avatar to all their other applications, i.e. intranet, company chat, project management, collaboration tools for a more personal look for these applications
Differences between RPA and Web scraping
Web scraping has been around since the 90s and it's basically a simple mechanism to extract specific information from websites. One area it is heavily used, as an example, is for harvesting pricing information for hotel stays, flights, etc. that are then aggregated into one of the many comparison sites.
These simple scrapers however are easy to break: If a text box is renamed or the layout of a page changes they need readjusting. They cannot handle interactive elements such as time delayed drop-downs. And for pages that don't want their content scraped they are also easy to detect and block (the reason why you get sometimes asked to confirm "I am not a robot").
But Robotic Process Automation is playing a different game: It's not meant to scrape data from public websites that don't want to be scraped. Instead it's focus is on creating an easy-to-setup mechanism that automate many arduous steps so users are freed up to focus on their core activities. Especially RPA is geared towards business applications that often have login screens and advanced search features that bots need to be able to navigate autonomously.
RPA can be an alternative to APIs
Robotic process automation is especially interesting in the era of Virtual Digital Assistants. The aim of Digital Assistants is to tie all kinds of data into more cohesive interfaces, i.e. a user's personalized board, chatbots that a user can ask for a quick summary or answer, etc.
A huge bottleneck for Digital Assistants to do their job is whether or not the data is accessible. Humans can access any website, navigate login screens, dropdown menus, etc. But Assistant's ordinarily rely on APIs as a standardized way to exchange information.
But many, especially legacy, applications either don't have APIs or those that exist don't provide the exact type of data you need for your use case.
This is where RPA or "Smart bots" are an attractive alternative. They are easy to setup utilities that can quickly spin up a virtualized web browser to access a specific piece of information inside a business application.
The most current smart bots are even capable of handling log in screens, can navigate dropdown menus, manage paginated lists or enter specific date ranges into search filters. This allows data extraction from even very complex web applications.
AI and Deep Learning for Robotic Process Automation
The addition of AI and Deep Learning are also adding more flexibility to Smart bots. With Deep Learning Smart bots are capable to follow steps after observing even a non-technical user just once. This makes it extremely easy and code-free for users to create their own RPA bots.
AI furthers has let RPA become more tolerant of changes in layouts, 'div' names or site functionality, i.e. if the price of a good used to be called 'usd-price' but it's changed to 'retail-price-usd' than the bot can with sufficient confidence make a bet whether that is still the information they wanted.