Setup with Automation Anywhere
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.2 or later and Automation Anywhere A2019 or above.

Importing 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. Click on the menu and navigate to the Appian Designer page.

    Figure 5.1 (g)

  2. Click Import on the Appian Designer screen.

    Figure 5.1 (h)

  3. Upload the Robotic Workforce Manage<\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
    
     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]
        
     ...
    
     ## Constant: RWM_AA_IS_APIKEY_AUTHENTICATION
     ## Type: Boolean
     ## Set the Automation Anywhere authentication type. If true, integration will be set to authenticate with an AA API key. Otherwise, it will use Basic Authentication.
     ## Boolean values must be specified as either the text TRUE or FALSE.
     content._a-0000e537-7388-8000-9bc5-011c48011c48_1218413.VALUE=FALSE
    
  4. Click the Include related import customization file checkbox and upload it to the Import Customization File (PROPERTIES) section.

    Figure 5.1 (i)

  5. Click Inspect. It will take some time to inspect before displaying that there are no warnings or conflicts. If any are encountered, contact Appian support.

    Figure 5.1 (j)

Setting up Automation Anywhere

To establish authentication, you'll need to set up a role and user to create an API key in Automation Anywhere.

  1. Log in to the Automation Anywhere Control Room as an Administrator.
  2. First, create an API key role:
    1. In the left side menu, click Administration > Roles > Create new role.

      Figure 5.1.1 (a)

    2. Check Generate API-Key and finish creating the new role.

      Figure 5.1.1 (b)

  3. Next, you'll create a user that uses this new role to generate an authentication token:
    1. In the left side menu, click Administration > Users > Create new user.

      Figure 5.1 (k)

    2. In the list of Available roles, select the AAE_Admin and use the Service API Role.

      Figure 5.1 (l)

      Figure 5.1.1 (c)

Populate Vendor Details

Set up Third-Party Credentials

In order to use the encryption function plugin, we need to create third party credentials. Setting up third party credentials is mandatory because the encryption function will be used to encrypt the admin user's credentials of Automation Anywhere. Below are the steps to create third party credentials.

  1. Go to Admin Console.

    Figure 5.1 (m)

  2. Click on the Third-Party Credentials option on the left side.

    Figure 5.1 (n)

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

    Figure 5.1 (o)

  4. Input encryptdecryptkey in the Name text box, and select Encryption Function in the plugin picker field.

    Figure 5.1 (p)

  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 5.1 (q)

This completes the set up of 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 the action Configure Environment and Instance Details action. Use this interface to submit updates or new environments.

    Figure 5.1 (r)

    Figure 5.1 (s)

    • Vendor Name: Select Automation Anywhere from the dropdown.
    • Environment Name: Enter the Environment Server name.
    • URL: Enter the Server URL. Ex:https://automation-anywhere.solutions-dev.appianci.net/
    • Is Active: Check the checkbox to make the Environment active.
  2. The Instance Tab can be used to update existing instances or add new instances.

    Figure 5.1 (t)

    Figure 5.1 (u)

    • Linked Environment Name: Select the Environment Name which was provided in Vendor details.
    • Instance Name: Enter the name for the Instance.
    • Display Name: Enter the display for the Instance.
    • UserName: Enter the username to access the Automation Anywhere that has been created for API authentication.
    • Password: Enter the password to access the Automation Anywhere that has been created for API authentication. If the environment's import properties file had the RWM_AA_IS_APIKEY_AUTHENTICATION constant set to True, the environment uses API keys for authentication. Enter the API key here instead of a password.
    • Environment Name: leave this blank
    • Environment Id: leave this blank
    • ETL Process date and time: the ETL process start date and time.
    • Is Active: Click on the checkbox to make the Instance active.
    • Is Licensed: Click on the checkbox if the instance is licensed.

    Note: Disabled fields are not required.

Populate BotRunner details in Database

Bot Runners are responsible for running or executing bots. Configure the Bot Runner user details in the RWM database to start and schedule processes.

  1. To get the Bot Runners from the RWM integration object, open the RWM_AA_getBotRunnerDetails object from Appian Designer.

    Figure 5.1.1 (a)

  2. Get Automation Anywhere tenantId from the database table named RWM_UI_tenantDetails.
  3. Pass the tenantId as the input parameter for the object named RWM_AA_getBotRunnerDetails.
  4. Click on the Test Request, and check the response in the right side of the integration object.
  5. In the response object, note the values "id, username, disabled, deleted, email" from field licenseFeatures's value "RUNTIME".
  6. In the RWM_AA_BOT_RUNNER_LIST table in the RWM database, use the below sample script to insert BotRunner user details.

    1
    
    INSERT INTO `RWM_AA_BOT_RUNNER_LIST` ( `USER_ID`, `USER_NAME`, `EMAIL`, `DISABLED`, `DELETED`) VALUES ('userId', username, 'email', disabled, deleted);
    

Data Load

The data from Automation Anywhere to Appian is loaded on a daily basis by running the ETL process called RWM AA ETL Wrapper Model at the Appian side. The same ETL process will be 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

The following Constant values must be configured in Appian in order to load historical data

  • RWM_AA_HISTORIC_LOAD_FLAG - True
  • RWM_AA_HISTORIC_START_DATE - From when should the data be fetched from Automation Anywhere
  • RWM_AA_HISTORIC_END_DATE - Till when should the data be fetched from Automation Anywhere
  • RWM_AA_ETL_BATCH_SIZE - Initial value is 100, i.e 100 rows of data from Automation Anywhere will be transferred to Appian at a time. This number could be updated but the recommended value is 100.
  1. Click on the menu and navigate to the Appian Designer page. This will list all the available applications.

    Figure 5.1 (v)

  2. Click on the Robotics Workforce Manager Application. This will list all the objects related to the RWM application

    Figure 5.1 (w)

  3. Select the constants checkbox on the left side and type in the Constant name in the provided search text box.

    Figure 5.1 (x)

  4. Click on the Constant from the list of filtered objects.
  5. Select True/false in the Value radio box for RWM_AA_HISTORIC_LOAD_FLAG constant and click on save.

    Figure 5.1 (y)

  6. The batch size can be updated in the Value text box for RWM_AA_HISTORIC_START_DATE. Then click on Save.

    Figure 5.1 (z)

  7. Set the Automation Anywhere data retrieval batch size in the value field of RWM_AA_MAX_BATCH_SIZE and click on Save. Note that the values above the default 100 are not recommended.

    Figure 5.1 (aa)

Once the above variables are configured, the Same ETL process RWM AA ETL Wrapper Model in Appian needs to be started manually.

Daily Update Configuration

RWM AA ETL Wrapper Model process is scheduled to run on the set scheduled time interval at the Appian side to collect Automation Anywhere statistics and load it to Appian via web services provided by Automation Anywhere.

The timing of this run is configurable. Users can configure the timing by updating the constant variable RWM_AA_ETL_TIMER_INTERVAL (follow the same steps to update the constant object) in the RWM Appian application.

NOTE:

  1. Ensure the constant variable RWM_AA_HISTORIC_LOAD_FLAG is set to false for the daily load.
  2. Ensure the constant variable RWM_AA_FLAG_PROCESS is set to true for daily load to run.

Steps to run the ETL process

  1. Click on the menu and navigate to the Appian Designer page. This will list all the available applications.

    Figure 5.1 (ab)

  2. Click on the Robotics Workforce Manager Application. This will list all the objects related to the RWM application.

    Figure 5.1 (ac)

  3. Select Process Models in the left side filter and type in the ETL process model name RWM AA ETL Wrapper Model in the search bar and click search. The process model object will be visible on the right side.

    Figure 5.1 (ad)

  4. Click on the process model shown on the right side and select the designer view. The process model will open up and provide various options.
  5. Click on File and select Start Process for Debugging to start the ETL process.

    Figure 5.1 (ae)

  6. Once the process has started, it will continue to run. Click on the refresh icon in the process model to see the progress.
  7. Once the process is completed successfully, the terminate node will turn blue, shown below.

    Figure 5.1 (af)

  8. If the ETL process encounters an error, the terminate node will not change to blue even after some time. Contact Appian support. The maximum time the ETL process will take is 15 minutes. If the terminated node is not reached after 15 minutes, contact Appian support.

Architecture

Updating data from Automation Anywhere to Appian

Data regarding Process, Queue, Work Items, Resource information, and other metrics are pulled from Automation Anywhere into Appian on a set scheduled time interval. A scheduler invokes Appian to execute a process that runs several APIs in Automation Anywhere. The response is then moved to the Appian database.

Figure 5.1 (ag)

Start/schedule a module

Once users start or schedule a process, the process name and its input parameters are sent to Automation Anywhere via the Automation Anywhere HTTP connected system. The Automation Anywhere APIs return the unique session id for the started/scheduled process, which is saved in the RWM database.

Figure 5.1 (ah)

Exception management

Currently, the exception management reference app has been developed in Appian and Automation Anywhere, where Appian is used as a tool to manage the exceptions raised from Automation Anywhere. This module automatically pulls exception work items from the constantly running background 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 for this release.
  • ETL Batch sizes of 100 are recommended. Anything more than 100 can result in reduced performance.
Open in Github Built: Fri, Aug 12, 2022 (09:54:06 AM)

On This Page

FEEDBACK