Configuring Pega Robot Manager 8.4.2
Pega Robot Manager™ 8.4.2 allows you to manage your RPA robots - start, stop, terminate and schedule them. You can configure it to suit the needs of your organization. You can also create and view reports on robot health, exceptions and usage data.
For information about upgrading from previous versions of Pega Robot Manager, see Upgrading to Pega Robot Manager 8.4.2. For a new installation, see Installing Pega Robot Manager 8.4.2.
For information about using Pega Robot Manager, see Using Pega Robot Manager 8.4.2.
For information about using reports in Pega Robot Manager, see Creating, editing, and viewing reports in Pega Robot Manager 8.4.2.
For information about configuring Pega Robot Manager, see the following topics:
- Robot registration and work group assignment
- Enabling scheduling of robots
- Enable monitoring the health of ProcessRobotScheduleActions agent
- Enabling monitoring of robot and RPA Service health
- Enabling automatic cleanup of disconnected robots
- Enabling automatic cleanup of stale automation assignments
- User roles
- Associating access groups and roles
- Configuring authentication for new users
- Configuring notification thresholds
- Configuring the pyCompleteAutomation flow action
- Modifying dynamic system settings
- Job schedulers (agents) that clean up history records
- Localization considerations
Robot registration and work group assignment for RPA (unattended) robots
Every unattended robot must successfully register with Pega Robot Manager before it can run automations. The registration process is performed by an administrative operator (also called a registration operator) that has an appropriate access role. During registration, the robot is assigned into a base work group based on the configuration request of the robot or by the configuration of decision tables. A successful registration assigns the robot to the correct base work group with the appropriate access groups and roles.
If you have multiple work groups and you want to move robots between them either manually or by using a schedule, you need to define a list of eligible work groups that are mapped to an administrative operator that is used to register the robots.
With Robot Manager 8.4.2, you can update the decision tables described below through the Robot Manager user interface. For more information, see Changing settings from the Pega Robot Manager interface.
Creating a registration operator
To start registration, robots use a shared set of credentials. These credentials are for an operator that is sometimes called the administrative operator or registration operator. These credentials are used only to establish an initial connection with Pega Robot Manager.
- Create a new operator record in Dev Studio:
- Click Create > Organization > OperatorID.
- Enter a short description and identifier, click Create, and then click Open.
- Enter the details of the administrative operator.
- In the Application access section of Profile tab, add an access group that includes the PegaRobotManager:RobotRegistrator, and PegaRULES:PegaAPI access roles.
Note: The combination of these roles is necessary and sufficient to register robots and RPA Service operators.
- Click Save.
You can also refer to the BankingAdministrator operator that is included in the BankerPro sample application layer.
RPA Service-assisted robots and stand-alone robots
Pega Robot Manager supports both RPA Service-assisted robots and stand-alone robots. RPA Service-assisted robots can be scheduled, started, stopped, terminated, and moved between work groups from the Pega Robot Manager interface. A stand-alone robot can be stopped from the Pega Robot Manager interface, but it cannot be scheduled, started, or terminated.
RPA Service-assisted robots registration
The RPA Service is a Windows service for monitoring and controlling a robot from Pega Robot Manager. It must be installed and running on the same machine as the Robot Runtime. For more information, see Pega RPA Service.
The RPA Service and its associated robot register in Pega Robot Manager by using the registration operator credentials.
When an RPA Service-assisted robot is started, it registers into a work group according to the following criteria (in order of precedence):
- If the robot was previously assigned to any work group, its last work group association is retained.
When a robot is stopped and started again, it starts working in the work group that it belonged to when it stopped. If a robot is stopped, moved to a new work group, and then started again, it starts in the work group that it was moved to.
- For robots not associated with any work group, the WorkgroupSpecifiedInPayloadTakesPrecedence dynamic system setting is checked.
- If WorkgroupSpecifiedInPayloadTakesPrecedence is set to true, the robots work group is determined by the Runtime system (either Common Config setting or a command line parameter).
- If WorkgroupSpecifiedInPayloadTakesPrecedence is set to false, decision tables on Pega Robot Manager side are used to identify the base work group for the robot in this order:
- pyGetWorkGroupByRobotID
- If pyGetWorkGroupByRobotID is invalid, pyGetWorkGroupForRobotByRequestorOperatorID is used
- If pyGetWorkGroupForRobotByRequestorOperatorID is invalid, the work group that is specified in the registration request of the robot is used (this is equivalent to WorkgroupSpecifiedInPayloadTakesPrecedence set to true)
You can also manually change the association of a robot with its work group. See Moving robots between work groups and Scheduling robots.
Stand-alone robot registration
A stand-alone robot registers with Pega Robot Manager by using the administrative credentials. This type of robot cannot be started or scheduled from the Pega Robot Manager interface. A successful registration results in the robot being assigned into the correct work group with the appropriate access groups and roles.
Configuring the work group assignment sequence (initial robot registration only)
A robot can request to join a specific work group. If a specific work group is not specified by the robot, Pega Robot Manager attempts to find a work group that the robot should join from the pyGetWorkGroupByRobotID and pyGetWorkGroupForRobotByRequestorOperatorID decision tables.
You can configure Pega Robot Manager so that the specific method of work group registration takes precedence over the others; if one method does not work, then other methods are applied.
- In the navigation panel of Dev Studio, click Records.
- Expand the SysAdmin category, and then click Dynamic System Settings.
- Click the record with the pegarobotics Owning Ruleset and WorkgroupSpecifiedInPayloadTakesPrecedence Setting Purpose.
- On the Settings tab, in the Value field, enter one of the following values:
- true: Use this setting if you have configured your robots to request a work group in their registration requests. Pega Robot Manager attempts to assign the robot to the work group that is specified in the request. However, if the registration request contains an invalid work group, Pega Robot Manager attempts to assign the robot to a work group that is specified in the pyGetWorkGroupByRobotID decision table. If this fails, it attempts to assign the robot to a work group that is specified in the pyGetWorkGroupForRobotByRequestorOperatorID decision table.
- false: Use this setting if you want Pega Robot Manager to automatically determine the work group for each robot. Pega Robot Manager attempts to match the robot to the work group by using the pyGetWorkGroupByRobotID decision table. If the work group that is specified in that decision table is not valid, Pega Robot Manager attempts to match the administrative credentials to a valid work group by using the pyGetWorkGroupForRobotByRequestorOperatorID decision table. However, if the work group that is specified in the decision table is also not valid, Pega Robot Manager uses the work group that is specified in the registration request of the robot.
- Click .
If none of these options results in a valid work group, the robot registration fails.
Assigning to a work group by request (initial robot registration only)
For more information about configuring the registration request within a robot, see the Common Configuration Settings section in the help for Pega Robot Runtime.
Assigning to a work group by using a decision table (initial robot registration only)
If you want Pega Robot Manager to automatically assign each robot to a work group, you can customize one of the provided decision tables, depending on the method that you want to use. A robot can be assigned to a work group based on the user ID or the robot ID.
Configuring the pyGetWorkGroupByRobotID decision table
To assign robots to work groups based on robot ID, use the pyGetWorkGroupByRobotID decision table.
- In the navigation panel of Dev Studio, click Records.
- Expand the Decision category, and then click Decision Table.
- Click the pyGetWorkGroupByRobotID decision table in the @baseclass class and save it to your application ruleset.
- Add the robot IDs and their corresponding work group IDs to the decision table. For more information about decision tables, see About Decision Tables.
- Click .
- Set the sequence in which the system registers robots (either from within the registration request of a robot or through the decision tables) by editing the WorkgroupSpecifiedInPayloadTakesPrecedence dynamic system setting. For more information, see Configuring work group assignment sequence.
Configuring the pyGetWorkGroupForRobotByRequestorOperatorID decision table
To map the user credentials to work groups in your application, use the pyGetWorkGroupForRobotByRequestorOperatorID decision table. For example, if you use Kerberos authentication, your decision table maps the Microsoft Windows user principal name (UPN) from a valid Kerberos ticket to a work group in your system. All robots registered by using these credentials are assigned to the work group specified in the decision table.
- In the navigation panel of Dev Studio, click Records.
- Expand the Decision category, and then click Decision Tree.
- Click the pyGetWorkGroupForRobotByRequestorOperatorID decision table in the @baseclass class and save it to your application ruleset.
- Add the user names and their corresponding work group IDs to the decision table. For example, for Kerberos authentication, add the user principal names (UPNs) and their corresponding work groups to the decision table. For more information about decision tables, see About Decision Tables.
- Click .
- Set the sequence in which the system registers robots (either from within the registration request of a robot or through the decision tables) by editing WorkgroupSpecifiedInPayloadTakesPrecedence dynamic system setting. For more information, see Configuring work group assignment sequence.
Defining work groups that a robot can move to
To move robots between work groups either manually or by using a schedule, you need to define a list of eligible candidate work groups for each administrative operator (registration operator) that registered the robots. All robots that were registered by the same administrative operator can move to those work groups.
- In the navigation panel of Dev Studio, click Records.
- Expand the Decision category, and then click Decision Table.
- Click the pyGetCandidateWorkGroupListByDispatchOperator decision table in the @baseclass class and save it to your application ruleset.
- For each administrative operator (registration operator), provide a comma-separated list of candidate work group IDs. All robots registered by a specific operator can be moved between the specified candidate work groups. The move command can be entered by Pega Robot Manager users or by a schedule. About Decision Tables. For more information, see
- Click .
Assigning an access group to a robot
After the robot registration sequence determines a valid work group for a robot, Pega Robot Manager must also identify an access group to which to map the work group. You can customize the pyGetAccessGroupForRobotByWorkGroup decision table to map a valid work group to an access group. Each access group can have different access roles so that you can customize the access rights of each robot in your application. If the decision table does not map a work group to a valid access group, robot registration fails.
You can view the decision table in the BankerPro application layer for an example of how to customize the access group.
Enabling scheduling of robots
The ProcessRobotScheduleActions agent checks whether a schedule is set on a robot and runs the defined schedule.
Enable this agent by completing the following steps:
- Click Records > Sys Admin > Agent Schedule.
- Select the Pega-Robotic-AutomationPackageManagement instance on the node where you want to enable the ProcessRobotScheduleActions agent.
- Select the Enabled? check box for the ProcessRobotScheduleActions agent.
- Click .
Enable monitoring health of the ProcessRobotScheduleActions agent
The NotifyRobotSchedulingAgentTermination agent checks whether the ProcessRobotScheduleActions agent is enabled and notifies the user when it is not working. It must be enabled on a single node – the same as the node that ProcessRobotScheduleActions agent is enabled on.
- Click Records > Sys Admin > Agent Schedule.
- Select the Pega-Robotic-AutomationPackageManagement instance on the node where you want to enable the NotifyRobotSchedulingAgentTermination agent.
- Select the Enabled? check box for the NotifyRobotSchedulingAgentTermination agent.
- Click .
Enabling monitoring of robot and RPA Service health
The MonitorRobotCommandAndHeartbeat agent checks the status of robots and the RPA Service – whether the RPA Service and robot send a heartbeat signal regularly and if the robot responds appropriately when it receives commands such as start or stop. The status of all robots that are visible in Pega Robot Manager is updated based on the actions of this agent.
Enable this agent by completing the following steps:
- Click Records > Sys Admin > Agent Schedule.
- Select the Pega-Robotic-AutomationPackageManagement instance on the node where you want to enable the MonitorRobotCommandAndHeartbeat agent.
- Select the Enabled? check box for the MonitorRobotCommandAndHeartbeat agent.
- Click .
Enabling automatic cleanup of disconnected robots
The ProcessStaleRobots agent finds running robots that have lost connectivity with Pega Robot Manager and stops them. Robots that have lost connectivity (are no longer heartbeating) appear with a red error state (Needs attention).
If the robot starts heartbeating again, it resumes its assignments. To unregister robots that have lost connectivity, use the ProcessStaleRobots agent.
Enable this agent by completing the following steps:
- Click Records > Sys Admin > Agent Schedule.
- Select the Pega-Robotic-AutomationPackageManagement instance on the node where you want to enable the ProcessStaleRobots agent.
- Select the Enabled? check box for the ProcessStaleRobots agent.
- Click .
Enabling automatic cleanup of stale automation assignments
The RoboticAssignmentProcessing agent finds stale automation assignments that have been in a robot's personal work queue for longer than expected and moves them to the list of automations that have timed out. You can view automations that have timed out in the Time-outs on the Issues page.
Enable this agent by completing the following steps:
- Click Records > Sys Admin > Agent Schedule.
- Select the Pega-Robotic-AutomationPackageManagement instance on the node where you want to enable the RoboticAssignmentProcessing agent.
- Select the Enabled? check box for the RoboticAssignmentProcessing agent.
- Click .
User roles
Users with different roles can use Pega Robot Manager. Pega Robot Manager ships with the following predefined access roles:
- Administrator (AutomationPackageManagement:Admin) – Administrators can perform all actions in Pega Robot Manager. Only Administrators can deploy packages to the Production deployment level.
- Developer (AutomationPackageManagement:Developer) – Developers can publish and manage automation packages.
- User admin (AutomationPackageManagement:UserAdmin) – User admins can manage Robot Runtime users and the organizational hierarchy.
- Runtime user (AutomationPackageManagement:RuntimeUser) – Runtime users cannot log in to Pega Robot Manager. Runtime users are typically case workers who simply fetch their automation package assignment from Pega Robot Manager
- Robot admin (AutomationPackageManagement:RobotAdmin) – Robot administrators can administer RPA (unattended) robots.
- Report admin (PegaRobotManager:ReportAdmin) – Report administrators can view, create, edit, or delete custom reports. They can also view and delete the out-of-the-box (default) reports provided with Pega Robot Manager or change the titles of these default reports. ReportAdmins can also archive and purge operational data collected for reporting purposes.
- Report writer (PegaRobotManager:ReportWriter) – Report writers can view, create, edit and delete custom reports. They can also view the out-of-the-box reports provided with Pega Robot Manager.
- Report user (PegaRobotManager:ReportUser) – Report users can view custom reports as well as the out-of-the-box reports provided with Pega Robot Manager.
The following table summarizes the tasks that each type of user can perform:
Task | Privilege | Privilege class | Role (Persona) | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AutomationPackageManagement roles | PegaRobotManager roles | ||||||||||
|
|
| Developer | UserAdmin | RuntimeUser | Admin | RobotAdmin | ReportAdmin | ReportWriter | ReportUser | |
Dashboard | |||||||||||
Unhealthy robots | pxViewRobots | Data-Admin-Operator-ID | X | X | X | ||||||
Automation issues | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Automation issues over time | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Resolved cases | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Cases past SLA | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Case activity | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Assignment drill-in | pxViewCaseDetails | Assign-WorkBasket | X | X | |||||||
Issues Tab | |||||||||||
View assignment review harness | pxViewCaseDetails | Assign-WorkBasket | X | X | |||||||
View automation issues | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Requeue failed assignments | pxRequeueRoboticAssignment | Assign-WorkBasket | X | X | |||||||
Work groups | |||||||||||
View work groups | pxViewWorkGroups | Data-Admin-WorkGroup | X | X | X | ||||||
View work group drill-in | pxViewWorkGroupDrillin | Data-Admin-WorkGroup | X | X | X | ||||||
Create work group | pxCreateWorkGroup | Data-Admin-WorkGroup | X | X | |||||||
View robots | pxViewRobots | Data-Admin-Operator-ID | X | X | X | ||||||
View assignment types | pxViewAssignmentTypes | Assign-WorkBasket | X | X | |||||||
Work group drill-in | |||||||||||
View assignment type drill-in | pxViewAssignmentTypeDrillin | Data-Admin-WorkBasket | X | X | |||||||
View assigment types | pxViewAssignmentTypes | Data-Admin-WorkBasket | X | X | |||||||
View assigment type KPIs | pxViewAssignmentTypeKPIs | Data-Admin-WorkBasket | X | X | |||||||
Start/stop assignment type | pxStartStopAssignmentType | Data-Admin-WorkBasket | X | X | |||||||
Edit work basket compliance | pxEditAssignmentType | Data-Admin-WorkBasket | X | X | |||||||
Work group priority | pxUpdateAssignmentTypePriority | Data-Admin-WorkGroup | X | X | |||||||
Robots | pxViewRobots | Data-Admin-Operator-ID | X | X | X | ||||||
View the Robot drill-in | pxViewRobotDrillIn | Data-Admin-Operator-ID | X | X | |||||||
Edit robot compliance | pxEditRobot | Data-Admin-Operator-ID | X | X | |||||||
Move robots | pxMoveRobots | Data-Admin-Operator-ID | X | X | |||||||
View package assignment | pxGetPackageAssignment | Link-Robotic-PackageAssignment | X | X | |||||||
Edit package load time | pxUpdatePackageLoadTime | Link-Robotic-PackageAssignment | X | ||||||||
Assign a new package | pxCreatePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
View Runtime Config assignment | pxViewRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | X | |||||
View Runtime Config drill-in screen | pxViewRuntimeConfigDrillin | Data-Robotic-Config-Runtime | X | X | X | X | |||||
Delete Runtime Config assignment | pxDeleteRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
Replace/override Runtime Config assignment | pxUpdateRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
View automation issues | pxViewAutomationIssues | Assign-WorkBasket | X | X | |||||||
Robots | |||||||||||
View robots | pxViewRobots | Data-Admin-Operator-ID | X | X | X | ||||||
Start robots | pxStartRobot | Data-Admin-Operator-ID | X | X | |||||||
Stop robots | pxStopRobot | Data-Admin-Operator-ID | X | X | |||||||
Terminate robots | pxTerminateRobot | Data-Admin-Operator-ID | X | X | |||||||
Move robots | pxMoveRobots | Data-Admin-Operator-ID | X | X | |||||||
View robot KPIs | pxViewRobotKPIs | Data-Admin-Operator-ID | X | X | |||||||
Robot drill-in | |||||||||||
View the Robot drill-in | pxViewRobotDrillIn | Data-Admin-Operator-ID | X | X | |||||||
Edit compliance | pxEditRobot | Data-Admin-Operator-ID | X | X | |||||||
Assignment type (work queue) drill-in | |||||||||||
View the Assignment type drill-in | pxViewAssignmentTypeDrillin | Data-Admin-WorkBasket | X | X | |||||||
Edit compliance | pxEditAssignmentType | Data-Admin-WorkBasket | X | X | |||||||
Schedule | |||||||||||
View schedules | pxViewSchedule | Data-Admin-Operator-ID | X | X | |||||||
Enable/disable schedules | pxEnableDisableSchedule | Data-Admin-Operator-ID | X | X | |||||||
Create schedules | pxCreateSchedule | Data-Admin-Operator-ID | X | X | |||||||
Edit schedules | pxEditSchedule | Data-Admin-Operator-ID | X | X | |||||||
Delete schedules | pxDeleteSchedule | Data-Admin-Operator-ID | X | X | |||||||
Clone schedules | pxCloneSchedule | Data-Admin-Operator-ID | X | X | |||||||
Users tab | |||||||||||
View the Users tab | pxViewUsersOR | Data-Admin-Operator-ID | X | X | X | ||||||
pxViewDepartments | Data-Admin- | X | X | X | |||||||
Departments | |||||||||||
View Departments | pxViewDepartments | Data-Admin- | X | X | X | ||||||
View the Department drill-in | pxViewDepartmentDrillIn | Data-Admin- | X | X | |||||||
Add departments | pxCreateDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
Import CSV files | pxBulkCreateDepartments | Data-Admin- | X | X | |||||||
Edit departments | pxUpdateDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
Add sub-departments | pxCreateDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
Delete departments | pxDeleteDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
Department drill-in | |||||||||||
View the Department drill-in | pxViewDepartmentDrillIn | Data-Admin- | X | X | |||||||
Edit departments | pxUpdateDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
Delete departments | pxDeleteDepartment | Data-Admin-Organization | X | X | |||||||
Data-Admin-OrgDivision | X | X | |||||||||
Data-Admin-OrgUnit | X | X | |||||||||
View packages | pxGetPackageAssignment | Link-Robotic-PackageAssignment | X | X | |||||||
Assign new packages | pxCreatePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
Enable and disable package assignments | pxEditPackageAssignments | Link-Robotic-PackageAssignment | X | ||||||||
Delete package assignments | pxDeletePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
View the Package Drill-in | pxViewPackageDrillIn | Data-Robotic-AutomationPackage | X | X | X | ||||||
View Users | pxViewUsers | Data-Admin-Operator-ID | X | X | X | ||||||
Add Users | pxCreateUser | Data-Admin-Operator-ID | X | X | |||||||
Move Users | pxBulkUpdateUser | Data-Admin-Operator-ID | X | X | |||||||
Delete Users | pxDeleteUser | Data-Admin-Operator-ID | X | ||||||||
View the User drill-in | pxViewUserDrillIn | Data-Admin-Operator-ID | X | X | X | ||||||
View Runtime Config Assignment | pxViewRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
View the Runtime Config Drill-in screen | pxViewRuntimeConfigDrillin | Data-Robotic-Config-Runtime | X | X | X | X | |||||
Delete Runtime Config assignments | pxDeleteRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | |||||||
Replace / Overrider Runtime Config assignments | pxUpdateRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | |||||||
People | |||||||||||
View users | pxViewUsers | Data-Admin-Operator-ID | X | X | X | ||||||
Add users | pxCreateUser | Data-Admin-Operator-ID | X | X | |||||||
Import users | pxBulkCreateUsers | Data-Admin-Operator-ID | X | X | |||||||
User drill-in | |||||||||||
View the User drill-in | pxViewUserDrillIn | Data-Admin-Operator-ID | X | X | X | ||||||
Edit users | pxEditUser | Data-Admin-Operator-ID | X | X | |||||||
Delete users | pxDeleteUser | Data-Admin-Operator-ID | X | ||||||||
View packages | pxGetPackageAssignment | Link-Robotic-PackageAssignment | X | X | |||||||
Assign new packages | pxCreatePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
Enable and disable package assignments | pxEditPackageAssignments | Link-Robotic-PackageAssignment | X | ||||||||
Delete package assignments | pxDeletePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
View the Package drill-in | pxViewPackageDrillIn | Data-Robotic-AutomationPackage | X | X | |||||||
View Runtime Config assignments | pxViewRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
View the Runtime Config drill-in screen | pxViewRuntimeConfigDrillin | Data-Robotic-Config-Runtime | X | X | X | ||||||
Delete Runtime Config assignments | pxDeleteRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | |||||||
Replace/overrider Runtime Config assignments | pxUpdateRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | |||||||
Packages | |||||||||||
View packages | pxViewPackages | Data-Robotic-AutomationPackage | X | X | X | X | |||||
View packages Drill in | pxViewPackageDrillIn | Data-Robotic-AutomationPackage | X | X | X | X | |||||
Post package metadata | pxPostPackageMetadata | Data-Robotic-AutomationPackage | X | X | |||||||
Packages drill-in | |||||||||||
Edit packages | pxEditPackage | Data-Robotic-AutomationPackage | X | X | |||||||
Delete packages | pxDeletePackage | Data-Robotic-AutomationPackage | X | ||||||||
Create deployment levels | pxCreateDeploymentLevel | Data-Robotic-AutomationPackage-DeploymentLevel | X | X | |||||||
Rename deployment levels | pxRenameDeploymentLevel | Data-Robotic-AutomationPackage-DeploymentLevel | X | X | |||||||
View deployment-level history | pxViewDeploymentLevelHistory | Data-Robotic-AutomationPackage-DeploymentLevel | X | X | X | X | |||||
Delete deployment levels | pxDeleteDeploymentLevel | Data-Robotic-AutomationPackage-DeploymentLevel | X | ||||||||
Move deployment levels | pxMoveDeploymentLevel | Data-Robotic-AutomationPackage-DeploymentLevel | X | X | |||||||
Deploy a version into and promote a version to a non-production deployment level | pxDeployVersionNonProduction | Data-Robotic-AutomationPackage-DeploymentLevel | X | X | |||||||
Deploy a package version into and promote a package to the production deployment level | pxDeployVersionProduction | Data-Robotic-AutomationPackage-DeploymentLevel | X | ||||||||
Restore packages | pxRestoreFromDeploymentLevelHistory | Data-Robotic-AutomationPackage-DeploymentLevel | |||||||||
View package assignments | pxGetPackageAssignment | Link-Robotic-PackageAssignment | X | X | X | ||||||
Enable and disable package assignments | pxEditPackageAssignments | Link-Robotic-PackageAssignment | X | ||||||||
Assign a new package assignment | pxCreatePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
Delete package assignments | pxDeletePackageAssignment | Link-Robotic-PackageAssignment | X | ||||||||
Settings | |||||||||||
Runtime configuration | |||||||||||
View Runtime configuration settings | pxViewRuntimeConfigs | Data-Robotic-Config-runtime | X | X | X | X | |||||
Create Runtime configuration settings | pxCreateRuntimeConfigs | Data-Robotic-Config-runtime | X | X | X | X | |||||
Edit Runtime configuration settings | pxEditRuntimeConfigs | Data-Robotic-Config-runtime | X | X | X | ||||||
Delete Runtime configuration settings | pxDeleteRuntimeConfigs | Data-Robotic-Config-runtime | X | ||||||||
View Runtime configuration assignments | pxViewRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | X | |||||
Update Runtime configuration assignments | pxUpdateRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
Delete Runtime configuration assignments | pxDeleteRuntimeConfigAssignments | Link-Robotic-RuntimeConfigAssignment | X | X | X | ||||||
Set a Runtime configuration setting as default to an application | pxSetRuntimeConfigAsDefault | Link-Robotic-RuntimeConfigAssignment | X | ||||||||
Retrieve Runtime configuration settings via REST services | pxGetRuntimeConfigAssignment | Link-Robotic-RuntimeConfigAssignment | X | X | |||||||
View the Runtime Config drill-in | pxViewRuntimeConfigDrillin | Data-Robotic-Config-runtime | X | X | X | ||||||
Configurations | |||||||||||
View system settings | pxViewRobotManagerSettings | Data-Portal | X | X | |||||||
Edit system settings | pxEditSystemSettings | Data-Portal | X | X | |||||||
Edit thresholds for notifications | pxEditThresholdByNotificationTypeSettings | baseclass | X | ||||||||
View thresholds for notifications | pxViewThresholdByNotificationTypeSettings | baseclass | X | ||||||||
Copy thresholds for notifications | pxCopyThresholdByNotificationTypeSettings | baseclass | X | ||||||||
Remove thresholds for notifications | pxRemoveThresholdByNotificationTypeSettings | baseclass | X | ||||||||
Robot registration | |||||||||||
View robot registration decision tables | pxViewRobotRegistrationSettings | Pega-Robot-Register | X | X | |||||||
Edit robot registration decision tables | pxEditRobotRegistrationSettings | Pega-Robot-Register | X | X | |||||||
Copy robot registration decision tables | pxCopyRobotRegistrationSettings | Pega-Robot-Register | X | X | |||||||
Remove robot registration decision table | pxRemoveRobotRegistrationSettings | Pega-Robot-Register | X | X | |||||||
Reports | |||||||||||
ReportWizard | baseclass | X | X | ||||||||
Archive operational statistics | pxArchiveOperationalStatisticsInRM | Data- | X | ||||||||
Purge operational statistics | pxPurgeOperationalStatisticsInRM | Data- | X | ||||||||
View reports | pxViewReportBrowserInRM | Data-Portal | X | X | X | ||||||
Edit categories | pxEditCategoryInRM | Rule-Category | X | X | |||||||
Delete categories | pxDeleteCategoryInRM | Rule-Category | X | X | |||||||
Create categories | pxCreateCategoryInRM | Rule-Category | X | X | |||||||
Edit report titles and descriptions | pxEditReportMetadataFromShortcutInRM | Rule-Shortcut | X | X | |||||||
Edit reports | pxEditReportInRM | Rule-Obj-Report-Definition | X | X | |||||||
Delete reports | pxDeleteReportInRM | Rule-Shortcut | X | X | |||||||
Move reports | pxMoveReportInRM | Rule-Shortcut | X | X | |||||||
Create reports | pxCreateReportInRM | baseclass | X | X | |||||||
Delete OOTB reports | pxDeleteOOTBReportInRM | Rule-Shortcut | X | ||||||||
Edit OOTB report shortcuts | pxEditOOTBReportShortcutDetails | Rule-Shortcut | X | ||||||||
View reporting RASS | pxViewReportingSettings | Data-Portal | X | ||||||||
Copy reporting RASS | pxCopyReportingSettings | Data-Portal | X | ||||||||
Edit reporting RASS | pxEditReportingSettings | Data-Portal | X | ||||||||
Remove reporting RASS | pxRemoveReportingSettings | Data-Portal | X |
For more information, see Access roles.
Associating access groups and roles
Access groups and access roles determine the permissions of each user in your Pega application. When you add a user in Pega Robot Manager, you associate the role with the access group to apply the role permissions to the user.
- In Dev Studio, create an access group that points to your application by clicking Create > Security > Access Group.
- Enter a name and description, and click Create and Open.
- In the Application section, specify your application name and version.
- In the Available roles section, click Add role.
- In the field that is displayed, press the Down Arrow key and select the roles that you want to associate with the access group.
For more information about access roles required for specific access groups and the corresponding sample access groups in the BankerPro application, see the following table:
Access group
to be used for a personaAccess roles required Sample access group in
BankerProRegistration Operator/Administrative Operator PegaRobotManager:RobotRegistrator
PegaRULES:PegaAPI
BankerPro:RoboticAdministrators Robot/RuntimeUser AutomationPackageManagement:RuntimeUser
PegaRULES:PegaAPI (required only for RPA robots)
PegaRULES:User4 (or an application-specific clone of it)
BankerPro:RuntimeUser Application Administrator /Pega Robot Manager Administrator AutomationPackageManagement:Admin
PegaRULES:SecurityAdministrator (needed in 8.1.4 to manage roles in other AGs)
PegaRULES:SysAdm4 (or an application-specific clone of it)
BankerPro:Administrators Developer AutomationPackageManagement:Developer
PegaRULES:User4 (or an application-specific clone of it)
BankerPro:Developer UserAdmin AutomationPackageManagement:UserAdmin
PegaRULES:User4 (or an application-specific clone of it)
BankerPro:UserAdmin - Save the Edit Access Group rule form.
For more information, see Access Group data instances.
You can also create an access role and add privileges to it. For more information, see Access roles.
Configuring authentication for new users
Configure authentication requirements for user roles before creating users in Pega Robot Manager. By default, all users authenticate by using basic authentication. RPA Runtime users authenticate with the registration operator account for registration purposes, and then automatically sign on through basic authentication by using a generated password. RDA Runtime users use basic authentication as a default.
Pega Robot Manager supports basic authentication and single sign-on (SSO) by using either OAuth 2.0 with SAML bearer assertion or Kerberos.
When you create user accounts in Pega Robot Manager, the authentication method that is assigned to each user is determined by their specified role and the dynamic system setting that is associated with the specified role.
- In the navigation panel of Dev Studio, click Records.
- Expand the SysAdmin category, and then click Dynamic System Settings.
- To specify the authentication that is used for the AutomationPackageManagement:RuntimeUser role:
- Click the PegaRoboticAutomationManagement owning ruleset that has the pegarobotics/DefaultAuthenticationTypeRuntimeOnlyUser Setting Purpose value.
- In the Value field, enter SSO or Basic.
- Save the rule form.
- To specify the authentication for all other roles:
- Click the PegaRoboticAutomationManagement owning ruleset that has the pegarobotics/DefaultAuthenticationType Setting Purpose value.
- In the Value field, enter SSO or Basic.
- Save the rule form.
For information on configuring single sign-on, see Configuring authentication for Pega Robot Manager 8.4.2.
Configuring notification thresholds
In case of unexpected behavior or errors, Pega Robot Manager users can be notified by webgadget and email. To take advantage of this feature, perform the following steps:
- Configure an email account to send the notifications. For more information, see Creating an email account.
- Set the Public Link URL to the following format:
http://<host>/prweb/PRServlet
. For more information, see System Settings – Resource URLs tab. - Optional: Customize the default notification thresholds:
- In the navigation panel of Dev Studio, click Records.
- Expand the Decision category, and then click Decision Table.
- Click the pyGetThresholdByNotificationType decision table in the @baseclass class and save it to your application ruleset.
- Modify the default values of relevant notification types:
- pyNotifyAutomationExceedsExecution - notification is triggered when the time it took a robot to complete the automation was longer by the specified percentage than the value specified on the originating work queue. Default value: 20.
- pyRobotQueueExceedingCapacity - notification is triggered when pending items in any robotic assignment type (work queue) reaches the specified percentage of capacity. Default value: 80.
- pyNotifyWorkQueueHasPastSLA - notification is triggered when an assignment in a robotic queue (assignment type)reaches a specific percentage of the SLA deadline. Default value: 80.
- pyNotifyRobotFailuresReachThreshold - notification is triggered when a robot exceeds its predetermined failure count threshold. Default value: 80.
- Modify the labels in the user interface so that they match the customized values.
Configuring the pyCompleteAutomation flow action
In Pega Robot Manager, the pyCompleteAutomation is marked as an Extension. Its default behavior is to consider the automation status as "Complete" and move the flow to the next stage of the case life cycle. It is strongly recommended to customize the default behavior of pyCompleteAutomation flow action to better suit the needs of your organization.
Modifying dynamic system settings
You can modify the following dynamic system settings to adapt Pega Robot Manager to the specific needs of your organization.
Setting Name | Default value | Description |
---|---|---|
pegarobotics/defaultTimezoneForRMReporting | GMT | The default time zone for converting the payload datetime |
pegarobotics/AutomationPackageRepository | Used by the Pega Robotic Automation Importer component. This setting stores the name of the repository instance that the Robotic Automation Importer component uses for relaying the generated package component RAP to Pega Robot Manager. For more information see the Pega Robotic Automation Importer documentation. | |
pegarobotics/TimeoutIntervalForRobotCommandToBeCompleted | 60 | This setting, along with the RPA service heartbeat interval, determines the timeout interval for Start commands issued to a robot. The value is represented in seconds. |
pegarobotics/ServiceOperatorHeartbeatInterval | 45 | This value is represented in seconds and defines how often the RPA Service should send a heartbeat signal to Pega Robot Manager. When the RPA Service does not send a heartbeat within this interval, Pega Robot Manager assumes that the RPA Service is not running. When the RPA Service is not running, UI options (such as Start a robot and Terminate a robot) are not available from the Pega Robot Manager interface. |
pegarobotics/MaxStartsIssuedPerScheduleAction | 4 | This setting prevents the Pega Robot Manager system from continually attempting to restart a robot that has failed to start during a Scheduled action or Otherwise event. The system reads this value before starting a robot. If the number of start attempts is less than the number provided, the start command is issued. |
pegarobotics/AllowedWaitTimeForRobotRegistration | 120 | This value is represented in seconds and specifies the maximum expected time that the RPA Service should take to start the Robot Runtime. It includes the time needed to unlock the remote machine and retrieve the package assignment. This does not include the time to synchronize the Runtime version and start the Runtime nor does it include the time taken to completely load the package. Synchronization of the Runtime version and package load time can be configured by using the Package Load Time value in the Package widget on the Work group screen. |
pegarobotics/WorkgroupSpecifiedInPayloadTakesPrecedence | false | This setting determines whether the work group for a newly provisioned robot should be determined by the Runtime system settings (true) or by Pega Robot Manager decision tables (false). |
pegarobotics/DefaultTimeoutForRoboticAutomationService | 30 | When unattended automations are invoked through Data Pages, a REST service is triggered within Robot Manager. If this REST service does not acknowledge the invocation within the time period specified in this setting, the Data Page times out. |
pegarobotics/EnableDefaultKerberosAuthenticationForRobotManger | true | When enabled (set to true) the custom authentication service, pyKerberosAuthenticationServiceForRobotManger, attempts to authenticate the incoming ticket using the default SPNEGO lib/configurations for Pega Robot Manager. When disabled (set to false), customers must handle the authentication needs themselves. |
pegarobotics/DefaultAuthenticationType | Basic | Used when adding new users through the Pega Robot Manager Portal, this setting determines whether new users (other than Runtime users) will be configured for Single Sign On or Basic authentication. Acceptable values are Basic or SSO. |
pegarobotics/DefaultAuthenticationTypeForRuntimeOnlyUser | SSO | Used when adding users through the Pega Robot Manager Portal, this setting determines whether new Runtime users will be configured for Single Sign On or Basic authentication. Acceptable values are Basic or SSO. |
Job schedulers (agents) that clean up history records
Starting from Pega Robot Manager 8.4.1, you can add new job schedulers (agents) to clean up excessive history records. The new agents include:
- pyArchiveRoboticAutomations – archives excess records of robotic automations from History-Data-Robot-Automations (database table: pr_data_robot_automation_audit).
- pyArchiveRoboticEvents – archives excess records of robotic events from History-Data-Robot-Events (database table: pr_data_robot_event_audit).
- pyPurgeRobotOperatorHistory – purges excess records of robotic operator and service operator from History-Data-Admin-Operator-ID (database table: pr_history_data).
For each of these job schedulers, you can specify the number of latest records to retain (recordsToPreserveForEachRobot). All older records exceeding this number will be automatically archived.
Enabling or disabling job schedulers
- In the navigation pane of Admin Studio, click Resources > Jobs.
- Perform one of the following actions:
- To disable a job scheduler rule, in the State column, click Override next to the rule.
- To enable a job scheduler rule, in the State column, click Revert next to the rule.
For more information about job schedulers, see Managing job schedulers.
Configuring automatic cleanup of robotic automations, events or operator history records
The pyArchiveRoboticAutomations job scheduler (agent) automatically archives History-Data-Robot-Automations (database table: pr_data_robot_automation_audit) records that exceed a set limit (the default value is 10). By default, the job scheduler runs daily at 2:00 AM US Eastern Time.
The pyArchiveRoboticEvents job scheduler (agent) automatically archives History-Data-Robot-Events (database table: pr_data_robot_event_audit) records that exceed a set limit (the default value is 100). By default, the job scheduler runs daily at 2:00 AM US Eastern Time.
The pyPurgeRobotOperatorHistory job scheduler (agent) automatically purges History-Data-Admin-Operator-ID (database table: pr_data_robot_automation_audit) records that exceed a set limit. By default, the job scheduler runs daily at 2:00 AM US Eastern Time.
- In the navigation panel of Dev Studio, click Records.
- Expand the SysAdmin category, and then click Job Scheduler.
- Click the job scheduler record that you want to edit, for example pyArchiveRoboticAutomations.
- Click Save as > Save As and perform the following actions:
- Edit the label.
- Set the context for your specialized notification by selecting a development branch.
Select an application that is built on Pega Robot Manager 8.4.2 and the Pega-Robotic-AutomationPackageManagement ruleset. - Click Create and open.
- Configure your job scheduler:
Choices Actions Change the schedule
- In the Schedule list select the frequency for the job, and then set the related details.
- Set the start time and the time zone.
Change the number of preserved records - Click Parameters.
- Enter the new limit of most recent items to preserve.
For best results, set number of records to preserve to a recommended value:
- For the pyArchiveRoboticAutomations: between 10 and 999 records
- For the pyArchiveRoboticEvents: between 100 and 999 records
- For the pyPurgeRobotOperatorHistory: between 0 and 999 records
- Click Submit.
- Click Save.
Localization considerations
When localizing applications that use Pega Robot Manager, ensure that you adhere to the following guidelines:
- Leave the default US locale for the registration operator (also referred to as the administrative operator).
Do not specify the default locale for the registration operator (also referred to as the administrative operator). This type of user is not supposed to log in to Pega Robot Manager and access the UI. The registration operator is only used to register robots and establish an initial connection with Pega Robot Manager. Changing the locale of registration operator users results in errors in the current Pega Robot Manager version. - Create a localized version of the application ruleset (and not of the Pega Robot Manager ruleset).
With a localized application ruleset, robots register correctly to the localized ruleset of the application.
Previous topic Installing Pega Robot Manager 8.4.2 Next topic Configuring authentication for Pega Robot Manager 8.4.2