Attended and Unattended automation architecture
There are two ways to configure Pega Robotic Automations: attended or unattended. An attended automation is a human-driven solution that automates 20-90% of a given task, while unattended automations require no human interaction and automate 100% of their assigned task.
Attended automation architecture
You trigger a Pega attended automation through specific events, actions, or commands from your end-user desktop that then launch workflows to assist human work. For example, a customer service representative updating the shipping address of a client in a legacy system has to log in to multiple systems to update each address in each system. To allow the systems to interact programmatically, you create an automation. The representative enters the information into one form and submits the form. Once submitted, an attended automation logs into each system and updates the address without further intervention from the representative.
The end user's desktop contains Pega Robot Runtime and all required enterprise applications for the robotic project to complete the task or case.
Pega Robot Studio is an application that allows users to create automation projects that work with browser and/or windows applications by exposing the properties, methods, and events of controls within the application. The automation developer creates automations that drive these applications. Once the automation project is deployed to a robot that is assisting an attended user, the robot launches the automations and can use a Pega application to interact with legacy enterprise applications during execution.
Execution process for Attended automation from Pega application
Pega Robot Runtime uses the Pega Constellation Messaging service to communicate between a Pega Platform application and Robot Runtime. The execution process is as follows:
- Robot Runtime subscribes to the Constellation Messaging Service actions on the Pega Infinity Server at startup
- The Pega application in the browser triggers an automation when an end-user navigates through a specific workflow configured within a Pega application.
- The Platform server then presents the invocation and also subscribes to results from the Messaging Service.
- Robot Runtime receives the invocation, performs the automation, and publishes results.
- The Pega application receives the results of the automation from the Messaging Service.
Unattended automation architecture
Pega unattended automations launch independently and run their tasks fully automatically. Unattended automations run on a virtual machine, physical machine, or as part of a Server Bot Framework. For example, as part of the case lifecycle of a Pega Platform workflow, work is handed off to the unattended automation, which completes the given task and passes results back to the case. Creating an automation is necessary when an application does not support an API, and Pega Infinity Server cannot automate this work directly.
The automation is deployed through Pega Robot Manager to run on a runtime machine by using an available robot that is connected to Pega Robot Manager. Each runtime machine runs the robotic project using its Automation Execution Engine.
Process for an unattended automation on a Pega server
An unattended automation with a Pega Server uses the Pega Platform case management workflow and work queue to run robotic tasks. A robot communicates with Robot Manager in the following way:
- The robots start and subscribe to a particular work group that has one or more multiple work queues or assignment types. A robot can be started manually, through a schedule, or automatically through auto-balancing.
- At regular intervals, the robot queries Robot Manager for work to perform, which is also known as the work polling interval. When work is received by the robot, it performs the necessary automations, sends the results, and begins to query Robot Manager again.
- The robot also sends heartbeats at regular intervals to communicate its status, which is also known as a heartbeat interval. Robot Manager uses the response of these messages to pass any commands back to the robot.
- Robot Manager receives all these messages and uses them to understand the status of all the bots and communicate with them.