The RWM application was deprecated with Appian 24.1. The application will no longer be updated or pre-installed for new Appian Cloud sites with Appian RPA enabled. RWM will be removed in a future release and we encourage customers to use the Operations Console to manage robots instead. |
IntroductionCopy link to clipboard
Robotic Workforce Manager (RWM) is built on Appian's low-code platform and is as flexible as any application developed in Appian. In order to make sure your application remains scalable and aligns with best practices, this page guides you through some of the most common changes.
This guide intends to provide expert Appian designers with the best practices, guidelines, and recommendations for configuring RWM.
Recommended customizationCopy link to clipboard
In the Control Center, on the Exceptions page, you can view statistics around business exceptions. Because business exceptions vary from organization to organization based on the Business Process Management (BPM) Appian processes created, the situations that generate business exceptions, as well as the content, can vary significantly. Thus, customization is necessary to display these exceptions.
Creating a business exception processCopy link to clipboard
RWM includes a business exception sub-process example described below to provide a standard process and case management interface. However, you aren't required to use this process for a business exception, as any process will work.
The following objects will be modified:
RWM_closedBusinessExceptions
RWM_FM_BusinessExceptionCollection
RWM_BUSINESS_EXCEPTION_NAME_LIST
To create a new business exception process:
- Duplicate the following objects, but update their name and contents (if a constant object) to be specific to your business process:
RWM Business Exception Template
RWM_BUSINESS_EXCEPTION_NAME_TEMPL
RWM_BUSINESS_EXCEPTION_CASE_TITLE_TEMPL
RWM_FM_businessException
RWM_buttonLayoutForBusinessException
RWM_RD_businessException
RWM_PM_BUSINESS_EXCEPTION_CASE_MANAGEMENT
(populate this with process model duplicated fromRWM Business Exception Template
)
- Add the value of the duplicate of
RWM_BUSINESS_EXCCEPTION_NAME_TEMPL
toRWM_BUSINESS_EXCEPTION_NAME_LIST
- Add the
RWM Business Exception Initialization
process model as a subprocess call to an Appian process that encounters the business exception. - Add the following inputs into the subprocess node:
businessExceptionId
: the unique identifier of the business exception case, which should be a foreign key to an ID of a separately created business exception table.businessExceptionName
: pass in the constant duplicated fromRWM_BUSINESS_EXCEPTION_NAME_TEMPL
.caseTitle
: pass in the constant duplicated fromRWM_BUSINESS_EXCEPTION_CASE_TITLE_TEMPL
.
- Open your interface rule duplicated from
RWM_FM_businessException
, and update the section that contains textCustom Template
with your business exception's page contents. You can fetch necessary details usingbusinessExceptionId
in thecaseDetails
input. - Replace rule
RWM_buttonLayoutForBusinessException
with your duplicate of it. Create local variables if extra values need to be stored from the previous step, and pass those into this this duplicate ofRWM_buttonLayoutForBusinessException
. - In your duplicate of
RWM Business Exception Template
, set as parameter process variables any variables that are needed from the duplicate ofRWM_FM_businessException
. - You can optionally add in extra nodes for any additional operations.
- In your duplicate of
RWM_buttonLayoutForBusinessException
, update the process model constant ina!startProcess
with your constant duplicated fromRWM_PM_BUSINESS_EXCEPTION_CASE_MANAGEMENT
, and input any values that are parameters of your duplicate ofRWM Business Exception Template
. - Update
RWM_FM_BusinessExceptionCollection
with the interface duplicated fromRWM_FM_businessException
in the bottom array, the third parameter ofdisplayvalue
, passing in any relevant inputs, and the constant duplicated fromRWM_BUSINESS_EXCEPTION_NAME_TEMP
in the top array, second parameter ofdisplayvalue
. - Repeat the changes made to the duplicate of
RWM_FM_businessException
in the duplicate ofRWM_RD_businessException
. - Update
RWM_closedBusinessExceptions
with the interface duplicated fromRWM_RD_businessException
in the bottom array, the third parameter ofdisplayvalue
, passing in any relevant inputs, and the constant duplicated fromRWM_BUSINESS_EXCEPTION_NAME_TEMP
in the top array, second parameter ofdisplayvalue
.
You have now created a custom business exception that is tailored to your organization's process and will appear in the exceptions report!
Automation PlannerCopy link to clipboard
In the Automation Planner, Request New RPA Process is a process to request a new RPA automation. Using this feature, the requestor or a member of the CoE can track the specific automation request until the request is taken to production.
The below customizations are possible within the Automation Planner:
- Customizing roles
- Customizing role name
- Customizing members
- Customizing status
- Modifying status name
- Adding new status
- Adding new approval in workflow
Request new RPA processCopy link to clipboard
The workflow of the RWM core application is illustrated below.
Every organization has its own approval hierarchy to onboard any RPA process. The approval built in this application can be customized as per the Organization needs.
This section describes how to customize the workflow.
Customizing rolesCopy link to clipboard
Refer to - Security and Role-Based Access which is fully configurable.
Customizing statusCopy link to clipboard
The process has the following statuses for each step in the workflow. These values are mentioned in the constant - RWM_VAL_PROCESS_STATUS
and RWM Database - RWM_LOOKUP_STATUS
table.
Modifying status nameCopy link to clipboard
The value of the constant can be changed to update the status name. It will be changed in the new version of the application is imported in the environment.
Adding statusCopy link to clipboard
It has three steps:
- Adding to status list constant
- Adding to status index constant
- Adding to the status in
RWM_lookup_status
table
The status needs to be added in the constants RWM_VAL_PROCESS_STATUS
and RWM_LOOKUP_STATUS
.
Adding to status index constant
There is another set of constants which has the index of each status. Information is given below:
- 1 -
RWM_VAL_DEP_MAN_STATUS_REQUEST
- 2 -
RWM_VAL_DEP_MAN_STATUS_BIZ_COE_REVIEW
- 3 -
RWM_VAL_DEP_MAN_STATUS_TEC_COE_ANALYSIS
- 4 -
RWM_VAL_DEP_MAN_BUDGET_APPROVAL
- 5 -
RWM_VAL_DEP_MAN_STATUS_IN_DEV
- 6 -
RWM_VAL_DEP_MAN_STATUS_IN_PROD
- 7 -
RWM_VAL_DEP_MAN_STATUS_AI_REVIEW
If any new approval should be introduced, one constant should be created with the index as value. All status constants after this new status need to be updated with value + 1.
Do not delete the status constants since it drives the entire Request New RPA Process workflow.
Adding a New Step in WorkflowCopy link to clipboard
This section explains at a high level how to add a new step in the workflow.
- Adding a new step to the status
- Updating the Approval Interface
Adding a new step to the statusCopy link to clipboard
Refer to the section Adding Status.
Updating the approval interfaceCopy link to clipboard
The existing interface - RWM_DM_FORM_requestNewRPAProcess
is common for the below stages as they have the same content for review:
- Business COE Review
- Technical COE Review
- Budget Approval
- Start Project
The status field in the process input is the driving factor to show the feedback given by the previous approver. For the new stage, the comment section should be added and configured to conditionally shown based on the stage.
If additional data points are required, create an additional CDT with one to one mapping to the solution CDT and add the new data points there. This will require an additional query entity and write to datastore. This will make the future upgrade more difficult as several of the solution objects such as process models and interfaces must also be updated to accommodate the new data.
Do not introduce any new fields in the user interface. The reason for this is that when updating the application, the user interface being imported will not have this field, and this field will need to be manually re-created with each application update. To avoid this issue, the interface can be copied and that can be used in the User Input Task instead.
Do not change the solution CDT (RWM_PROCESS_ONBOARDING
, RWM_PROCESS
, RWM_VALUE_ASSESSMENT
) because they will be overwritten by the next version of the RWM application.
General customizationCopy link to clipboard
The charts, grids, and dashboards that are part of the Control Center site can be customized in the RWM application.
Customized content will be overwritten while upgrading the application to the newer version. To avoid this:
- If the Appian version is 19.2, DevOps can be used to see the difference between objects in the environments. The new version of the application can be compared with the customized environment.
- It is recommended to make a copy of the existing object (rule/interface/query entity) and make the corresponding changes.
Charts and gridsCopy link to clipboard
Chart colors and labels can be customized.
Do not change the View/Stored Procedure content. If any database content is changed that can override the current functionality of the charts and that also may have an impact on other functionalities if they were reused.
DashboardsCopy link to clipboard
New charts, grids, and dashboards can be added.
Items not recommended for customizationCopy link to clipboard
These are all the general guidelines for items that should not be customized.
- Do not change the type of any columns in any CDT.
- Do not change any of the CDT names.
- Do not change the type of any columns in any table.
- Do not change any of the table names.
- Do not change the script for any view.
- Do not change the script for any stored procedure.
- Do not change the script for any function.
See Preparing to Upgrade RWM to see whether a specific object can be modified or not.
For general guidelines on customization please refer to Backward Compatible Design: Planning for Subsequent Deployments.
Database supportCopy link to clipboard
Customize the RWM application to support Oracle DB apart from MySQL cloud DB.