Three ways of implementing RPA - Robotic Processing Automation
Robotic Processing Automation (RPA) is a technique used by companies to automate tasks that normally would be completed by employees. These robots are usually called “bots”. There are several RPA technology providers, like Zapier, that enable small companies use this technology in a simple way with lots of apps that offer APIs to access their services.
However, large organizations have special needs and possibly customized internal applications that cannot be used with this kind of services. Large organizations have the resources to have development teams that can develop these custom bots to adapt to their unique needs. Nevertheless, development teams are expensive and custom development of bots can take a lot of time and take away resource from more urgent business needs.
A solution to this problem is to pass the burden of developing this bots to departments outside of IT. This can be done by following the example of Zapier and others, and letting IT create automation tools that can be directly using by the subject matter experts. They can, then, directly create the automation they need, completely bypassing the IT department, who can focus on more technically challenging solutions that actually require custom development.
Inspired by solutions like this, I propose three ways to implement custom RPA platforms that can be used directly by the subject matter experts to create their own automation. These are:
- Rule-based automation
- Workflow-based automation
- Simple DSL 1-based automation
Rule based automation is the model used by Zapier, Trello, Pipedrive, and others for their automation features. Each automation consists of an event, followed by several actions. The actions and triggers can be parametrized and can be related to the same application or to other applications. This model is very simple and allows to create simple web interfaces to create the bots. The users just need to configure the different events and actions, and then the bot executes the actions each time an event is triggered.
Rule-based automation can be used to connect several application or customize different actions to changing processes or regulations. The customization allow to reduce manual and redundant labor and leave employees to focus on more complex and valuable tasks.
Workflow based automation is used by companies like RightMessage and Pipedrive’s chat-bot. Each automation consists of events, actions and decision points. Actions, triggers and decision points can be parametrized. This model requires a more complex interface to create the workflows. Indeed, workflows are usually depicted as a graph, which implies the creation of a graphical editor.
Workflow-based automation can map more complex business processes, enabling not only simple automation but also simple process orchestration and automating some simple decisions. For example, Pipedrive’s chat-bot allows the user to qualify the leads automatically and even setup an appointment. All in a custom tailored way for each client. A large organization could create workflows that can be adapted to fast changing environment and regulations, without loading the development team, since the actual development is done by an expert that can directly generate the needed workflow. At the same time, the workflows in graphical format are self documenting, which improves the maintainability of the whole system.
Simple DSL-based automation
Simple DSL workflow automation is used by companies like Zoho. In their case, they provide events and actions, but the actions are written in a custom programming Deluge. Deluge is a very simple programming language that contains primitives to use the whole catalog of Zoho apps.
This model is the most complex of the three, since it requires a textual editor for the custom programming language with all the infrastructure that it implies. However, it is the most powerful approach of the three. Using it the customization potential enormous. Applications can be adapted to perform complex use cases and automation requiring interactions with several systems that combine the results using complex logic. For example, using Deluge I was able to customize their accounting software to generate accounting entries for the Bolivian regulations in just two days starting with zero knowledge of Deluge.
RPAs platform greatly improve developers productivity and global organization’s productivity. What do you think are the greatest issues with bringing one of those approaches to your organization?
Domain-Specific Language ↩︎