Setup with UiPath

Prerequisites

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

Set up the Appian application package

The zip file has the following Appian components:

  • Prerequisites - List of plugins that should be added in the Admin console.
  • Appian Application Package - Robotic Workforce Manager<\version>.zip.
  • Appian Customization File - Robotic Workforce Manager<\version>.properties.
  • Scripts - Available in the folders Tables, Views, Stored Procedures & Function.

Appian Application Package Setup requires four steps:

  1. Setting up SQL Scripts in Database
  2. Importing the Package in Appian
  3. Setting up UiPath
  4. Populate Vendor Details

Set up SQL scripts in database

Run the SQL Scripts with Tables, Views, Function, and Procedure queries as described below:

  1. Use the Cloud Database site (shown below).

    Figure 2.3.2.1 (a)

  2. Select the Database Appian.
  3. Click Import (shown below) on the top right and upload the files one by one in the order below, clicking Go to run each script.

    Figure 2.3.2.1 (b)

Self-managed customers or in-house database users can execute the SQL scripts one by one.

Next, import the MySQL scripts in the order below. You can find the scripts in the folder Scripts.

  1. Functions.sql
  2. Tables_Views.sql
  3. StoredProcedures.sql

Import the package in Appian

You can find the list of plugins from Prerequisites document. To add the plugins:

  1. When logging into Appian as an Administrator, a screen similar to the below image will open. Open the menu and click the Admin Console.

    Figure 2.3.2.2 (a)

  2. Click Plug-ins in the left-hand menu of the Admin Console.

    Figure 2.3.2.2 (b)

  3. Click Deploy New Plug-ins and a pop-up window with a search bar appears.

    Figure 2.3.2.2 (c)

  4. Search for the given plug-ins, click on them, and deploy each plug-in.

    Figure 2.3.2.2 (d)

To successfully import an application package, the service account user who 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 cystem 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
    
      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 UiPath specific connected system, no modifications are needed these details are configured directly from the database in below steps
      ## 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 Appian RPA http connected system, for API Key Value, use "Bearer <apiKeyValue>" This API Key must be related to a service account in Admin Console. The service account should have an 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. Input key in the Field name and provide 8y/B?E(H+MbQeThVmYq3t6w9z$C&F)J@ or any other encryption key provided by the support team in the Value text box and click Save. This concludes the setting up third party credential for encryption function plugin.

    Figure 4.2.1.4.1 (e)

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)

    Figure 4.2.1.4.1 (g)

    • 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: to get the Environment_Id:

      1. Go to the Appian Designer and find RWM_UI_getEnvironment Integration object.
      2. Open the integration object and click Test Request. The result will be shown on the right side if its successful. Contact the support team if there are any issues.
      3. Use the below inputs to get the Environment Id for the tenant in the Integration object:
        • userName (tenant username)
        • password (tenant password)
        • environmentName (tenant Environment Name)
        • tenant (tenant Name)
        • URL (URL of the Orchestrator)
      4. When you successfully test the integration, you'll see the Environment ID in the results. In the screenshot below, notice id: 1. This id value is the Environment_Id.

        Figure 4.2.1.4 (g)

    • Heartbeat Process Date & Time: Insert the date and time for the heartbeat process, based on that time heartbeat 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 and Heartbeat 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 daily basis. A scheduler invokes Appian to execute a process, which runs several APIs in UiPath and the response is moved to 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, we support the close to real-time (five minute delay) extraction of the Process (Start/Schedule execution) and Resource Status from UiPath. For this, there are two processes on the Appian side that are scheduled to run and fetch the last five minutes of data. This response is updated to the Appian database.

Figure 4.2.3.3 (a)

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 UiPath and an Appian task 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.

Figure 4.2.3.4 (a)

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, Mar 11, 2022 (04:59:07 PM)

On This Page

FEEDBACK