Use RPA to complete a BPM activity within an end-to-end business process
Whether you are using RPA, BPM or both together, the business problem is essentially the same. There is always an end-to-end business process that comprises of a combination of system activities and human activities. The human activities can include repetitive tasks like extracting and moving data between systems i.e. swivel chair activities which are prone to human error, and activities that require more insight like management decisions, and approvals where automation is not desired.
RPA is not designed to assist humans to perform their work, instead it is designed to perform the repetitive work on their behalf. Therefore, by its nature RPA does not provide a graphical user interface (GUI) that a business operator can use to perform any aspect of a task or process. In reality, it is unlikely that an entire end-to-end process can be fully automated using RPA without requiring any human involvement. Each RPA bot implementation typically focuses on a single activity within an end-to-end process. A large process might require several separate bots to complete various activities within the process. The BPM Express capability within the IBM RPA with Automation Anywhere offering or a separate IBM BPM license can be used in combination with RPA to orchestrate the end-to-end process and provide the human interface where necessary. Depending on your starting point, there are different approaches that you can take:
- Allow your knowledge workers to focus on higher value activities by having RPA complete a BPM human activity by using the BPM task GUI
- Accelerate process integrations development by using RPA to implement a BPM system activity as an alternative to using traditional systems APIs and integrate with systems and applications that do not have APIs
- Orchestrate existing independent RPA activities within a larger BPM process flow
Use RPA to complete a BPM human activity
If you have developed a process running on an existing BPM solution there might be some human activities that you would like RPA to automate. It can be particularly beneficial to automate the transfer of data between different systems where your knowledge workers are currently performing swivel chair activities to manually transfer data i.e. where no integration is present.
See sample: Use RPA to complete a BPM human activity
Use RPA to implement a BPM system activity
Traditionally, when integrating with other systems within a BPM solution, you would introduce system activities to interact with those systems via their system APIs. Systems integration can require a significant investment within the development of the over-all BPM solution, especially when new system APIs are introduced to back-end systems. You can use an RPA solution with software bots as an alternative technique to integrate processes running on IBM BPM with those systems by integrating with their graphical user interfaces (GUI) in a fraction of the time. In some cases, integration on-the-glass is the only viable option when it’s not possible to introduce new APIs for legacy systems that are no longer maintained or with third-party systems that you cannot modify.
Enterprise system integrations that use APIs can be more robust, provide a better quality of service, and provide better performance. You might tactically choose to use RPA implementations initially to deliver the BPM solution faster. Over time you may decide to replace specific RPA implementations with enterprise system integrations to improve the quality of service for mission critical integrations.
One way to use RPA to integrate BPM with other systems is to create a BPM human activity and use RPA bots to integrate with BPM on-the-glass, as described above. However, creating a BPM GUI that will never be used by a human operator would add unnecessary development effort. Instead, you can simply create a BPM system activity that programmatically triggers an RPA activity which is used to integrate with other systems and to return the result to BPM when the task is complete.
See sample: Use RPA to complete a BPM system activity
Use BPM to orchestrate independent RPA activities
Typically, each bot in an RPA solution is focused on a specific activity within a larger end-to-end process flow. Unlike BPM activities, bots are designed to execute activities independently from other activities within the process, where tasks from multiple processes are executed in batches of many hundreds or thousands.
If you have implemented several independent RPA activities as bots, you can use BPM to sequence the RPA activities and connect them to the other system and human activities that make up an end-to-end BPM process flow.
NOTE: It is good practice for your business analysts to capture enterprise process models using collaborative modelling tools like IBM Blueworks Live to determine which RPA and BPM automation projects would most benefit your organization.
You can use several different techniques to integrate RPA activities into a BPM process, depending on whether it is the first activity in a process flow or an activity in the middle of a process flow.
- Where you have an existing RPA activity that is the first step in an end-to-end process, then on successful completion of each bot you can launch a BPM process to orchestrate the rest of the process.
See sample: Use RPA to launch a BPM process
- Where you have an existing RPA bot implementation that belongs in the middle of an end-to-end process, then after the successful completion of each bot activity it can send an event to BPM to trigger the next activity in the process.
See sample. Use RPA to trigger an event in a BPM process