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 Business Exceptions page, there is a sub-tab and 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 tablebusinessExceptionName
: 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 module:
- 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.
Rationale
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.
Given below are instructions on 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
Adding to status list constant
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. And all the status constants after this new status needs 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 module can be customized in the RWM application.
While customizing, the following points need to be followed:
All the below content will be overwritten while upgrading the application to the newer version. To handle it, below suggestions can be followed:
- If the Appian version is 19.2, The 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/GridsCopy link to clipboard
- Colors can be customized.
- The label of the chart content 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, other contents can be added.
- Additional 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.
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.