Setup with UiPath
This content applies solely to Robotic Workforce Manager, which must be purchased separately from the Appian base platform. This content was written for Appian 21.3 and may not reflect the interfaces or functionality of other Appian versions.

Prerequisites

The setup instructions on this page require Appian 20.1 or later and UiPath v19.4.0 or above.

Import the package in Appian

To successfully import an application package, the service account user which deploys the application package must be in the GMT time zone and must not be changed.

  1. Navigate to the Appian Designer.

    Figure 2.3.2.2 (e)

  2. Click Import.

    Figure 2.3.2.2 (f)

  3. Generate an API Key for the connected system.
    • Once you copy the API key, use it in Robotic Workforce Manager.properties for UiPath connected system. The connected system object name is "RWM_UiPathCSP"
    • Set API key value as: apiKeyValue="Bearer <apiKeyValue>"
  4. Upload the Robotic Workforce Manager<\version>.zip file to the Package (ZIP) section. Make changes to the Robotic Workforce Manager.properties as mentioned below.

    Robotic Workforce Manager.properties

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
     Provide the database vendor, ex: MYSQL or MSSQL
     ## Constant: RWM_DB_VENDOR
     ## Type: Text
     ##
     ## Text values will be displayed in Appian exactly as they are
     ## specified here. No spaces are trimmed. Values do not need to be
     ## encased in quotation marks.
     content._a-0000e49f-ec1b-8000-9bc3-011c48011c48_1126829.VALUE=@@DATABASE_VENDOR@@
    
     Provide the Appian environment URL ex:https://xyz.appiancloud.com
     ## Constant: RWM_VAL_APPIAN_DOMAIN_NAME
     ## Type: Text
     ##
     ## Text values will be displayed in Appian exactly as they are
     ## specified here. No spaces are trimmed. Values do not need to be
     ## encased in quotation marks.
     content._a-0000e23d-7780-8000-9ba2-011c48011c48_64089.VALUE= [http(s)]://[Appian URL]
         
     Appian business database name ex:jdbc/Appian
     ## Constant: RWM_VAL_COMMON_DATA_STORE_APPIAN
     ## Type: Text
     ##
     ## Text values will be displayed in Appian exactly as they are
     ## specified here. No spaces are trimmed. Values do not need to be
     ## encased in quotation marks.
     content._a-0000e23d-7780-8000-9ba2-011c48011c48_69762.VALUE=jdbc/[Database Name]
         
     The following are details specific to the UiPath connected system. No modifications are needed; these details are configured directly from the database.
     ## Connected System: RWM_UIPath_CSP
     connectedSystem._a-0000e2f2-a540-8000-e99f-01ef9001ef90_314069.host=http(s)://<UIPath_Orchestrator_URL>
     connectedSystem._a-0000e2f2-a540-8000-e99f-01ef9001ef90_314069.port=<Port_Number to access UIPath Orchestrator>
     connectedSystem._a-0000e2f2-a540-8000-e99f-01ef9001ef90_314069.tenant=<Host_Name to access UIPath Orchestrator>
     connectedSystem._a-0000e2f2-a540-8000-e99f-01ef9001ef90_314069.userName=<Username to access UIPath Orchestrator>
     connectedSystem._a-0000e2f2-a540-8000-e99f-01ef9001ef90_314069.password=<password>
        
     The following are specific to the Appian RPA HTTP connected system. For API Key Value, use the format "Bearer <apiKeyValue>". The API Key must be related to a service account in Admin Console. The service account should have System Administrator access.
     ## Connected System: RWM_AppianRPA
     connectedSystem._a-0000e3be-674f-8000-9ba5-011c48011c48_30431.baseUrl=[http(s)]://[Appian URL]/rpa/
     connectedSystem._a-0000e3be-674f-8000-9ba5-011c48011c48_30431.apiKeyValue=Bearer <apiKeyValue>
    
  5. Click on the "Include related import customization file" checkbox and upload it to the Import Customization File (PROPERTIES) section.

    Figure 2.3.2.2 (g)

  6. Click Inspect. If the inspection returns without any warnings or conflicts, then you are ready to move on to the next step of importing. If you're shown unexpected warnings or conflicts, please contact the support team.

    Figure 2.3.2.2 (h)

  7. Click Import. Due to the size of this application, it may take a while to import, at which point the screen may time out. This is expected, and the import is still occurring in the background.

Set up UiPath

An Admin account on each tenant in UiPath has to be created with the GMT time zone. The ETL process will load all data for each tenant using the corresponding admin account.

Create an Admin account for a Tenant

  1. Login to the orchestrator.
  2. Click on the top right corner and click Users.

    Figure 4.2.1.3.1 (a)

  3. The Orchestrator lists all the available users. Click on the (+) icon to add a new user.

    Figure 4.2.1.3.1 (b)

  4. Enter all the user details. Select Administrator role and repeat the same steps for each Tenant.

    Figure 4.2.1.3.1 (c)

Populate vendor details

Set up third-party credentials

To use the encryption function plugin, you'll need to create third-party credentials. Setting up third-party credentials is required because the encryption function is used to encrypt the admin user's credentials of UiPath.

To create third party credentials:

  1. Go to Admin Console in Appian.

    Figure 4.2.1.4.1 (a)

  2. Click Third-party Credentials on the left side.

    Figure 4.2.1.4.1 (b)

  3. Click Create. An interface will open up to set up third party credentials.

    Figure 4.2.1.4.1 (c)

  4. Type "encryptdecryptkey" in the Name text box and select Encryption Function in the plugin picker field.

    Figure 4.2.1.4.1 (d)

  5. In the Credentials section, click Add field to add credentials. In Field name enter the text key and in Value enter an encryption key. You will need to generate your own AES-256 encryption key to enter here. Enable the Mask checkbox and click Save.

    Figure 4.2.1.4.1 (e)

This concludes setting up third party credentials for the encryption function plugin.

To configure the vendor details, you need to be a member of the RWM_Admin group.

  1. Go to Tempo from Navigation Tab and click on Actions.
  2. Click the Configure Environment and Instance Details action. The below interface appears. Manage all vendor details here.
  3. Click Add New Environment and enter the details.

    Figure 4.2.1.4.1 (f)

    • Vendor Name: Select UiPath.
    • Environment Name: Enter the environment server name.
    • URL: Enter the server URL. Ex: https://rwm1-ahupy5zg4n5c2.azurewebsites.net
    • Is Active: Check the checkbox to make the environment active.

To add the instance details:

  1. Go to Tempo from Navigation Tab and click on Actions.
  2. Click the Configure Environment and Instance Details action and navigate to Instance Tab, which appears below.
  3. On this tab, click Add New Instance to add all the instance details in accordance with vendor details. Disabled fields are not required.

    Figure 4.2.1.4.1 (h)

    Figure 4.2.1.4.1 (i)

    • Linked Environment Name: Select the environment name which was given in vendor details.
    • Instance Name: Enter the name for the instance.
    • Display Name: Enter the display for the instance.
    • User Name: Enter the username to access the UiPath server.
    • Password: Enter the password of the mentioned username to access the UiPath server.
    • Environment Name: to get the Environment_Name:

      1. Login to the UiPath Orchestrator using a tenant username and password.

        Figure 4.2.1.4 (e)

      2. Click Robots in the left side menu bar and click Environments on the top bar.

        Figure 4.2.1.4 (f)

    • Environment Id: Automatically updated using the credentials and Environment name.

      Figure 4.2.1.4 (g)

      Do not click Set as default test values! The basic authentication credentials here are not saved in the application. However, clicking Set as default test values may leave the values visible to other designers and admins, exposing the credentials and compromising security.

    • ETL Process Date & Time: Insert the date and time for the ETL process, based on that time ETL details are fetched. Past date & time is preferable.
    • Is Active: Click the checkbox to make the instance active.
    • Is Licensed: Click the checkbox to indicate the instance is licensed.

Data load

Data is loaded from UiPath to Appian on a daily basis by running the ETL process called RWM UI ETL Wrapper Model on the Appian side. The same ETL process is used for loading historical data as well.

Before running the ETL process, make sure all the tenant details are present in the RWM_UI_TENANT_DETAILS table. Steps to populate tenant details data are mentioned in the Set-Up and Configuration document.

Historic load configuration

To load the historic data, these Appian constants should be configured:

  • RWM_UI_HISTORIC_LOAD_FLAG - Set to True.
  • RWM_UI_HISTORIC_START_DATE - Start date the data should be fetched from UiPath.
  • RWM_UI_HISTORIC_END_DATE - End date the data should be fetched from UiPath.
  • RWM_UI_ETL_BATCH_SIZE - Initial value is 100, i.e 100 rows of data from UiPath will be transferred to Appian at a time. This number could be modified but the recommended value to have is 100.
  1. Navigate to the Appian Designer page to see all available applications.

    Figure 4.2.2.1 (a)

  2. Open the Robotic Workforce Manager application to see all objects related to RWM application.

    Figure 4.2.2.1 (b)

  3. Select the Constants checkbox on the left side to filter the list. You can also type in the constant name in the search text box.

    Figure 4.2.2.1 (c)

  4. Click on the constant object you want to edit from the filtered objects.

    • Select True/False in the Value radio box for RWM_UI_HISTORIC_LOAD_FLAG constant and click Save.

      Figure 4.2.2.1 (d)

    • Select the appropriate date in the Value text box for RWM_UI_HISTORIC_START_DATE and click Save.

      Figure 4.2.2.1 (e)

    • Type in appropriate integer value in a value text box for RWM_UI_ETL_BATCH_SIZE and click Save.

      Figure 4.2.2.1 (f)

  5. Once the above variables are configured, the same ETL process RWM UI ETL Wrapper Model on the Appian side needs to be started manually.

Daily update configuration

RWM UI ETL Wrapper Model process is scheduled to run every day (configured for 1 A.M. GMT nightly) on the Appian side to collect UiPath statistics and load it to Appian via web services provided by UiPath.

The timing of this run is configurable. Users can configure the timing by updating the constant variable RWM_UI_ETL_TIMER in Appian.

NOTE:

  • Make sure that the constant variable RWM_UI_HISTORIC_LOAD_FLAG is set to False for the daily load.
  • Make sure that the constant variable RWM_UI_FLAG_PROCESS is set to True for daily load to run.

Run the ETL process

  1. Navigate to the Appian Designer page to see all the available applications.

    Figure 4.2.2.2.1 (a)

  2. Click the Robotic Workforce Manager application to see all objects related to the RWM application.

    Figure 4.2.2.2.1 (b)

  3. To find the ETL process model, select Process Model on the left side to filter the list of objects and search for RWM UI ETL Wrapper Model. The process model object appears in the list.

    Figure 4.2.2.2.1 (c)

  4. Open the process model and select the Designer View. Click File and select the Start Process for Debugging to start the ETL process.

    Figure 4.2.2.2.1 (d)

  5. Once the process has started, you can click the refresh icon in the process model to see the progress as it continues to run. The End node will turn blue after the process completes.
  6. Once the process is completed successfully, it should appear as follows:

    Figure 4.2.2.2.1 (e)

  7. If the ETL process encounters problems, the terminate node won't change to blue even after waiting for a longer period. Contact the support team if this occurs. The maximum time ETL process can take to complete is 15 minutes. If the terminated node doesn't turn blue even after 15 minutes, contact the support team in that case. Below is a sample snapshot of the failed ETL process.

    Figure 4.2.2.2.1 (f)

Architecture

Updating data from UiPath to Appian

Data regarding Process, Queue, Work Items, Resource information, and other metrics are transported from UiPath to Appian on a scheduled interval. A scheduler invokes Appian to execute a process, which runs several APIs in UiPath and the response is moved to the Appian database.

Figure 4.2.3.1 (a)

Start / schedule a module

Once a user starts or schedules a process, the process name and its input parameters are sent to UiPath via the UiPath connected system. The UiPath connected system returns the unique session id for the started or scheduled process and it's saved in the RWM database.

Figure 4.2.3.2 (a)

Real-time status extraction

Currently, the near real-time extraction of the Process (Start/Schedule execution), Resource Status from UiPath. For this, there is a process in Appian that will run after the ETL process to update the status.This response will be updated in Appian.

Exception management

Currently, the exception management reference app has been developed in Appian and UiPath, where Appian is used as a tool to manage the exceptions raised from UiPath. This module automatically pulls exception work items from data which is pulled by ETL process, where these exceptions will be assigned to a specific user/group based on the routing logic (configurable) in Appian. If a match in the routing module is not found, the exceptions are sent to the Exception Manager for assignment.

Limitations

  • Only primitive data type inputs are supported in this release.
  • It is preferred to run ETL batches in size of 100. Anything more than 100 can result in suboptimal implementation.
Open in Github Built: Fri, Jun 24, 2022 (02:11:55 PM)

On This Page

FEEDBACK