0% found this document useful (0 votes)
123 views554 pages

Automation Anywhere Version A2019.10 Enterprise On-Premises

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views554 pages

Automation Anywhere Version A2019.10 Enterprise On-Premises

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 554

06/24/2020

Automation Anywhere
Version A2019.10
Enterprise On-Premises
    Automation Anywhere - Contents 

Contents

Explore.......................................................................................................................................................................................6
Enterprise A2019 Release Notes........................................................................................................................... 7
Enterprise A2019 Build 2545 Release Notes.........................................................................................7
Enterprise Version A2019 (Build 2094) Release Notes.....................................................................13
Enterprise Version A2019 (Builds 1598 and 1610) Release Notes................................................. 19
Enterprise Version A2019 (Builds 1082 and 1089) Release Notes................................................ 25
Enterprise A2019 (Build 550) Release Notes...................................................................................... 32
Enterprise A2019 (Build 543) Release Notes...................................................................................... 34
Enterprise A2019 FAQ............................................................................................................................................37
Automation Anywhere Enterprise Overview................................................................................................... 39
Enterprise Control Room overview...................................................................................................... 39
Distributed Architecture............................................................................................................................ 41
Network Architecture and Boundary Controls.................................................................................. 43
Security architecture.............................................................................................................................................. 44
Security architecture model....................................................................................................................45
Securing the RPA environment with external controls................................................................... 46
Independent categories for Bot Creators and Bot Runners...........................................................47
Role-Based Access Control..................................................................................................................... 47
Bot execution access by dynamic access token..............................................................................50
Secure credential store Credential Vault............................................................................................. 51
Authentication with Enterprise Control Room...................................................................................52
Support for secure protocols................................................................................................................. 52
Network security overview...................................................................................................................... 53
Secure protocols in use........................................................................................................................... 54
List of port numbers................................................................................................................................. 54
Change management............................................................................................................................... 55
Identity and authentication......................................................................................................................56
Defenses against common vulnerabilities...........................................................................................59
Compliance and vulnerability scanning...............................................................................................60
Audit logs...................................................................................................................................................... 61
Additional security controls.....................................................................................................................63
Mobile application overview................................................................................................................................ 65
Mobile application FAQs.......................................................................................................................... 65
Mobile app capabilities............................................................................................................................. 65
Connecting manually to an Enterprise Control Room................................................................... 66
General Data Protection Regulation guidelines............................................................................................. 67

Install and upgrade Enterprise A2019............................................................................................................................68


Getting started with Enterprise A2019 (Cloud deployed) and Community Edition.............................. 69
Enterprise A2019 (Cloud deployed) and Community Edition prerequisites............................... 70
Register as a Community user............................................................................................................... 74
Log in to Enterprise A2019......................................................................................................................75
Register device and install Bot agent................................................................................................... 76
Create your first bot.................................................................................................................................. 78
Run your first bot....................................................................................................................................... 79
Enterprise A2019 On-Premises prerequisites................................................................................................ 80
Enterprise Control Room server requirements..................................................................................82
Enterprise Control Room operating system compatibility............................................................. 83
Bot agent compatibility............................................................................................................................ 83
Credential requirements........................................................................................................................... 87
Database requirements.............................................................................................................................89

© 2020 Automation Anywhere. All rights reserved.    ii


    Automation Anywhere - Contents 

Load balancer requirements...................................................................................................................90


Ports, protocols, and firewall requirements........................................................................................ 91
Supported browsers for Automation Anywhere Enterprise Cloud............................................... 95
Working with Azure SQL PaaS............................................................................................................... 96
Enterprise Control Room and bot dependencies............................................................................ 96
Citrix integration on Cloud..................................................................................................................... 99
HA, DR, and single-node deployments............................................................................................. 104
Enterprise A2019 On-Premises Enterprise Control Room installation....................................................114
Installing Enterprise Control Room using Express mode.............................................................. 116
Installing Enterprise Control Room using Custom mode............................................................. 118
Installing Enterprise Control Room on Amazon Web Services................................................... 126
Installing Enterprise Control Room on Microsoft Azure............................................................... 132
Installing Enterprise Control Room on Linux...................................................................................140
Installing Enterprise Control Room using scripts............................................................................ 143
Enterprise Control Room post-installation configuration............................................................146
Post-installation user management................................................................................................................. 150
Configure Enterprise Control Room authentication options.......................................................150
Preparing for users...................................................................................................................................158
Installed Enterprise Control Room directories and files............................................................................ 160
Run IQ Bot On-Premises Build 2545 migration script................................................................................161
Licensing and entitlements................................................................................................................................ 162
Configure new Enterprise Control Room licenses.........................................................................163
Bot deployment and concurrent operations................................................................................................ 164
Manually update the Bot agent............................................................................................................165
Migration to Enterprise A2019...........................................................................................................................165
Bot Scanner overview............................................................................................................................. 167
Prerequisites for migrating to A2019.................................................................................................. 173
Copy 11.x information to A2019...........................................................................................................175
Migrating a bot.......................................................................................................................................... 176
Export to CSV............................................................................................................................................ 179
Migration reports.......................................................................................................................................179
Package mapping for migration...........................................................................................................179
Variable mapping for migration............................................................................................................187

Build....................................................................................................................................................................................... 193
Get started building bots.................................................................................................................................... 193
Build a Go be Great bot........................................................................................................................ 193
Build a basic bot that uses a desktop application...........................................................................195
Build a hello world bot with a Python function..............................................................................196
Bot editor for creating bots...............................................................................................................................198
Actions palette content for bot creation...........................................................................................198
Universal Recorder overview................................................................................................................386
Working with bots................................................................................................................................... 389
Keyboard shortcuts................................................................................................................................. 396
Variables and credentials....................................................................................................................... 398
Bot dependencies....................................................................................................................................407
Triggers....................................................................................................................................................... 409
Troubleshooting and debugging.......................................................................................................................411
Troubleshoot bot run issue................................................................................................................... 411
Debugger features....................................................................................................................................412
Automation Anywhere Enterprise Package Development Kit.................................................................. 412
Setting up the Java project................................................................................................................... 414
Standard coding practices and guidelines for developing packages.........................................416
Develop a sample package................................................................................................................... 417
How to examples.....................................................................................................................................418
Annotations................................................................................................................................................ 424

© 2020 Automation Anywhere. All rights reserved.    iii


    Automation Anywhere - Contents 

Build and test a demo package and bot.......................................................................................... 430


Enterprise A2019 Package Development Kit Release Notes....................................................... 436

Manage.................................................................................................................................................................................438
Activity......................................................................................................................................................................438
Schedule..................................................................................................................................................... 439
Event triggers............................................................................................................................................ 442
Historical activity...................................................................................................................................... 443
Audit Log.................................................................................................................................................... 444
Devices.....................................................................................................................................................................447
Register device and install Bot agent................................................................................................ 449
Manage my device pools......................................................................................................................450
Workload management...................................................................................................................................... 456
Create workload queues........................................................................................................................457
Run bot with queue................................................................................................................................ 461
Manage workload queues.....................................................................................................................463
Manage Work Items................................................................................................................................469
Managing packages..............................................................................................................................................472
Add packages to the Enterprise Control Room.............................................................................. 473
Manage Enterprise Control Room packages................................................................................... 473
Credentials and lockers...................................................................................................................................... 474
Set up locker and assign credentials..................................................................................................477
Create credential...................................................................................................................................... 477
Create locker.............................................................................................................................................478
Credential Vault email notifications................................................................................................... 480
Administration.........................................................................................................................................................481
Users management..................................................................................................................................481
Roles............................................................................................................................................................ 485
Settings........................................................................................................................................................489
Licenses...................................................................................................................................................... 492
Enterprise Control Room APIs......................................................................................................................... 496
Audit API..................................................................................................................................................... 496
Authentication API overview.................................................................................................................503
Filters in an API request body...............................................................................................................513
Features to roles mapping.....................................................................................................................515

Analyze................................................................................................................................................................................. 526
Bot Insight overview............................................................................................................................................ 526
Accessing Bot Insight.......................................................................................................................................... 527
Accessing Bot Insight from the Workbench.................................................................................... 527
Using Bot Insight.................................................................................................................................................. 528
Roles............................................................................................................................................................ 528
Role-Based Access Control.................................................................................................................. 529
Business analytics.....................................................................................................................................530
Dashboards overview........................................................................................................................................... 531
Viewing the Bot Insight dashboard.....................................................................................................532
Bot Insight dashboards...........................................................................................................................532
Operations dashboard............................................................................................................................ 533
Business dashboard.................................................................................................................................534
Editing a data profile............................................................................................................................... 535
Saving a dashboard................................................................................................................................. 536
Comparing dashboards.......................................................................................................................... 536
Deleting a dashboard..............................................................................................................................537
Customizing a dashboard......................................................................................................................537
Widgets overview................................................................................................................................................. 540
Adding a dashboard widget.................................................................................................................. 541

© 2020 Automation Anywhere. All rights reserved.    iv


    Automation Anywhere - Contents 

Editing a dashboard widget.................................................................................................................. 543


Drilling down information in dashboard widget............................................................................. 543
Renaming a dashboard widget............................................................................................................544
Exporting data from a dashboard widget......................................................................................... 544
Bot Insight APIs..................................................................................................................................................... 544
Bot Insight API details.............................................................................................................................545
Index...................................................................................................................................................................................... 551

© 2020 Automation Anywhere. All rights reserved.    v


    Automation Anywhere - Explore

Explore
Welcome to the Explore pages for Automation Anywhere Enterprise A2019. This collection of topics is
designed to introduce you to our latest RPA and Intelligent Automation platform.

Overview

Enterprise A2019 is the RPA industry’s first purely web-based Intelligent Automation platform that is
cloud-native. Delivered in the Cloud or On-Premises, Enterprise A2019 is designed for ease of use by
all types of users across technical skill levels. The platform enables businesses of all sizes to achieve
unprecedented scale with enterprise-class security, data privacy, and reduced time to value and costs
of ownership. With Enterprise A2019, businesses can also leverage built-in artificial intelligence (AI)
capabilities and easily integrate third-party AI solutions, such as computer vision, natural language
processing, and predictive modeling—all with the simplicity of drag-and-drop AI into any automation
workflow.
The Enterprise A2019 platform also includes attended automation and plug-ins that enable business users
to automate tasks from within their business applications such as Microsoft Excel and Salesforce. This
capability makes automation of front-office processes easier, faster, and more cost-efficient.
Enterprise A2019 is available globally and in 10 languages, including English, French, German, Japanese,
Korean, Italian, Portuguese, Spanish, Simplified Chinese, and Traditional Chinese.

Resources

For a hands-on introduction to Enterprise A2019, see Training - What's New in A2019. This is a free
Automation Anywhere University course that provides an overview of core capabilities and features.

Note: To access this course, you must first be registered and logged in to your Automation Anywhere
University or A-People account.

Available products

The Enterprise A2019 platform includes the following offerings:


• Enterprise A2019 delivered in the cloud, hosted by Automation Anywhere with no client installation or
additional infrastructure required
• Enterprise A2019, the full platform delivered On-Premises
• Enterprise A2019 Free Trial, with 30 days to try the cloud-based offering with full tech support
included during the trial period
• Community Edition, a free web-based option for users to experience a wide-range of Enterprise
A2019 bot creation capabilities

Discover more about Automation Anywhere Enterprise by browsing these topics:

© 2020 Automation Anywhere. All rights reserved.     6


    Automation Anywhere - Explore

Enterprise A2019 Release Notes


This topic describes new capabilities, changed features, fixed features (resolved issues), security fixes,
deprecated features, and known behavior or limitations.
Follow the links to view the release note updates for the respective release.

Enterprise A2019 Build 2545 Release Notes


Release date: 25 February 2020
Review the new features, supported packages, changed features, fixed features, and known limitations in
Enterprise A2019 Build 2545.
• Enterprise A2019
• IQ Bot A2019
• Bot Insight A2019

Enterprise A2019 Build 2545

New features

Migrate 11.3.x TaskBots to A2019


Enterprise A2019
• Analyze whether you can migrate bots created in Enterprise client version 10.x using the Bot
Scanner.
Analyze reports
• Additional support is provided for packages and variables.
Package mapping for migration | Variable mapping for migration
• Multiple Bot Runner users are supported for bot migration.
Migrating a bot

Manage your automation as Work Items for resource optimization and workload automation
Enterprise A2019 and Community Edition
Divide your automation into small, logical modules called Work Items using the new Workload
Management feature. Process these Work Items simultaneously using queues to ensure that your
organization's automation goals are achieved with optimum resource utilization.
Use the workload module to create and manage workload queues and run bots on unattended
Bot Runners through the workload queues. Also, pass the Work Item attributes or values to the
bot from the Enterprise Control Room when you Run bot with queue with the help of Work Item
variables.
Workload management

© 2020 Automation Anywhere. All rights reserved.     7


    Automation Anywhere - Explore

New features

Install Enterprise Control Room on Red Hat Enterprise Linux 7.x and Linux CentOS 7.x
Enterprise A2019
Use the command line to install your Enterprise Control Room on your Linux servers in the
datacenter.
Installing Enterprise Control Room on Linux

Use wildcard characters in folder and file path fields in the Encrypt and Decrypt actions
Enterprise A2019 and Community Edition
Substitute an asterisk (*) for one or more unknown alphanumeric characters or symbols. This
maximizes the search results by returning all folders and files that contain the string that you have
specified.
Encrypt | Decrypt

Use system variables to return data from the computer that is connected to the running Bot agent
Enterprise A2019 and Community Edition
You can use the following system variables:
• AAControlRoom: Returns the URL of the Enterprise Control Room.
• CPUUsage: Returns the percentage utilization of the CPU.
• RAMUsage: Returns the RAM usage in megabytes.
• OSName: Returns the operating system.
• TotalRAM: Returns the total amount of RAM available.

Automate tasks in Oracle EBS and Forms with the Universal Recorder
Enterprise A2019 and Community Edition
Open Oracle EBS applications in a browser as Java applets, Java Web Start applications, or as a
thick client. The Universal Recorder can capture the following objects:
• Window/Tab
• Button
• Text box
• Label (read-only)
• Radio button
• Check box
• Table/Grid
• Scroll bar
• Menu
• Combo-box/Drop-down list

Supported packages

Package Version

Node Manager 2.0.2885


Application 2.0.0-20200131-085947

© 2020 Automation Anywhere. All rights reserved.     8


    Automation Anywhere - Explore

Package Version

Analyze 2.1.0-20200204-154550
Boolean 2.0.0-20200131-085949
Browser 2.0.0-20200127-180439
Clipboard 2.0.0-20200131-085958
Comment 2.0.0-20200130-183435
CSV/TXT 2.0.0-20200205-175938
Database 2.0.0-20200205-175940
Data Table 2.0.0-20200131-200235
Datetime 2.0.0-20200131-090006
Delay 2.1.0-20200131-090007
Dictionary 2.0.0-20200205-175946
Run DLL 2.0.0-20200205-230300
Email 2.0.0-20200206-135926
Error handler 2.0.0-20200130-183452
Excel basic 2.0.0-20200205-110122
Excel advanced 2.0.0-20200205-110012
File 2.0.0-20200131-090018
Folder 2.0.0-20200131-090021
FTP / SFTP 2.0.0-20200206-110020
IF/ELSE 2.0.0-20200131-090025
Image Recognition 2.0.0-20200131-090028
JavaScript 2.0.0-20200205-180013
Simulate keystrokes 2.0.0-20200205-105955
List 2.0.0-20200131-090039
Log To File 2.0.0-20200131-090040
Loop 2.0.0-20200131-090041
Message Box 2.0.0-20200131-090041
Migration 1.1.0-20200206-180601
Mouse 2.0.0-20200131-090044
Number 2.0.0-20200205-110015
OCR 2.1.0-20200131-090053
Office 365 Excel 2.0.0-20200205-180122
Office 365 Calendar 2.0.0-20200206-105949
Office 365 OneDrive 2.0.0-20200127

© 2020 Automation Anywhere. All rights reserved.     9


    Automation Anywhere - Explore

Package Version

PDF 2.1.0-20200131-090152
PGP 2.1.0-20200205-110117
Ping 2.0.0-20200131-090156
Play Sound 2.0.0-20200127-180654
Prompt 2.0.0-20200127-180707
Python Script 2.0.0-20200205-180148
Recorder 2.0.0-20200212
REST Web Service 2.0.0-20200206-110309
SAP 2.1.0-20200205-180245
Screen 2.0.0-20200131-090311
SNMP 2.0.0-20200207-090446
SOAP Web Service 2.0.0-20200127-180819
String 2.0.0-20200131-090323
System 2.0.0-20200205-110240
Terminal Emulator 2.0.0-20200131-090330
VBScript 2.0.0-20200205-180309
Wait 2.0.0-20200131-090335
Window 2.0.0-20200131-090337
XML 2.0.0-20200131-090339

Changed features

Updated layout for the summary report generated by Bot Scanner


The layout of the summary report is updated to provide information about the number of bots
scanned, and the commands and variables used in the scanned bots that are supported in A2019.
Analyze reports
Python script and VBScript packages return output without quotation marks
The actions in the Python script and VBScript packages now return output without any quotation
marks. For example, if the action previously returned "ABC" as the output, now the action returns
only ABC.

© 2020 Automation Anywhere. All rights reserved.     10


    Automation Anywhere - Explore

Fixed features

Feature Description

Simulate keystrokes package In a virtual machine using Remote Desktop


Protocol, the Keystrokes action now functions
properly without prompting a special characters
error.

IQ Bot A2019 Build 2545

The IQ Bot On-Premises version is available for this release with additional features or updates since the
last release. This IQ Bot version supports all the features and functionality available in IQ Bot Version
6.5.2.
IQ Bot feature comparison matrix
Review the compatibility of the IQ Bot A2019 On-Premises version with the corresponding Automation
Anywhere Enterprise Control Room On-Premises version.
IQ Bot version compatibility matrix

New features

IQ Bot On-Premises unified database


IQ Bot On-Premises Build 2545 now supports a unified database. You have to run a migration
script to migrate the databases of Builds 1089, 1598, and 2079 to Build 2545.
Run IQ Bot On-Premises Build 2545 migration script

Bot Insight A2019 Build 2545

New features

New Bot Insight homepage


The new homepage displays all the available dashboards in a single page and enables you to
directly access the dashboard of your choice. The smart search functionality enables you to
search for dashboards in the Search text field. The homepage also enables you to bookmark your
favorite dashboards and to sort the dashboards based on the following parameters:
• Dashboard Name
• Type
• Total Views
• Last Refreshed

Dashboards overview

© 2020 Automation Anywhere. All rights reserved.     11


    Automation Anywhere - Explore

New features

Operations dashboard
View information about the bots that are deployed on different Bot Runner machines and their
statistics based on the performance from the Bot Insight Operations dashboard. You can use this
information to enhance productivity and take measures based on real-time information for RPA
deployments.
You can directly access the Bots and Audit dashboards from the hyperlinks in the Operations
dashboard.
Operations dashboard

Transaction data
View data that is aggregated and logged by the bots when they are deployed in the Bot Runner
machines by using the Transaction data feature in the Profile menu. You can access this feature
from the Business dashboard.
Business dashboard

Exporting data from widgets


Export data that is generated by the various smart widgets to comma-separated value (CSV) files
on your local drive from the Custom Business dashboard. The export file for all the widgets,
except the Data Table Chart and the US Map, contains the following headers:
• Group
• Subgroup
• Metric
• Volume

The Data Table Chart export file contains all the headers that are present in the Data Table Chart.
The US Map export file contains the state codes, metric values, and the volume headers.
Exporting data from a dashboard widget

Visualization updates
Customize the widgets on the Bot Insight dashboards to gain insights for specific scenarios. The
following widgets are added to Bot Insight:
• Heat Map
• Data Table Chart

Bot Insight Visualizations

Known limitations

Using the Universal Recorder in Oracle EBS applications:


• The Select item by text action does not retrieve the value of a selected ListView object.
Workaround: Manually enter the item value after capturing the object control or use the Select item
by index action.

Note: Item index count starts at 1.

© 2020 Automation Anywhere. All rights reserved.     12


    Automation Anywhere - Explore

• At runtime, the Select item by text and Select item by index actions do not appear to select the item
specified in a PageTab object, but the bot successfully executes the action.
• At runtime, the Select item by text and Select item by index actions do not appear to select the item
specified in a ComboBox object, but the bot successfully executes the action.

Related reference
IQ Bot feature comparison matrix
IQ Bot version compatibility matrix
Related information
https://www.automationanywhere.com/in/lp/rpa-editions-comparison

Enterprise Version A2019 (Build 2094) Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in Enterprise Version A2019 (Build 2094).

Version A2019 Build 2094

Build 2094 contains updates for the following:


• Enterprise Community Edition
• Bot Insight A2019
• IQ Bot A2019
• On-Premises (Build 2079)

© 2020 Automation Anywhere. All rights reserved.     13


    Automation Anywhere - Explore

New features in Version A2019 Build 2094

Feature Description

Migration Migrate 11.3.x TaskBots to A2019.


• Run the Bot Scanner (previously called the
pre-migration utility) to analyze if your 11.x
bot (currently only 11.3.1, 11.3.2, and 11.3.2.x
versions are supported) can be migrated
to A2019. The utility generates a summary
report in HTML format and a separate report
for each bot in XML format.
Bot Scanner overview
• Migrate multiple TaskBots with dependent
TaskBots using a single Run-as user.
Migrating a bot
• As part of the bot migration process, you
can identify previously migrated TaskBots on
the bot selection page and preview a list of
the dependent TaskBots before finalizing the
migration.
Migrating a bot
• Analyze the status of individual bot
migrations and identify any unsupported
commands or attributes associated with the
migrated bot and its dependencies.
Migration reports
• Additional support is provided for packages
and variables.
Package mapping for migration

SAML 2.0 Switch an authenticated environment Enterprise


Control Room database to a SAML identity
provider (IDP).
Set up SAML authentication

Bot Deploy API The Bot Deploy API now includes /


automations/deploy and is introduced
to support the runAs user feature for Bot
deployment.
• The Bot Deploy API works only in Enterprise
public accounts, and not in Community
Edition.
• The API supports callback URL for
environments that have both the Enterprise
Control Room and callback server on the
same network.

© 2020 Automation Anywhere. All rights reserved.     14


    Automation Anywhere - Explore

Feature Description

Geo Presence The Geo Presence feature is a multi-tenant,


secure, scalable, Cloud Control Room
enhancement to securely communicate
with users and Bot Runners over a customer
network.
Exchange Web Services support Actions in the Email package enable users
to automate email-related operations using
Exchange Web Services (EWS).
Email package

Variables in place of an index or key value Data table, dictionary, list, and record type
variables can express index and key values as
variables.
Recursive Expression support

Copy bot The copy bot functionality retains the metadata


of the original bot, including captured images,
recorded objects, called files, and child bots.
Copy a bot

Excel actions to retrieve cell, column, or row The following actions enable users to retrieve
location location information from an Excel sheet and
save it to a variable.
• Get cell address
• Get column
• Get row

Recorder enhancements Users can discard the most recently captured


object while the Recorder is running.

Supported packages

Package Version

Node Manager 1.0.1891


Application 2.0.0-20191223-210256
Boolean 2.0.0-20191223-210258
Browser 2.0.0-20191223-210259
Clipboard 2.0.0-20191223-210308
Comment 2.0.0-20191223-210309
CSV/TXT 2.0.0-20191223-210310
Database 2.0.0-20191223-210312
DataTable 2.0.0-20191223-210802
DateTime 2.0.0-20191223-210316

© 2020 Automation Anywhere. All rights reserved.     15


    Automation Anywhere - Explore

Package Version

Delay 2.1.0-20191223-210318
Dictionary 2.0.0-20191223-210318
DLL 2.0.0-20191223-210742
Email 2.0.0-20200114-060001
Error Handler 2.0.0-20191223-210326
Excel 2.0.0-20200107-140225
Excel_MS 2.0.0-20200107-140116
File 2.0.0-20200114-060009
Folder 2.0.0-20200114-060012
FTP/SFTP 2.0.0-20191223-210334
If/Else 2.0.0-20191223-210336
IR 2.0.0-20191223-210339
JavaScript 2.0.0-20191223-210345
Keystrokes 2.0.0-20191223-210348
List 2.0.0-20191223-210350
LogToFile 2.0.0-20191223-210350
Loop 2.0.0-20191223-210352
MessageBox 2.0.0-20191223-210352
Migration 1.1.0-20200111-070201
Mouse 2.0.0-20191223-210355
Number 2.0.0-20191223-210402
OCR 2.1.0-20191223-210525
Office 365 Excel 2.0.0-20191231-170605
Office 365 Calendar 2.0.0-20191231-170422
Office 365 OneDrive 2.0.0-20191231-170612
PDF 2.1.0-20191223-210631
PGP 2.1.0-20191223-190649
Ping 2.0.0-20191223-210634
PlaySound 2.0.0-20191223-210636
Prompt 2.0.0-20191231-130717
Python 2.0.0-20191223-210644
Recorder 2.0.1-20200111-070529
Rest 2.0.0-20191231-120639
SAP 2.1.0-20191223-210745

© 2020 Automation Anywhere. All rights reserved.     16


    Automation Anywhere - Explore

Package Version

Screen 2.0.0-20191223-210748
SNMP 2.0.0-20191223-210752
SOAP 2.0.0-20191210-081952
String 2.0.0-20200114-110316
System 2.0.0-20191223-210800
Terminal Emulator 2.0.0-20191223-210806
VBScript 2.0.0-20191223-210809
Wait 2.0.0-20191223-210812
Window 2.0.0-20191223-210814
XML 2.0.0-20191223-210815

Changed features

Feature Description

Office 365 packages authorization Authorize each Office 365 package separately
through the Connect package in each package.
Using the Connect action

Fixed features

Feature Description

Bot agent In the Enterprise Control Room, upgrading to


the latest Bot agent version now successfully
executes the bot without any prompted error
messages. See Manually update the Bot agent.
Excel advanced package In the Excel advanced package, the Close
action now terminates only a specific open
session as defined by the session name.
Keystrokes The Keystrokes command now functions
properly with the Japanese keyboard layout.

Security fixes

The security fixes in this release have not changed since the previous release. For a list of these fixes, see
Enterprise Version A2019 (Builds 1598 and 1610) Release Notes.

© 2020 Automation Anywhere. All rights reserved.     17


    Automation Anywhere - Explore

Deprecated features

The deprecated features in this release have not changed since the previous release. For a list of these
deprecations, see Enterprise Version A2019 (Builds 1598 and 1610) Release Notes.

Known limitations in Build 2094

• Migration
• When selecting a bot for migration, values for the Last Migrated and Migrated By columns might
differ for the same bot in the Available Files and Selected tables.
• The "System" value in the Migrated By column indicates that the bot has not been migrated
previously.
• When viewing commands and variables associated with each migrated bot, you should only see
the unsupported commands and variables. Currently, all commands and variables are shown.

IQ Bot A2019 Build 2079

IQ Bot On-Premises version is available for this release with no additional features or updates since the
last release. This version is based on IQ Bot Version 6.5.2 feature and functionality.
IQ Bot feature comparison matrix
IQ Bot A2019 On-Premises version is compatible with the corresponding Automation Anywhere
Enterprise Control Room On-Premises version.
IQ Bot version compatibility matrix
For a fresh Enterprise Control Room installation, the user has to upload the IQ Bot package manually.
See Add packages to the Enterprise Control Room for details.
The package can be downloaded from https://apeople.automationanywhere.com/s/downloads.

IQ Bot fixed features

The fixed features in this release have not changed since the previous release.

IQ Bot security fixes

The security fixes in this release have not changed since the previous release.

IQ Bot deprecated features

The deprecated features in this release have not changed since the previous release.

IQ Bot known limitations

There are no new known limitations in this release.

© 2020 Automation Anywhere. All rights reserved.     18


    Automation Anywhere - Explore

Bot Insight new features in Build 2094

Feature Description

Visualizations The Visualization widget in the Bot Insight


dashboard provides a host of highly
customizable widgets that you can use to
gain insights on specific scenarios. Vertical
and horizontal Clustered and Stacked bars are
added.
Adding a dashboard widget

Bot Insight changed features

The changed features in this release have not changed since the previous release.

Bot Insight fixed features

The fixed features in this release have not changed since the previous release.

Bot Insight deprecated features

The deprecated features in this release have not changed since the previous release.

Bot Insight known limitations

The known limitations in this release have not changed since the previous release.
Related reference
IQ Bot feature comparison matrix
IQ Bot version compatibility matrix

Enterprise Version A2019 (Builds 1598 and 1610) Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in Enterprise Version A2019 (Builds 1598 and 1610).

Version A2019 Builds 1598 and 1610

Build 1598 contains updates for the following:


• Enterprise Community Edition
• Bot Insight
• IQ Bot A2019

Build 1610 contains updates for the following:


• On-Premises

© 2020 Automation Anywhere. All rights reserved.     19


    Automation Anywhere - Explore

• Bot Insight
• IQ Bot A2019

New features in Version A2019 Builds 1598 and 1610

Feature Description

Pre-migration utility for On-Premises The Automation Anywhere pre-migration utility evaluates
your 11.x bots for migration to A2019.
Run the pre-migration utility to verify whether your
existing 11.x bots can be migrated to A2019. Use the
summary report generated by the utility to identify the
bots that can and cannot be migrated and decide if you
want to start the migration.

Note: This is an initial version of the pre-migration utility.


We plan to include updates to the utility in upcoming
releases to help migrate most of your bots.

On-Premises Windows installer A2019 On-Premises Windows installer is certified for


Azure.
Bot Creator and Bot Runner on Azure Users can create and execute bots for devices on Azure
Cloud Cloud.
Action localization Labels, buttons, and tooltips are localized to the
supported language set.
Updated action packages • Additional REST Web Service error codes for better
troubleshooting of API calls
• PGP package for encrypting and decrypting files
• Improvements to SAP actions

Control Room to a SAML-based, SSO- A2019 integrates with SAML identity providers (IDPs).
authenticated Control Room Post installation, administrators can switch the Control
Room to a SAML-based, SSO-authenticated Control
Room.
Move email messages to different The Move message command enables the user to move
folder all the filter-matched emails to a different folder.

Supported packages

Package Version

Node Manager 1.0.2110


Application 2.0.0-20191128-060339
Boolean 2.0.0-20191128-060340
Browser 2.0.0-20191128-060342

© 2020 Automation Anywhere. All rights reserved.     20


    Automation Anywhere - Explore

Package Version

Clipboard 2.0.0-20191128-060350
Comment 2.0.0-20191128-060351
CSV/TXT 2.0.0-20191128-060352
Database 2.0.0-20191128-060354
DataTable 2.0.0-20191128-060707
DateTime 2.0.0-20191128-060358
Delay 2.1.0-20191128-060359
Dictionary 2.0.0-20191128-060400
DLL 2.0.0-20191128-060648
Email 2.0.0-20191205-100336
Error Handler 2.0.0-20191128-060404
Excel 2.0.0-20191128-060547
Excel_MS 2.0.0-20191128-060434
File 2.0.0-20191128-060407
Folder 2.0.0-20191128-060409
FTP/SFTP 2.0.0-20191128-060412
If/Else 2.0.0-20191128-060414
IR 2.0.0-20191121-100240
JavaScript 2.0.0-20191128-060423
Keystrokes 2.0.0-20191128-060426
List 2.0.0-20191128-060427
LogToFile 2.0.0-20191128-060428
Loop 2.0.0-20191128-060429
MessageBox 2.0.0-20191128-060429
Mouse 2.0.0-20191128-060430
Number 2.0.0-20191128-060437
OCR 2.1.0-20191121-100301
PDF 2.1.0-20191128-060540
PGP 2.1.0-20191129-100500
Ping 2.0.0-20191128-060544
PlaySound 2.0.0-20191128-060545
Prompt 2.0.0-20191128-150505
Python 2.0.0-20191128-060553
Recorder 1.0.45-20190904-210340

© 2020 Automation Anywhere. All rights reserved.     21


    Automation Anywhere - Explore

Package Version

Rest 2.0.0-20191128-060646
SAP 2.1.0-20191128.003143-259
Screen 2.0.0-20191121-100518
SNMP 2.0.0-20191128-060656
String 2.0.0-20191128-060704
System 2.0.0-20191128-150557
Terminal Emulator 2.0.0-20191128-060711
VBScript 2.0.0-20191121-110553
Wait 2.0.0-20191128-060716
Window 2.0.0-20191128-060718
XML 2.0.0-20191017-030831

Fixed features

The fixed features in this release have not changed since the previous release. For a list of these features,
see Enterprise Version A2019 (Builds 1082 and 1089) Release Notes.

Security fixes

The security fixes in this release have not changed since the previous release. For a list of these fixes, see
Enterprise Version A2019 (Builds 1082 and 1089) Release Notes.

Deprecated features

The deprecated features in this release have not changed since the previous release. For a list of these
deprecations, see Enterprise Version A2019 (Builds 1082 and 1089) Release Notes.

Known limitations in Builds 1598 and 1610

• IQ Bot is not supported in Automation Anywhere Cloud and users cannot register any IQ Bot instance
with the Cloud Control Room.
• If a bot is deployed on a device, no other bots can be deployed on that device until the first bot has
completed the deployed task.
• When deploying a bot using Unattended Bot Runner on a virtual machine with Windows 10 desktop,
users have to enable remote access to the device (Control Panel > System Properties > Allow
Remote Access).
• Deploying a bot with Bot Runner on a locked device will leave that device in an unlocked state.
• A Bot Creator is not able to view devices as assigned by the Control Room administrator. With this
release, changes to the basic role has removed the View and manage all devices permission so that
unless this permission is expressly granted by the Control Room administrator, the Bot Creator will
no longer be able to see other devices in the Control Room. Bot Creators can register their devices
directly; however, they will not be able to see the other devices in the Control Room.

© 2020 Automation Anywhere. All rights reserved.     22


    Automation Anywhere - Explore

• Unable to deploy bots from a private workspace using the wizard. Bot Creators can deploy bots from
the editor.
• If users have set up Active Directory for Control Room authentication, changing to SAML or Control
Room Database is not supported.
• Device pool administrators can delete a device pool after automation is scheduled and assigned to
the pool.
• Users without SMTP can still import bots and packages.
• When users delete a bot from the Public workspace, the same bot is deleted from the Private
workspace as well.
• Elastic Search Disaster Recovery backup is not supported.
• Using the Run Task action with the child task using triggers is not supported.
• User cannot export a bot with dependencies if that user does not have access to any of the related
dependencies.
• Users cannot check out bots if they are linked through circular dependencies.
• Minimizing the window for some Microsoft Active Accessibility apps, such as Notepad, Calculator,
and/or Remote Desktop Applications, can cause the operation to fail.
• UI Automation, such as Snagit Editor Window for example, will not work in the background unless
expressly minimized.
• UI Triggers are not generating events with Snagit Editor or Inflow app.
• Applications such as calculator use different technologies on Windows 10 vs. Windows 2012 or other
servers. In these cases, when a bot is created in one server configuration, the bot cannot be carried to
another server. User triggers in these cases will not trigger bot deployment and there are no errors in
the trigger listener or node manager logs.
• UI Triggers that are configured with multiple triggers are taking as much as 25 seconds to complete.
• UI Triggers with a single capture and a filter do not work with files larger than 2 MB.
• Button events where a user is switched from one window to a new window of an application fail to
deploy a bot when listening for UI Triggers.
• For Automation Anywhere Elastic Search Service users, the C:\ProgramData
\AutomationAnywhere folder has to be removed before installing A2019.
• Users cannot enable SMTP with TLS for the On-Premises version of the Enterprise Control Room (On-
Premises only).
• User credentials are not editable (On-Premises only).
• Even when a newly added device is registered correctly, the indication icon does not turn green.
• Activity - In Progress table is not cleaning event records until the user performs a hard refresh (F5) of
the browser.
• Domains are not shown for the Device/Run as tab when creating a role. This option is also missing
when running a bot.
• Node manager is not able to establish a handshake SSL connection to the Control Room running on
SSL certificate (On-Premises only).
• Repository Management API is incomplete; there is only one URL in the Swagger file.
• Device pools display completed automations, not scheduled automations.
• If a user is not the device pool administrator, the devices are not correctly displayed when editing a
device pool.
• For an Unattended Bot Runner, with a device assigned and auto-login credentials set, and Run as self
selected, the Run now option is disabled.
• When a user is running a bot from the Run Wizard and the Bot agent requires an update, after the user
has updated the agent from the pop-up box, the user cannot deploy the bot until the user navigates
back to the previous page and returns to the workflow to run the wizard.
• Folder triggers do not deploy bots when a folder change event occurs.

© 2020 Automation Anywhere. All rights reserved.     23


    Automation Anywhere - Explore

IQ Bot A2019 Builds 1598 and 1610

IQ Bot On-Premises version is available for this release with no additional features or updates since the
last release.

IQ Bot changed features

IQ Bot is compatible with A2019 Builds 1598 and 1610.

IQ Bot fixed features

The fixed features in this release have not changed since the previous release.

IQ Bot security fixes

The security fixes in this release have not changed since the previous release.

IQ Bot deprecated features

The deprecated features in this release have not changed since the previous release.

IQ Bot known limitations

There are no new known limitations in this release.

Bot Insight new features in Builds 1598 and 1610

Feature Description

Operation dashboard The Operation dashboard in Bot Insight displays


the Audit dashboard.
You can search for the dashboards using the
Search text box. You can also customize the
dashboards based on your requirements.
Role-based access control and permissions
are applied to the dashboards so that the
dashboard shows data only a specific user is
authorized to view.
See Operations dashboard .

Analytic visualization widgets The following new widgets are added:


• Stacked Bar Chart
• Clustered Bar Chart

See Adding a dashboard widget.

© 2020 Automation Anywhere. All rights reserved.     24


    Automation Anywhere - Explore

Bot Insight changed features

The changed features in this release have not changed since the previous release.

Bot Insight fixed features

The fixed features in this release have not changed since the previous release.

Bot Insight deprecated features

The deprecated features in this release have not changed since the previous release.

Bot Insight known limitations

The deprecated features in this release have not changed since the previous release.

Enterprise Version A2019 (Builds 1082 and 1089) Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in Enterprise Version A2019.

Version A2019 Builds 1082 and 1089

Build 1082 contains updates for the following:


• Enterprise Community Edition
• Bot Insight

Build 1089 contains updates for the following:


• On-Premises
• IQ Bot A2019
• Bot Insight

New features in Version A2019 Builds 1082 and 1089

Feature Description

Universal recorder support for SAP The universal recorder now supports the SAP graphical
interface for fast and accurate control and ease of
editing generated scripts.
Citrix support Citrix agent enables remote application recording for
object cloning on Citrix servers and leverages ICA to
create user sessions.

© 2020 Automation Anywhere. All rights reserved.     25


    Automation Anywhere - Explore

Feature Description

Enhanced code editing Select multiple lines of code in editor to copy, move,
disable, enable, as well as disable/enable a line of an
action in a bot script.
Users can run bots from a particular line of code or
action inside the bot.

Bot import and export Users can export bots with dependencies into a
common zip file, including all actions. Users can
manually exclude packages from the export process.
All imported action packages will be automatically
installed into the target Cloud Control Room and the
bots placed inside the user private workspace.

Background processing Background processing for Citrix Virtual Apps and


Windows native applications. Excel packages inherently
support background processes.
REST package Support for GET, POST (text, XML, and HTML), PUT,
and DELETE methods. Authentication types supported
include Basic, Logged-in AD user, and NTLM.
OCR Action Users can capture window and capture image by path.
Active Directory integration for On- Allowing auto-discovery of sites and domains,
Premises Automation Anywhere Enterprise Version A2019 On-
Premises integrates Active Directory to support multi-
domain as well as multi-forest deployments.

Supported packages

Package Version

Node Manager 1.0.1745


Application 2.0.0-20191016.213334-22
Boolean 2.0.0-20191017-030403
Browser 2.0.0-20191017-030404
Clipboard 2.0.0-20191016.213334-16
Comment 2.0.0-20191017-030408
CSV/TXT 2.0.0-20191017-030409
Database 2.0.0-20191017-030411
DataTable 2.0.0-20191029.062940-3
DateTime 2.0.0-20191017-030416
Delay 2.1.0-20191017-030417
Dictionary 2.0.0-20191017-140648
DLL 2.0.0-20191031-100332

© 2020 Automation Anywhere. All rights reserved.     26


    Automation Anywhere - Explore

Package Version

Email 2.0.0-20191024-120209
Error Handler 2.0.0-20191031-100110
Excel 2.0.0-20191024-160417
Excel_MS 2.0.0-20191101-120011
File 2.0.0-20191017-140654
Folder 2.0.0-20191017-140657
FTP/SFTP 2.0.0-20191023-181858
If/Else 2.0.0-20191017-030432
IR 1.0.0-20190923-115359
JavaScript 2.0.0-20191031-100128
Keystrokes 2.0.0-20191018-100419
List 2.0.0-20191017-030447
LogToFile 2.0.0-20191017-030447
Loop 2.0.0-20191017-030449
MessageBox 2.0.0-20191017-030449
Mouse 2.0.0-20191017-030450
Number 2.0.0-20191029-100152
OCR 2.1.0-20191017-030626
PDF 2.1.0-20191017-030713
Ping 2.0.0-20191017-030715
PlaySound 2.0.0-20191024-160415
Prompt 2.0.0-20191024-160423
Python 2.0.0-20191031-100238
Recorder 1.0.45-20190904-210340
Rest 2.0.0-20191024-090501
SAP 2.1.0-20191031-100334
Screen 2.0.0-20191017-030809
SNMP 2.0.0-20191023-181621
String 2.0.0-20191025-221016
Terminal Emulator 2.0.0-20191023-181907
VBScript 2.0.0-20191031-100352
Wait 2.0.0-20191017-030828
Window 2.0.0-20191017-030829
XML 2.0.0-20191017-030831

© 2020 Automation Anywhere. All rights reserved.     27


    Automation Anywhere - Explore

Changed features

Changed features

TaskBot All rich features of MetaBot, such as DLL and


code protection using execute permission,
are now part of a standard TaskBot. This also
includes inline scripting using Python, VBScripts,
and more to help reduce the learning curve
for new users and provides a uniform bot
development experience.

Fixed features

The fixed features in this release have not changed since the previous release. For a list of these features,
see Enterprise A2019 (Build 550) Release Notes.

Security fixes

The security fixes in this release have not changed since the previous release. For a list of these fixes, see
Enterprise A2019 (Build 550) Release Notes.

Deprecated features

The deprecated features in this release have not changed since the previous release. For a list of these
deprecations, see Enterprise A2019 (Build 550) Release Notes.

Known limitations in Builds 1082 and 1089

• IQ Bot is not supported in Automation Anywhere Cloud and users cannot register any IQ Bot instance
with Cloud Control Room.
• To create database tables in Cloud Control Room where internet access is restricted and deploying
Liquibase, users are required to unblock the Java process to connect to www.liquibase.org in order to
download the schema and allow java.exe to have internet access.
• The Folder trigger has the following event options: create, modify, and delete. The File trigger only has
the modify and delete event options. See Triggers for more information.
• A bot cannot have duplicate Triggers that point to the same directory.
• Using the action Run Task with the child task using triggers is not supported.
• Activity - In Progress is not cleaning the event record until user does hard refresh (F5) of the browser.
• User cannot export a bot with dependencies if that user does not have access to any of the related
dependencies.
• Users cannot checkout bots if they are linked via circular dependencies.
• Minimizing the window for some Microsoft Active Accessibility apps, such as Notepad, Calculator,
and/or Remote Desktop Applications, can cause the operation to fail.
• UI Automation, such as Snagit Editor Window for example, will not work in the background unless
expressly minimized.
• If the system Citrix plugin is not updated, the Recorder will not launch.

© 2020 Automation Anywhere. All rights reserved.     28


    Automation Anywhere - Explore

• If the user renames a previously saved recorder bot, a download error is generated and results in loss
of images.
• For Elasticsearch users, remove the C:\ProgramData\AutomationAnywhere folder prior to
installing A2019.
• Users cannot enable SMTP with TLS for the on-premises version of the Enterprise Control Room (On-
Premises only).
• User credentials are not editable (On-Premises only).
• Installer fails to create credentials using Windows Authentication. Use SQL Authentication service
credentials (On-Premises only).
• In an On-Premises environment, creating credentials with the Credential Vault is not supported in this
release.
• When using the Recorder with Citrix in an On-Premises deployment, the Citrix Agent could generate
an internal server error during the recording process.

IQ Bot A2019 Builds 1082 and 1089

IQ Bot Community Edition is available for this release. IQ Bot is not yet available on Automation
Anywhere Enterprise Cloud.
See IQ Bot Community Edition Quick Start Guide.

IQ Bot changed features

IQ Bot is compatible with A2019 Build 1089.

IQ Bot fixed features

IQ Bot UI localization issues are fixed.

IQ Bot security fixes

The security fixes in this release have not changed since the previous release.

IQ Bot deprecated features

The deprecated features in this release have not changed since the previous release.

IQ Bot known limitations

For On-Premises, if IQ Bot and Enterprise Control Room are installed on the same machine, on restarting
the machine, IQ Bot does not work, and displays an error message.

Note: We recommend restarting Automation Anywhere Control Room Reverse Proxy service to resolve
the issue.

© 2020 Automation Anywhere. All rights reserved.     29


    Automation Anywhere - Explore

Bot Insight new features in Builds 1082 and 1089

Feature Description

Smart data profiling for country, state, and zip Bot Insight analyzes information provided in the
codes variables to automatically identify information
based on the country, state, and zip or postal
code. You can use this information to create
the World and US Map widgets.
See Editing a data profile.

Business data delete API Use this API to delete logged data from either
the production mode or the development
mode for a particular Enterprise Control Room
instance.
See Bot Insight API details.

Business data profile API Use this API to extract the business data profile
logged in Bot Insight.
See Bot Insight API details.

Business data API Use this API to extract the business data logged
in Bot Insight.
See Bot Insight API details.

Resize dashboard widgets You can resize and save the widgets in the Bot
Insight dashboard based on your requirements.
When you resize a dashboard widget, other
widgets in the dashboard are automatically
adjusted to fill in the available layout.
See Editing a dashboard widget.

US map widget The US Map widget enables you to visualize and


analyze information about Country, State, City,
and Zip Code.
See Adding a dashboard widget.

World map widget The World Map widget enables you to visualize
and analyze information about Country, State,
Zip Code, Latitude, and Longitude.
See Adding a dashboard widget.

Parent child dashboard When you create a new bot, Bot Insight
automatically creates a default dashboard.
If you have a parent bot and a child bot, Bot
Insight creates a separate dashboard for each of
the bots.
See Dashboards overview.

© 2020 Automation Anywhere. All rights reserved.     30


    Automation Anywhere - Explore

Feature Description

Notification of variable updates in the standard Data profile updates are highlighted with a red
dashboard dot in the standard dashboard.
See Customizing a dashboard.

Data logging When you deploy and run a bot on the Bot
Runner machine, Bot Insight aggregates all
the information about that bot. The published
dashboard for that bot displays the aggregated
bot information.
See Dashboards overview.

Bot Insight The Analyze package provides the following


functions to enable business analytics in the Bot
Insight dashboard:
• Analyze Open
• Analyze Close

Bot Insight changed features

The changed features in this release have not changed since the previous release.

Bot Insight fixed features

The fixed features in this release have not changed since the previous release.

Bot Insight deprecated features

The deprecated features in this release have not changed since the previous release.

Bot Insight known limitations

The known limitations in this release have not changed since the previous release.

© 2020 Automation Anywhere. All rights reserved.     31


    Automation Anywhere - Explore

Enterprise A2019 (Build 550) Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in Enterprise A2019 (Build 550).

New features in A2019 Build 550

Feature Description

On-premises installer The on-premises installation application for Enterprise


A2019.
IQ Bot supports IE11 IQ Bot A2019 (Build 550) supports Internet Explorer
version 11 (IE11).
Download all documents action Use the Download all documents action to download
the extracted results from an IQ Bot server that was
created by running a TaskBot, using the Upload
Document action.

Supported packages in Build 550

The supported packages in this release have not changed since the previous release. For a list of these
packages, see Enterprise A2019 (Build 543) Release Notes.

Changed features

IQ Bot A2019 (Build 550) Changed Features


Issue Description

Language toggle UI redesigned On the IQ Bot landing page, user can click
the language toggle at the top right corner, to
select a language from the drop-down list. The
UI displays in the selected language.
User can select a language from either the
Enterprise Control Room or IQ Bot language
toggle icon.

Note: After logging out of the system, the


system performs a reset. This requires the user
to select the language again at login.

Upload document action The Upload document action lets you to upload
documents for processing with IQ Bot, using a
TaskBot.

© 2020 Automation Anywhere. All rights reserved.     32


    Automation Anywhere - Explore

Fixed features

IQ Bot A2019 (Build 550) fixed features:


• Japanese documents using Microsoft Azure Computer Vision OCR engine get classified correctly.
• In the Designer window, during document training, user is able to move from one page to the other
successfully along with mapping of form and table fields.
• Download API can download successfully processed documents after moving the bot and learning
instance to production.

Security fixes

No security features are introduced in this build.

Deprecated features

No deprecated features are introduced in this build.

Known limitations

IQ Bot A2019 (Build 550) known limitations:


• When using Internet Explorer (IE) 11, icons disappear after a page refresh. A hard refresh (Ctrl+F5)
helps fix the issue.
• When using Internet Explorer (IE) 11, if user imports a domain, the system shows an error message.
However, the feature works as expected.
• User is unable to migrate IQBA files from other versions of IQ Bot.
• IQ Bot portal does not launch after a machine restart. User has to restart Automation Anywhere
Control Room Reverse Proxy Service as well.

© 2020 Automation Anywhere. All rights reserved.     33


    Automation Anywhere - Explore

Enterprise A2019 (Build 543) Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in Enterprise A2019 (Build 543).

New features in A2019 Build 543

Feature Description

Next generation bot workbench Create bots from any device, from anywhere through
a web browser. The intuitive new design for applying
multiple personas with varying bot building skills and
a redesigned work area for simple assembly and
deployment. These include:
• A universal recorder to simplify capturing processes
• List and Flow views for TaskBot creation
• Powerful bot code management capabilities
• Rich variable passing with no cross-language
mapping required

Bot Runner Access and run bots from the cloud. When bots are
deployed to Bot Runners, any dependent actions are
also deployed. When updates to Actions are available,
the updates are also automatically pushed.
Package manager The package manager centralizes control over bundled
actions to enable users to deploy and upgrade only
those targeted actions being used.
Advanced variable types Access expanded variables and array types for enhanced
action implementation, including DateTime, numbers,
list, Boolean, dictionary, multi-dimension arrays for
reading Microsoft Excel documents, and file data
column for .CSV files.
Inline scripting Native support for Python and VBScript inline scripting
languages enables simple data passing between scripts
and bots.
New UX The new user experience provides assistance for users
who are getting started and includes step-by-step
guidance for common tasks.
Excel automation Configure Microsoft Excel TaskBot automation without
installing Microsoft Office on the Bot Runner machine.
Recording of automation Record automation, even from a remote device.
IQ Bot Enterprise A2019 will fully support IQ Bot, the only AI-
driven solution for users to automate processing of
complex documents.

© 2020 Automation Anywhere. All rights reserved.     34


    Automation Anywhere - Explore

Feature Description

Bot Insight The Analyze package provides the following functions to


enable business analytics in the Bot Insight dashboard:
• Analyze Open
• Analyze Close

Table 1: Supported packages in Build 543

Package Version

Node Manager 1.0.1221


Application 1.0.0-20190919.040305-1231
Boolean 1.0.0-20190919.040305-1435
Browser 1.0.0-20190919.040305-1287
Clipboard 1.1.0-20190919.040305-1492
Comment 1.0.0-20190919.040305-633
CSV/TXT 1.2.0-20190919.040305-1349
Database 1.1.0-20190919.040305-1287
DateTime 1.0.0-20190919.040305-1189
Delay 1.1.0-20190919.040305-1492
Dictionary 1.0.0-20190919.040305-1337
DLL 1.0.0-20190920.070246-677
Email 1.0.0-20190919.040305
Error Handler 1.0.0-20190919.040305-1333
Excel 1.1.0-20190921.042722-1353
Excel_MS 1.0.0-20190921.042722-1309
File 1.0.0-20190919.040305-1382
Folder 1.0.0-20190919.040305-1337
FTP/SFTP 1.0.0-20190919.040305-660
If/Else 1.0.0-20190919.040305-1375
IR 1.0.0-20190923.062209-1140
JavaScript 1.0.1-20190919.040305-989
Keystroke 1.1.0-20190919.040305-1492
List 1.0.0-20190919.040305-1466
Log to File 1.1.0-20190919.040305-1456
Loop 1.0.0-20190919.040305-1466
Message Box 1.1.0-20190919.040305-1492

© 2020 Automation Anywhere. All rights reserved.     35


    Automation Anywhere - Explore

Package Version

Mouse 1.1.0-20190919.040305-1492
Number 1.0.0-20190919.040305-1148
PDF 1.1.0-20190919.040305-1492
Ping 1.0.0-20190919.040305-1319
PlaySound 1.0.0-20190919.054049-118
Prompt 1.1.0-20190919.040305-1180
Python 1.0.3-20190919.040305-1287
Recorder 1.0.45-20190904.153347-191
RunTask 1.1.0-20190701.181500-763
SAP 1.1.0-20190923.152217-493
Screen 1.0.0-20190919.040305-1105
SNMP 1.0.0-20190919.040305-359
Step 1.0.0-20190701.181442-695
String 1.1.0-20190919.040305-1469
Table 1.0.0-20190919.040305-719
VBScript 1.0.1-20190919.040305-1334
Wait 1.0.0-20190919.040305-1287
Window 1.0.0-20190919.040305-1333
XML 1.0.0-20190919.040305-717

Changed features

This build does not include any changed features.

Fixed features

No fixed features are introduced in this build.

Security fixes

No security fixes are introduced in this build.

Deprecated features

No deprecated features are introduced in this build.

© 2020 Automation Anywhere. All rights reserved.     36


    Automation Anywhere - Explore

Known limitations

Feature Limitation description

Recorder .NET Framework 4.6.1 is required for the


Recorder package.
Bot agent Users of build 543 are required to download
and install the latest agent.
Bot Insight Bot Insight has the following limitations:
• Bot Insight dashboard does not support the
drag and drop function to move and arrange
the dashboard widgets within the dashboard.
• The Date widget in the dashboard displays
the Unix time stamp.
• Bot Insight does not support the Aggregate
By feature in the Table widget, if the table
contains a Timestamp.
• Once the bots run successfully, the default
dashboard is generated after 5 to 10
seconds.

Enterprise A2019 FAQ


For details and questions on the latest Automation Anywhere platform, Enterprise A2019, review this FAQ.

What is Enterprise A2019? Enterprise A2019 delivers a browser-based,


intuitive experience for business users to
easily automate tasks and powerful tools for
developers to build process automation, delivering
security, governance, and control on a scalable
infrastructure for IT.
What is included in Enterprise A2019? Everything to build the bots you need to
automate your business processes: Control Room
cluster, Bot Workbench, Bot Runner, Universal
Recorder, Enterprise-grade security certifications,
support, access to the Bot Store, and courses on
Automation Anywhere University.
How is Enterprise A2019 deployed? Enterprise A2019 can be deployed On-Premises as
well as in the Cloud.
For Enterprise A2019 On-Premises deployment,
the installation is on the customer’s servers. With
the web-based nature of the Bot Creator, there is
no installation or deployment required on the user
machines, resulting in a significant reduction in
total cost of ownership (TCO).
For Enterprise A2019 deployed in the Cloud, the
platform is available as a true software-as-a service

© 2020 Automation Anywhere. All rights reserved.     37


    Automation Anywhere - Explore

(SaaS) experience. Automation Anywhere offers


this SaaS experience as a turnkey solution where
the buyers do not have to worry about choosing
the cloud provider, or any other infrastructure
elements– Automation Anywhere takes care of
it all. Admins get the complete set of features
for user management, security, governance,
and control that they also access through a web
browser. The end users can then access the
platform using their browser, log in, and start
creating their bots.

What additional cloud hosting options are Enterprise A2019 can be hosted on AWS, Microsoft
available? Azure, Google Cloud, IBM, and any public, private,
or hybrid cloud service.
What scripting languages does Enterprise A2019 Enterprise A2019 supports Python and VBScript.
support?
Is Enterprise A2019 available in languages other Yes, Enterprise A2019 is available in 10 languages:
than English? English, French, German, Italian, Japanese, Korean,
Portuguese, Spanish, Simplified Chinese, and
Traditional Chinese.
How is Enterprise A2019 updated? For Cloud deployed Enterprise A2019, customers
are always on the latest version with updates rolled
out by Automation Anywhere on a regular basis.
For features such as action packages, admins and
users have the ability to test the latest packages
before choosing to accept the update.
For On-Premises customers, regular updates
are made available through the customer portal,
providing admins an opportunity to keep their
business-wide installation on the version of their
choice.

What are some of the data privacy and security Enterprise A2019 (Cloud deployed and On-
aspects of Enterprise A2019? Premises) includes enterprise-class security and
data privacy out of the box. All the process and
personally identifiable information (PII) data resides
in the on-prem Bot agent on the customers'
infrastructure behind its own firewall. This data is
never exchanged with the cloud unless the bot is
explicitly told to share it.
Data privacy includes AES 256-bit encryption
for data at rest and TLS/1.2 for network/data in
motion, as well as Kerberos-based active directory
(AD) authentication. Its microservices architecture
leverages the latest in web-scale security methods
keeping bots, data, and users secure. No personal
data is goes outside of the environment–unless
you tell it to; it remains completely under the
control of the IT manager.
Enterprise A2019 meets the following regulatory
requirements for security: PCI, GLBA, GDPR,
FISMA, OWASP, and SOC2. Enterprise A2019

© 2020 Automation Anywhere. All rights reserved.     38


    Automation Anywhere - Explore

deployed in the Cloud also employs industry best


practices for security including L7 load balancing,
Web Application Firewall, and private networking to
control access.

Related concepts
Enterprise A2019 Release Notes
This topic describes new capabilities, changed features, fixed features (resolved issues), security fixes,
deprecated features, and known behavior or limitations.

Automation Anywhere Enterprise Overview


The Automation Anywhere Enterprise Digital Workforce platform is the foundation to deliver the
automation of complex business work, securely, and at scale.
Automation Anywhere leads the industry with the largest installed base of bots (automation tasks are
called bots) – a bot install base that is many times larger than its closest competitor. This large install
base, and corresponding product maturity, translates into a more robust and resilient product with a
depth and breadth of features unparalleled in the Robotic Process Automation (RPA) space. Automation
Anywhere's bots have proven capable of automating thousands of applications across varying
infrastructures and industries, including some of the world's largest Banks and Telecommunication
companies. This is the reason seventeen of the top twenty Business Process Outsourcers (BPOs) have
chosen Automation Anywhere to deliver their Enterprise-class Digital Workforce.
Automation Anywhere Enterprise has been designed to gradually scale up to match each step of the RPA
journey. It avoids imposing complexity in the early stages to ensure short time-to-benefit and reduced
up-front expense. No heavy workflow methodologies or burdensome infrastructure requirements
are there during the initial phases. Once initial pilots are ready to scale up, the centralized Enterprise
Control Room delivers the automated provisioning, orchestration and controls required for large
scale deployments. From desktops to datacenter and cloud-based scale-ups, Automation Anywhere
distinguishes itself by delivering Enterprise-class management and control, without diminishing rapid time
to value, across any infrastructure.

Enterprise Control Room overview


The Enterprise Control Room manages, schedules, executes, and configures various capabilities of bots
and Bot Runners using a collection of specialized web services.

Components

The Enterprise Control Room is a centralized management point for all bots. A reverse proxy is
responsible for listening for remote connection requests and forwarding those requests to the correct
specialized service. The following figure shows the Enterprise Control Room components and general
data center interaction.

© 2020 Automation Anywhere. All rights reserved.     39


    Automation Anywhere - Explore

In the data center, Enterprise Control Room is installed on a server and configured to interact with the
other data center components.
The Enterprise Control Room includes objects that performs the following:
• Enterprise Control Room reverse proxy is managed through the following functions:
• Automation Anywhere licensing
• Enterprise Control Room services
• Enterprise Control Room messaging
• Enterprise Control Room caching

• Elasticsearch

The Enterprise Control Room required data center components include:


• An SQL server with an Enterprise Control Room database.
• A Server Message Block (SMB) file share

Centralized Automation Deployment

• Enterprise Control Room acts as the single point of access and control for bot execution.
• All Bot Creators and Bot Runners are registered to a Enterprise Control Room before they are
operable. Only the Enterprise Control Room can execute bots on Bot Runners.
• Only bots loaded in the Enterprise Control Room execute on Bot Runners. All bots across the
enterprise are on the Enterprise Control Room. Every single automation activity is authenticated
against the Enterprise Control Room.
• Enterprise Control Room provides bot upload and download features to facilitate seamless
collaboration for end to end business process automation by multiple users.
• All scheduling is managed by the Enterprise Control Room. Bots are deployed on the Bot Runners
either ad hoc or on pre-defined schedules. Once the schedules are created, Enterprise Control Room
automatically and intelligently picks up the subsequent updates to bots, without any need to alter
automation schedules.

Centralized Access Control

• Least Privilege and Access Controls user access are implemented in the Enterprise Control Room
through Role Based Access Control (RBAC).

© 2020 Automation Anywhere. All rights reserved.     40


    Automation Anywhere - Explore

• All Users and Roles are created and managed from the Enterprise Control Room.

Collaboration Centralized Workforce Management

• Enterprise Control Room dashboards provide a single view of the entire automation infrastructure.
• Enterprise Control Room receives real time heartbeat & telemetry from automations with events,
exceptions and alerts.
• Unauthorized users cannot pause, resume or stop any of the ongoing automations on any Bot
Runner.
• All historical automation data is logged in and available through Enterprise Control Room Audit Logs.

Distributed Architecture
Automation Anywhere platform is deployed using a distributed architecture.
Centralized management is accomplished via a web-based server, called the Enterprise Control Room,
to manage all development and execution of the digital workforce. The Enterprise Control Room is
connected to Bot Creators and Bot Runners. Bot Creators are development systems used for authoring
and tailoring of automations. Bot Runners execute the automations; they are run-time systems installed
on machines. Bot Runners can be deployed on desktops, on virtual machines in data centers or cloud.

Figure 1: Client Server Deployment

Distributed architecture with HA/DR support


The Automation Anywhere Enterprise self-contained platform within the customer environment mitigates
the risk of "cross-contamination" from an unlikely event of a security breach from another network.
Automation Anywhere Enterprise supports distributed architecture to deliver the optimal performance
and security. Following are the main distributable components of Enterprise Control Room which can be
clustered to achieve High Availability (HA):
• Automation Anywhere Web Socket Server Service
• Microsoft SQL Server 2012 and higher

Figure 2: Distributed Mode

© 2020 Automation Anywhere. All rights reserved.     41


    Automation Anywhere - Explore

Distributed Cache

Enterprise Control Room architecture uses distributed cache to update all other nodes as soon as any
information is updated in one of the nodes. This ensures fastest data synchronization across all the
nodes and delivers seamless user experience. Automation Anywhere Enterprise platform uses clustering
mechanism to implement distributed cache, to synchronize all data operations. For example, when the
Credential Vault is opened from one node, it is automatically opened for all other nodes too.

HA/DR Deployment

Due to the On-Premises deployment, Automation Anywhere Enterprise delivers solution High Availability
(HA) and Disaster Recovery (DR) using existing infrastructure and processes. All communication from
Automation Anywhere Enterprise to the customer HA/DR infrastructure is over a secure HTTPS layer.
High Availability infrastructure support across multiple control rooms using a network load balancer.
Network load balancing is achieved by running multiple instances of the CR and a load balancer in front
of it handling web requests. The Load Balancer can either be an external appliance (such as an F5 load
balancer) or you can use the built-in Microsoft Network Load Balancer (NLB) available on Server 2012.
Clustering provides high availability and high reliability minimizing the Enterprise Control Room
downtime. SQL Server high availability can be achieved using a SQL Server 2012 AlwaysOn Availability
group. There is no single point of failure with always-on SQL Server and Socket Server active / passive
configuration. HA/DR is also supported for single forest, multi-domain Active Directory (AD) deployment.

© 2020 Automation Anywhere. All rights reserved.     42


    Automation Anywhere - Explore

Network Architecture and Boundary Controls


Communication between authorized and authenticated Bot Creators, Bot Runners, and the Enterprise
Control Room use secure protocols and pass through a network firewall and a load balancer.
All communication between authorized and authenticated Bot Creators, Bot Runners, and the Enterprise
Control Room use secure protocols and pass through a network firewall and a load balancer, based
on customer deployment topology consistent with best practices as defined by NIST SC-7 Boundary
Protections that require connections to networks only through managed interfaces using devices such as
firewalls and load balancers.
All communications are denied by default and only allowed through specific services:
• Secure protocols, such as TLS 1.2, HTTPS, are used to communicate between different registered
devices and Enterprise Control Room servers.
• Real time Data Service is a common service for all Application Servers. It receives and broadcasts
real time task progress data coming from each running Bot Runner. It plays a mediator role between
browser where Enterprise Control Room is opened and a Bot Runner where task is running.
• Shared File Repository is a file system location where all the bots reside physically. It is shared across
all the Application Servers, so that same repository view and operations become possible.
• Data tier can be configured for failover cases separately if high availability is concerned.
• All network connections are terminated at the conclusion of each session or within a specified time
period.

© 2020 Automation Anywhere. All rights reserved.     43


    Automation Anywhere - Explore

Security architecture
Many of the largest financial organizations in the world rely on Automation Anywhere's secure digital
workforce platform to automate security-sensitive operations.
The platform's security architecture is founded on Least Privilege principles and a strict Separation of
Duty model with 41 technical controls implemented across seven NIST 800-53r4 Control Families.
Controls are applied across three components: the Enterprise Control Room, Bot Creators (development
systems), and Bot Runners (bot execution run times) through the bot life cycle from creation through
decommissioning. This security architecture and the underlying controls are mapped to industry best
practices as defined by NIST and can be readily mapped to other frameworks, for example, CoBIT (SOX)
and ISO 27002.

Access Controls. Automation Anywhere Enterprise (AAE)

Access Controls. Automation Anywhere Enterprise (AAE) limits and controls human and bot access to
logical resources across components.
• Two independent control planes enforce least privilege. Only developers are enabled to read or
write, only authorized Enterprise Control Room users to execute automations, (Enterprise Control
Room authorizes and executes) subject to fine-grained Role Based Access Controls (RBAC) down to
individual automations (bot), Bot Runners and domains.
• Bot-level Separation of Duty is enforced. Each bot is obfuscated and executed by its corresponding
authorized Bot Runners.
• Bot execution is controlled via RBAC. Domain privileges are defined across groups of bot and Bot
Runners.
• Security at-rest and in-transit. All access credentials are secured at-rest via a central credential vault
with support for third-party credential stores, for example, CyberArk. All communications are secured
in-transit via SSL and TLS.

Configuration management

Configuration management is controlled at both bots and Bot Runner levels.


• The Enterprise Control Room authorizes, enforces, and logs changes to all Bot Creators and Bot
Runners.
• Bot change control on execution is enforced through encryption and authentication.

© 2020 Automation Anywhere. All rights reserved.     44


    Automation Anywhere - Explore

Identification and authentication

Identification and authentication is controlled through Microsoft Windows authentication services.


• Bot Creators use Active Directory for authentication
• Bot Runners have two levels of authentication, one for autologin authentication of the runner and the
other for execution of bots.
• Credentials are secured at-rest and in-motion through the Credential Vault or integration with third-
party products.

Risk assessment

Risk assessment is undertaken on Static, Dynamic, and Network-based Vulnerability Assessments. Audit
and Accountability are established through event capture, logging and auditing on all three components
with granular event capture at the bot level and nonrepudiation. Bot Insight embedded analytics provides
near-real-time Incident Response and integration with Security Event and Information Management
systems.

Security architecture model


Automation Anywhere Cognitive security architecture is founded on Least Privilege principles and a strict
Separation of Duty model with 41 technical controls implemented across seven NIST Control families.
The NIST framework was selected as a foundation for best practices as a way to enumerate the controls
implemented throughout. Translations from NIST to other control frameworks are widely available,
resources are provided at the end of this topic.
The product security architecture is maintained by the Automation Anywhere's Product Management
team and forms part of a formal policy model as an integral part of the Automation Anywhere
Development Roadmap. The following table lists the Control families and the corresponding features
and security impacts. Details on each Control family and how the security architecture is implemented in
Automation Anywhere products are in the corresponding topics.

(1) Resources: ISACA provides guides that map NIST SP800-53 to other security frameworks such
as CoBIT (SOX), SANS Top20 (http://www.counciloncybersecurity.org/critical-controls/tools/) and
ISO27002 (http://www.bankinfosecurity.in/mapping-nist-controls-to-iso-standards-a-7251).

© 2020 Automation Anywhere. All rights reserved.     45


    Automation Anywhere - Explore

Securing the RPA environment with external controls


The Automation Anywhere architecture consists of a standard desktop and server class infrastructure for
the registered devices and the Enterprise Control Room.

RPA platform

This topic details the best practices for securing the RPA platform with external security controls.
Network-based firewalls, Intrusion Detection Systems, anti-malware, and external log servers are all
standard security controls that are relevant to RPA deployment and the other infrastructure in your
environment. The following figure shows logically where these components are deployed in the RPA
deployment:

Each external security control is discussed in detail in the following sections, in terms of placement
and configuration. Supporting network services such as Active Directory, SMB File Share, Microsoft SQL
Server, and production applications, and are accessed through network firewalls or directly, depending
on their placement relative to the RPA components.

Network-based access control to protect RPA with firewalls

Network-based firewalls and local server-based firewall are used to protect the Enterprise Control Room
or all nodes in a Enterprise Control Room cluster. By default, required protocols on the Enterprise
Control Room are permitted from the corporate network. Additionally, all clustering protocols are

© 2020 Automation Anywhere. All rights reserved.     46


    Automation Anywhere - Explore

permitted only between the nodes in the Enterprise Control Room cluster. Network-based firewalls are
used to isolate Development, Test, and Production RPA environments from the corporate network and
from each other.
For unattended automation environments, the Bot Runners are placed in a specific isolated network and
protected by a network-based firewall. Attended automations run from corporate workstations with the
Bot Runner Bot agent installed and are protected via the corporate perimeter firewalls or internal firewalls
protecting the corporate desktop infrastructure, like any desktop.

Anti-malware to protect RPA from viruses and malware

The Automation Anywhere Bot agent runs on desktop class infrastructure and is considered a corporate
desktop. Anti-malware or anti-virus software is used to protect the registered device environment from
malicious software in the form of viruses and malware.

Intrusion detection systems to protect RPA from direct attacks

Intrusion Detection and Prevention Systems (IPS) protect the corporate network by detecting network-
based attack through network traffic analysis. Like any other critical section of the data center, an IPS
protects the RPA platform at the egress point, behind the network-based firewall.

Security Event Incident Management to protect RPA with external auditing

All Automation Anywhere Enterprise Control Room logs can be forwarded to a Security Event Incident
Management (SEIM) system for external storage, processing, and alerting. Integration with SEIM or
any Syslog-based audit consolidation and reduction system greatly enhances the security posture and
governance compliance. Configure the Enterprise Control Room to forward audit logs to the appropriate
Syslog collection server in the environment.

Independent categories for Bot Creators and Bot Runners


For logical separation of duties, Enterprise Control Room divides automation users into two broad
categories: Bot Creators (development) users and Bot Runners (run-time) users.
Bot Creators exist on a separate Microsoft Windows system with its own credentialing system to create,
update, and unit test the bots on the Bot Creator. Bot Creators only upload and download bots to and
from the Enterprise Control Room. Users on the Enterprise Control Room users have privileges to
execute bots on Bot Runners but have no access to the Bot Creators. This separation of duty constitutes
a dual authorization by requiring both the developer and the business user to create and execute the bot
in conformance with NIST AC-3 best practices.

Role-Based Access Control


Enterprise Control Room implements Least Privileges and Separation of Duties through a configurable
Role-Based Access Control (RBAC) capability that conforms to requirements in NIST AC 2, 3, 5, and 6.
All Enterprise Control Room users are assigned one or more roles. Access are available based on the
usage conditions assigned to each role when users are a member. Authorized users can temporarily
or permanently suspend other users when needed. RBAC enforces session handling to prevent
unauthorized access. If an unauthorized user attempts to view session details or gain access, the Control
Room cluster will prevent this progress and immediately terminates the unauthorized session. The
unauthorized user will be prompted to log in with valid credentials. Inactive accounts can be disabled.

© 2020 Automation Anywhere. All rights reserved.     47


    Automation Anywhere - Explore

The administrator controls are responsible for all security functions, consistent with best practices in NIST
SC-3: Security Function Isolation.
The Enterprise Control Room includes segmented administrator roles by default. Many permissions are
supported for creating new roles.
Controls are implemented at the Enterprise Control Room, Bot Creators, and Bot Runners layers, for
NIST Access Controls (AC) and Change Management (CM) guidelines. The following technical controls
are implemented to ensure access is governed through NIST Least Privileges.

RBAC on bots
Access is deny all and allow by exception based on roles, except for admin roles. Addressing NIST AC-17
(access control), NIST configuration managments for NIST CM-2 (base line configurations), access
restrictions for NIST CM-5, NIST CM-6, and NIST CM-7 (least functionality), and monitoring NIST CM-9 for
bot activity across the development, test, and production environment.

RBAC on Bot Runners


RBAC on Bot Runners facilitates complete isolation of one department Bot Runner seamlessly from the
remaining departments' Bot Runners.
Bots are executed from the Control Room cluster. Local bot executions are protected through multiple
layered security, and are designed to prevent fraud as a result from escalation of privileges on Microsoft
Windows. The Bot Runner are executed by Windows, addressing access control enforcement in
accordance with NIST AC-3 Access Enforcement and AC-6 Least Privilege for Code Execution.
If user roles does not have access to sets of Bot Runners, as a result, these users are unable to view the
Bot Runners' executions or remote scheduling automation. See (Role-based processing domains).

RBAC for Credential Vault credentials management


Credentials created in the Enterprise Control Room are used across Bot Creators and Bot Runners.
These credentials are securely stored in the centralized Credential Vault to facilitate access control,
and to divide in logical groups called lockers. These lockers enable complete separation between the
credentials of one department from another.
Permissions for credential management-related roles include the following:

Manage my credentials and lockers By default, all users can manage their own
credentials and interact with lockers if granted
permissions.
Manage my lockers Allows the user to create and manage their own
lockers.
Administer ALL lockers User has limited actions on all lockers.

Each locker has the following permissions:

© 2020 Automation Anywhere. All rights reserved.     48


    Automation Anywhere - Explore

Role-based processing domains


The Enterprise Control Room RBAC applies the least privilege principles to domains by implementing
Processing Domains, specifying role-based privileges and permissions at the bots and Bot Runners level.
RBAC is applied at a folder level to completely and seamlessly isolate one department bot from the
remaining department bots. If the user role does not have access to a set of bots, those bots do not exist,
thereby enabling the separation of duties across different domains. For example, finance and accounting
roles can access only the bots that automate their respective functions, and specific Bot Runners can
execute these bots. This is consistent to best practices as defined by NIST AC-4 Processing Domains.
This permission is further divided into the following sub permissions:

Run Only those users who have this permission can run
bots from the Enterprise Control Room to remote
Bot Runners.

Authorized users assign various permutation and combinations of these accesses to different sets of
users and roles based on the business need.

RBAC on Audit Log


Audit is automated for all privileged and nonprivileged roles to conform to best practices, as defined in
NIST AC-6.
Access is view-only based on a deny all and allow by exception based on roles and domains as defined
in the Audit section 7 addressing Audit and Accountability (NIST AU 1 through 15) and as required by NIST
AC-2 Automated System Account Management. If a role does not have permission to view Audit Logs,
then the Audit Trail tab is not visible to all members of that role. Audit automatically captures all events
related to creation, modification, enablement, disablement, and removal of users, bots, Bot Creators, and
Bot Runners.

RBAC on viewing bot activity


The Activity menu provides options shows the status of the automations. These options are: In Progress,
Scheduled, and Historical.
Access to Activity status is deny all and allow by exception based on roles and domains as defined in
RBAC. Two levels of checks are applied to access the Activity data. The user is required to be a member
of a role that has access to view the . Users with access that can view only the belonging to their
departments, as applied through RBAC on .

RBAC on User Management


Access is deny all and allow by exception based on roles, domains as defined in RBAC. Only those users
with access to User Management can manage other users in system.
This permission is further divided into the following sub permissions:

Create Users Only those users with this permission may create
new users from the Enterprise Control Room.
Edit Users Only those users with this permission may edit
existing users from the Enterprise Control Room.
Delete Users Only those users with this permission may delete
existing users from the Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     49


    Automation Anywhere - Explore

Authorized users assign various combinations of these access permissions to different sets of users and
roles based on the business requirements.

RBAC on roles and permissions management


Access is deny all and allow by exception based on roles, domains as defined in RBAC.
Users with access to roles and permissions management can create, edit, and delete roles in the system.
This permission is typically assigned to administrators and power users from across enterprises.

RBAC on bot schedules


Access is deny all and allow by exception based on roles and domains as defined in RBAC.
This permission is further divided into the following sub permissions:

Schedule my bots to run Only those users with this permission may create
new schedules.
Edit my scheduled activity Only those users with this permission may edit
their schedules.
Delete my scheduled activity Only those users with this permission may delete
their schedules.
View and manage ALL scheduled activity Only those users with this permission may manage
(edit or delete) all the existing schedules created by
any user.

Administrators assign various permutation and combinations of these accesses to different sets of users
and roles based on the business requirements.

RBAC on license management


Access to license management is deny all and allow by exception based on roles and domains as defined
in RBAC.
Only those users with access to license management permission are able to update the license from the
Enterprise Control Room. A common license exists for all the users across the Automation Anywhere
Enterprise, for a specific Enterprise Control Room. The updated license ia effective for all the Bot
Creators and Bot Runners registered with the corresponding Enterprise Control Room.

Bot execution access by dynamic access token


The Enterprise Control Room implements and enforces a Trusted Path for registration and authentication
of Bot Creators and Bot Runners in accordance with NIST SC-11 to protect against any attempt to
execute unauthorized bots.
The Enterprise Control Room issues new client access tokens or identifiers through hashing, signed by
the Enterprise Control Room and sent to Bot Creators and Bot Runners over HTTPS. Every subsequent
communication between Enterprise Control Room and Bot Creator or Bot Runner is serviced by the
Enterprise Control Room after validation of the signature of the latest access token sent by the Bot
Creator or Bot Runner. Each access token is unique to every Bot Creator or Bot Runner. This ensures
that even if an unauthorized user could bypass enterprise security and access the system, the Enterprise
Control Room security restricts any damage.

© 2020 Automation Anywhere. All rights reserved.     50


    Automation Anywhere - Explore

Secure credential store Credential Vault


The Automation Anywhere platform provides a centralized Credential Vault to securely store all
credentials and provision them to bots on an on-demand basis.
Use the Credential Vault to store other information deemed confidential or sensitive. The credential store
implements NIST controls IA-2 to uniquely identify and authenticate organizational users (or processes
acting on behalf of organizational users).
Sensitive information does not need to be stored in bots or on Bot Runner systems, the Credential Vault
facilitates a logical separation of credentials from the bots.
Credential Vault variables are created from the Enterprise Control Room and are instantly available
to all the Bot Creators and Bot Runners registered with the respective Enterprise Control Room.
Credential Vault adds flexibility and dynamic character to bots because only the credential references
are present in the bots, and not the credentials. When bots are moved from one environment to another
environment, absolutely no change is required in the bots. Bots can seamlessly pick up the credentials
values applicable for the new environment from the Enterprise Control Room of that environment.
Additionally, the Enterprise Control Room automatically stores configuration-related sensitive data into
the Credential Vault by default.

Cryptographic providers
Use only the listed supported cryptographic providers.

Enterprise client

AES256 Microsoft .NET AesCryptoServiceProvider


RSA2048 Microsoft .NET RSACryptoServiceProvider
HMACSHA256 Microsoft .NET HMACSHA256
PGP Encrypt/Decrypt action Bouncy Castle OpenPGP 1.8.1

Enterprise Control Room

AES256 Bouncy Castle FIPS 1.0.0


RSA2048 Bouncy Castle FIPS 1.0.0
HMACSHA256 Bouncy Castle FIPS 1.0.0
PBKDF2 + HMACSHA512 Bouncy Castle FIPS 1.0.0

Credential Vault encryption


The Automation Anywhere Enterprise Control Room installation generates the Master key and Data
encryption key.
The Automation Anywhere Enterprise Control Room installation generates the following two keys:

Master key This RSA-2048 bit key is managed by an


administrator outside of the system. This key
unlocks the Credential Vault. The administrator
types the Master key each time the Enterprise

© 2020 Automation Anywhere. All rights reserved.     51


    Automation Anywhere - Explore

Control Room is started. When the vault is open,


the master key is immediately erased from
memory and it is not stored anywhere in the
Automation Anywhere Enterprise product.
Data encryption key This AES-256 bit key is stored in the Enterprise
Control Room database and is used to encrypt and
decrypt the credentials at the time of storage or
provisioning. This key is encrypted using the Master
key. The Data encryption key does not leave the
Credential Vault at any time. Credential encryption
and decryption are done at the Credential Vault.

Credential storage
All sensitive data is stored in the Credential Vault using AES-256 encryption.
These credentials are encrypted by the Credential Vault service to conform to NIST SC-28 and to prevent
unauthorized access or disclosure of credentials. Only encrypted credentials travel from the Enterprise
Control Room to the Database server and are stored in the database in an encrypted form. The data
encryption key encrypts all credentials using an AES 256-bit key generated by a FIPS 140-2 Level 1
validated module to meet the NIST IA-7, SC-12, and 13 requirements for implementation of mechanisms
for authentication to a cryptographic module that meets the requirements of applicable federal laws.
The data for Active Directory user credentials for autologin to Bot Runners is also encrypted and securely
stored in the Credential Vault with the bot credentials.

Credential provisioning to bots


Credentials are provisioned only during the execution of automation.
Bot Runners or bots do not store credentials locally. Credentials are provisioned only during the
execution of the automation. When the credentials are requested by Bot Runners, encoded (64 bit)
credentials travel from the Enterprise Control Room to Bot Runner over HTTPS protocol. When the bots
finish execution, credentials are erased from the memory.

Authentication with Enterprise Control Room


When a Bot Creator or Bot Runner tries to connect to Enterprise Control Room, the credentials are
encrypted using AES (256 bits key length) and RSA (2048 bits key length) and then transmitted on top of
the existing layer of Transport Layer Security (TLS).
This extra layer of message level encryption provides protection against network stack issues (such as
Heartbleed where OpenSSL was leaking sensitive data from memory) and also adds protection to the last
hop of the connection when TLS is terminated at the load balancer. These credentials are decrypted by
Enterprise Control Room and authenticated against the hashed (PBKDF2 and HMAC SHA512 algorithm)
user passwords or against Active Directory via Lightweight Directory Access Protocol (LDAP).

Support for secure protocols


The Automation Anywhere platform supports secure protocols, for example, TLS 1.2 and HTTPS data
transfer.
• Deployment of bots from the Enterprise Control Room to remote Bot Runners is done over TCP and
TLS 1.2.

© 2020 Automation Anywhere. All rights reserved.     52


    Automation Anywhere - Explore

• Upload and download of bots from the Bot Creator to the Enterprise Control Room is done over
HTTPS.
• Transfer of any information from the Enterprise Control Room to the database and vice versa is done
over TDS and TLS 1.2.
• Transfer of encoded credentials from the Enterprise Control Room to Bot Runners is done over
HTTPS.
• WebSocket communication with the real-time data service in the Enterprise Control Room is done
over HTTPS.

Network security overview


All communication between the Enterprise Control Room, Bot Creators and Bot Runners is done using
outbound WCF TLS 1.2 communications and inbound HTTPS TLS 1.2.
Bot deployment to remote bot runners, provisioning of credentials, automation scheduling, and event
capture are done exclusively through the Enterprise Control Room. Use only HTTPS in the production
environment. The following figure shows the web, Enterprise Control Room datacenter architecture, and
network path.

• The REST APIs use Distributed Cache Service to get shared cached data required for specific
functionality.
• The Scheduler Service makes REST API calls to run a task on a specific client machine at a specific
time.
• Real-time Data Service makes REST API calls to authenticate incoming connection requests. It
receives task execution progress updates by Bot Runners and sends that information to all connected
browser clients using WebSocket Secure (WSS) protocol.
• The Enterprise Control Room makes REST calls for user authentication and repository operations, for
example, upload a task, download a task, or compare two tasks.
• The Enterprise Control Room makes REST calls to the validate user session at regular intervals. The
Enterprise Control Room deploys and runs a task on a specific device using Bot agent. It uses a TCP/
IP channel.
• The Scheduler Service makes REST calls for autologin credentials. It also communicates to the
Enterprise Control Room to get a license and user session-related information.
• The Enterprise Control Room makes REST calls to get autologin credentials for a logged-in device.
It also communicates to the Enterprise Control Room to get the license and user session-related
information.

© 2020 Automation Anywhere. All rights reserved.     53


    Automation Anywhere - Explore

Secure protocols in use


Automation Anywhere Enterprise uses the listed protocols for task automation.

Table 2: Protocols list

Number Protocol Deployment

1 SNMP Client
2 IMAP Client
3 SFTP Client
4 POP3 Client
5 HTTPS Client and Control Room
7 TCP/IP Client and Control Room
8 TLS Control Room
9 SMTP Client and Control Room
10 SOAP Client
11 Named Pipes Client
12 Kerberos (if configured) Control Room

List of port numbers


The configurable ports used by the Automation Anywhere Enterprise platform.

Enterprise client

Table 3: Port Numbers

Port Description Deployment Used for

110 POP3 Client Email Automation


command to retrieve
995 emails from mail
server.
143 IMAP Client

993

21 FTP/SFTP Client FTP/SFTP command

25 SMTP Client Send email, Error


handling command
465
Email notification
587
feature

161 UDP Client SNMP command

© 2020 Automation Anywhere. All rights reserved.     54


    Automation Anywhere - Explore

Port Description Deployment Used for

22 Terminal Emulator Client Terminal Emulator


command
23

4530 TCP Client Used by the client to


(AAProxyServer.exe) communicate with
plug-ins via a TCP
socket for the AAE
Client, Editor, or Player

Table 4: Enterprise Control Room

80 HTTP Control Room Web UI access (no TLS)


443 HTTPS Control Room Web UI access

25 SMTP Control Room Send email when


important events
465 occur, for example,
587 user created, password
set/reset, role changed
and so on.
1433 TCP Microsoft SQL Server Default port used by
Microsoft SQL Server
5672 TCP Control Room Cluster messaging
47500-47600 TCP Control Room Cluster messaging and
caching
47100-47200 TCP Control Room Cluster messaging and
caching

Change management
Access restrictions for configuration management.

Baseline inventory controls for Bot Creators, Bot Runners and bots

The Enterprise Control Room provides a single-pane-of-glass on all automation operations and
infrastructure, providing a way to baseline the configuration of the environment. Inventory controls are
maintained through the application of RBAC and the use of the Bot Repository, Operations Room, and
License Management to establish a single point of control for Base Line Configurations (NIST CM 2)
access restrictions for configuration management (NI5T CM 5 and 6). Configure automated baseline
reporting using the auditing and reporting systems in the Enterprise Control Room.

Change control and documentation RBAC

The Enterprise Control Room RBAC provides a point of access control and management for all changes
to the Enterprise Control Room, Credential Vault, Bot Creators, bots, and Bot Runners with an automated

© 2020 Automation Anywhere. All rights reserved.     55


    Automation Anywhere - Explore

mechanism to prohibit changes and report on any attempts to make unauthorized changes. The logging
and auditing system on the Enterprise Control Room provides the reporting mechanism for change
management to conform to best practices as described in NIST CM-3 through 5.

Software usage and license management

The Enterprise Control Room provides an automated mechanism for tracking and controlling the use of
licensed software across Bot Creators and Bot Runners, addressing NIST Change Management CM 10.

Dual authorization change management

Separation of duties is implemented at multiple levels. Dual authorization is achieved through separation
of control planes for the Bot Creators and Bot Runners. Only bots created by an authorized Bot Creator
can be executed by a separately authorized Bot Runner and only by a user who has been given the
privileges to do so by an administrator.

Identity and authentication


All automation actions, for example, create, view, update, deploy, and delete, across the Automation
Anywhere Enterprise are done only after Enterprise Control Room authentication is successfully
completed.
After authentication is successful, the platform applies a second mandatory level of access control
enforcement in the form of fine-grained Role-Based Access Control (RBAC).
Automation Anywhere offers seamless integration with Microsoft Windows Active Directory for access
to the Enterprise Control Room, Bot Creators, and Bot Runners. When Enterprise Control Room is
integrated with the Active Directory, all the Active Directory users with basic details are directly available
in the Enterprise Control Room without any extra configuration. For Active Directory integration, user
passwords stay in only Active Directory and are not saved in the platform.
In addition to Active Directory authentication, the Enterprise Control Room has its own controls to
prevent unauthorized access to any automation data. See Dynamic access token authentication of Bot
Runners:.
Bot Runner users can also configure their Active Directory credentials for Bot Runners machine
autologin. These credentials are saved in the centralized Credential Vault.

Supported authentication methods


Enterprise Control Room supports the listed authentication methods.

Supported authentication methods

• Active Directory using LDAP


• Active Directory using Kerberos
• SAML

Local authentication using a database.

© 2020 Automation Anywhere. All rights reserved.     56


    Automation Anywhere - Explore

The benefits of integrating with Active Directory include the following:

Easier adoption Integrates with an existing authentication solution,


compliant with the standards.
Maintainability All passwords and password policies are centrally
administered.
Better user experience Fewer passwords to remember.

Kerberos provides additional benefits over NTLM pass-through authentication.


• Open standard versus closed proprietary standard
• Mutual authentication of client and server

Integration with smart cards for 2FA


Local authentication manages user passwords via the Credential Vault. Passwords are hashed using the
HMACSHA512 algorithm, which is keyed by the output of the Password-Based Key Derivation Function
(PBKDF2). User passwords are encrypted in transit via TLS 1.2.
All authentication and session management is handled via the well-tested Spring Security framework.
Kerberos integration is provided via the well-tested Waffle framework. SAML integration is provided via
the well-tested OneLogin framework.

Multi-domain Active Directory support

Automation Anywhere platform architecture supports single-forest multi-domain Active Directory


integration. Enterprise Control Room can be configured with Active Directory Global Catalogue Server in
a way that Enterprise Control Room, Bot Creators and Bot Runners can all be in same or different Active
Directory domains of a single forest. This gives added flexibility and control for large-scale complex
deployment where users are spread across geographies.
Multi-domain support is provided out of the box and no additional configuration is required. The
Enterprise Control Room user provisioning from different Active Directory domains is also seamless. It
enables the Enterprise Control Room admin to centrally orchestrate the digital workforce running across
the globe.

Password hashing
Password hashing does a one-way, permanent transformation of the passwords of the Enterprise Control
Room users, inline with standard password management practices.
Enterprise Control Room passwords are concatenated with a salt and then hashed using the
PBKDF2WithHmacSHA512 algorithm before being stored in the database.
• The salt is 256 bits in size and is randomly generated by a cryptographically secure PRNG.
• The HMAC SHA512 algorithm is used for hashing and provides additional security over traditional
approaches.
• A keyed hash provides protection against hash length extension attacks.
• SHA 512 bit key is larger than the commonly used SHA 256 bit key.

• The key used for the HMAC is from the secure Password-Based Key Derivation Function (PBKDF2).
• Hashing is done for 100,000 rounds (based on NIST recommendations).

Every time a Bot Creator or Bot Runner authenticates against Enterprise Control Room, its credentials are
authenticated against the hashed credentials.

© 2020 Automation Anywhere. All rights reserved.     57


    Automation Anywhere - Explore

Authentication failure messages


If an authentication attempt fails, the Automation Anywhere Enterprise platform does not specifically
state if the username or password is incorrect. It only states that the supplied credentials are incorrect.
This is one critical information security requirement for Automation Anywhere Enterprise customers and
defends the system against a brute force attack.
This authentication involves the following:
• Bot Creator, Bot Runner connection to Control Room
• User log in to the Control Room from the browser
• Connection from the Control Room to the SQL Server

All failed authentication attempts are logged. See Audit logs. Audit Log access is provided as per RBAC
and audit logs are made available on a read-only basis for all users.

Auto logoff
The Automation Anywhere Enterprise platform complies with information security guidelines regarding
user session timeout because of inactivity.
An active session with Enterprise Control Room is terminated after a predefined time interval when it
is not being used. Users are automatically logged-off after an idle period of 20 minutes. Similarly, a Bot
Creator session is terminated after 8 hours.

Authentication for Bot Runners


Two layers of authentication are present for deploying the bots on remote Bot Runners.
The logged off/disconnected/locked Bot Runner is logged on/connected/unlocked using the configured
credentials. These credentials are fetched from the centralized Credential Vault over HTTPS. This first
level of authentication is done against the Active Directory domain automatically, on behalf of the user
and is called Bot Runner autologin.
After being authenticated, Bot Runners can be authorized to execute bots independently and
asynchronously.

Dynamic access token authentication of Bot Runners:


The Enterprise Control Room implements and enforces a Trusted Path for registration and authentication
of Bot Creators and Bot Runners in accordance with NIST SC-11.
The Automation Anywhere Enterprise platform protects the automation data against any attempt to
subvert the path. The Enterprise Control Room issues new client access tokens, or identifiers, after
a predefined time period. These tokens are protected to conform to NIST IA-5 by being signed by
theEnterprise Control Room and sent to Bot Creators and Bot Runners over HTTPS. Every subsequent
communication between the Enterprise Control Room and Bot Creator/Bot Runner is serviced by the
Enterprise Control Room only after validation of the signature of the latest access token sent by the Bot
Creator/Runner.
The access token is unique to every Bot Creator/Bot Runner. This protects the system from an
unauthorized attempt to bypass security and execute an unauthorized bot, and is consistent with the best
practices to conform to NIST IA-9 Service Identification and Authorization. These controls implement
IA-3 for cryptographically based bidirectional authentication and attestation of Bot Runners and Bot
Creators before establishing connections. This also addresses requirements around unique, automated,
identifier management IA-4 for multiple forms of authorization and identification. Identifiers are
dynamically managed for audit and control purposes. Identifiers are used as authenticators and managed

© 2020 Automation Anywhere. All rights reserved.     58


    Automation Anywhere - Explore

for verification on initial deployment, revoke, and prevent reuse. There are no static, unencrypted,
identifiers in use by Bot Creators or Bot Runners and cached tokens are cleared periodically.

Integration with third-party identity and access management solutions


The Automation Anywhere Enterprise platform supports seamless integration with privileged access
management solutions, for example, CyberArk, TPAM, and Thycotic.

CyberArk

Automation Anywhere provides integration with CyberArk, the leading privileged account security
solution. Enterprises can decouple business applications' credential management from the platform.
Bot Creators and Bot Runners can use the credentials stored in the CyberArk repository. Using CyberArk
credentials, Automation Anywhere Enterprise bots authenticate against business applications.

Defenses against common vulnerabilities


The Automation Anywhere Enterprise platform provides some defenses against common attacks on
applications.
The list below contains several examples of these attacks and the security controls in place to prevent
them.

SQL Injection (SQLi)

SQL injection is a high-risk vulnerability that can seriously impact the confidentiality, integrity, and
availability of a database. It enables an attacker to execute any SQL of his or her choosing inside the DB,
thus allowing them to read sensitive data, modify/insert data, and execute various operations.
The Enterprise Control Room prevents SQL injection using query provided by the Hibernate framework.

Cross Site Scripting (XSS)

Cross-site scripting is a high-risk vulnerability that can seriously impact the confidentiality, integrity, and
availability of any user web session. It enables an attacker to execute any JavaScript inside the victim's
browser, allowing them to spy on the user's input/output or take unauthorized actions on behalf of the

© 2020 Automation Anywhere. All rights reserved.     59


    Automation Anywhere - Explore

user. They could also redirect the user offsite to a malicious malware download or a credential phishing
page.
The Enterprise Control Room prevents cross-site scripting using automatic output encoding provided by
the ReactJS framework.

OWASP Top 10

Automation Anywhere Enterprise provides the following controls to protect against the OWASP Top 10:
Risk Control

A1: Injection All input is escaped before commands or


queries are executed.
A2: Broken authentication and session See the identification and authentication
management section.
A3: Cross-site scripting All output is encoded before being returned.
A4: Insecure direct object references Centralized authorization via Spring Security.
A5: Security misconfiguration No default passwords, stack traces hidden,
secure server configuration
A6: Sensitive data exposure See the Security at rest and Security in motion
sections
A7: Missing function level access control Centralized authorization via Spring Security
A8: Cross-site request forgery Using authorization HTTP header
A9: Using components with known Black Duck software composition analysis tool
vulnerabilities
A10: Unvalidated redirects and forwards N/A - No redirect functionality present

Compliance and vulnerability scanning

Secure software development life cycle (S-SDLC)

Automation Anywhere has implemented a development security plan and protocol that defines a specific
depth of testing/evaluation to be done by the Engineering team on each release, conforming with
best practices as defined by NIST SA-11 Developer Security Testing and Evaluation and NIST SA-15,
Development Process, Standards, and Tools. This plan has been documented and shared with the
Automation Anywhere Engineering teams.

Veracode vulnerability scanning for static and dynamic code analysis

On each weekly build, during the development process and before every release, all Automation
Anywhere software is scanned for flaws using the Veracode tool. Automation Anywhere Enterprise meets
the requirements for the strictest security policy available in the tool, Veracode Level 5, which is defined
as no Very High, High, or Medium severity vulnerabilities. Analysis reports are available with each release.

© 2020 Automation Anywhere. All rights reserved.     60


    Automation Anywhere - Explore

Dependency analysis

On each weekly build during the development process and before every release, all of the third- party
libraries and dependencies in Automation Anywhere's software are scanned for known vulnerabilities
using the Black Duck tool. Automation Anywhere upgrades vulnerable libraries when new versions
become available. Analysis reports are available with each release.

Penetration testing

Automation Anywhere does a penetration test via a third-party vendor before each major release.
Additionally, Automation Anywhere incorporates the feedback from penetration tests conducted by
customers, which includes some of the largest financial institutions in the world. Analysis reports are
available with each release.

Audit logs
The Automation Anywhere Enterprise platform provides a comprehensive and centralized audit logging
of all automation activities to authorized users. Role-based access control to Audit Log is managed
through the Enterprise Control Room. More than 60 audit actions are logged.
All valid and invalid attempts of actions are logged. Events are logged by the following factors:
Doer of the action For example, a username.
Source of the action For example, Bot Runner or Enterprise Control
Room
Type of event The description of the event.
When the event occurred For example, the date and the time of the event.
Where the event occurred The device.
Outcome of the event Description and status of the event.

Some key audit actions include the following:


• Log in and log out of the centralized Enterprise Control Room.
• Create, update, and delete Users.
• Activate and deactivate the Enterprise Control Room users.
• Any change of password for any user
• Create, update, and delete roles (helps in tracking changes to security policy, change in user access
privileges)
• Create, update, and delete schedules
• Connection to the Credential Vault
• Create, update, and delete credentials
• Deploy the bots from the Enterprise Control Room to the remote Bot Runners.
• Pause, resume, and stop the ongoing automations.
• Any upload and download from Bot Creators and Bot Runners
• Any check-in, check-out of bots from Bot Creators and Bot Runners
• Update email and other settings
• Enable and disable secure recording.
• Change a license.

Create Bot Runner instance on BotFarm, release virtual machine, terminate virtual machine.

© 2020 Automation Anywhere. All rights reserved.     61


    Automation Anywhere - Explore

The Enterprise Control Room can be configured to export audit logs to an external log consolidation
and reduction server via the Syslog protocol. This enables integration with Security Event Incident
Management (SEIM) systems, for example, Splunk or LogRhythm. Configure the Syslog integration from
the Settings -> Syslog page in the Enterprise Control Room.
Syslog integration uses either UDP or TCP, and is configured to use TLS encryption between the
Enterprise Control Room and the remote Syslog server.

RBAC on audit log

Audit is automated for all privileged and nonprivileged roles to conform to best practices as defined in
NIST AC-6. Access is view-only based on a deny-all and allow by exception based on roles and domains
as defined in the Audit Section 7 addressing Audit and Accountability (NIST AU 1 through 15) and as
required by NIST AC-2 Automated System Account Management.
If a role does not have permission to view Audit Logs, the Audit Trail tab is not visible to all members of
those roles. Audit automatically captures all events related to creation, modification, enable, disable, user
removals, bots, Bot Creators, and Bot Runners.

Enterprise Control Room Bot Creator and Bot Runner activity logging

For every Bot Creator and Bot Runner, the Automation Anywhere Enterprise platform does
comprehensive activity logging for bots, workflows, and reports.
Some of the key activities logged include the following:
• Task creation, update, deletion (task is a type of bot).
• Task run
• Workflow creation, update, deletion
• Workflow run
• Report creation, update, deletion
• Report run
• Change in bot properties

Audit of Bot Runner operations

Bot Insight captures additional Bot Runner events for review and analysis of audit records for indications
of inappropriate or unusual activity. The Bot Insight logs can be exported for further analysis. Automated
dashboards and reports are available and can be customized to identify and alert on anomalous
activity. These capabilities conform to best practices as defined in NIST AU-6 Audit Review Analysis and
Reporting.

Audit log nonrepudiation

The logs are protected against an individual (or process acting on behalf of an individual) falsely denying
having done authorized actions through read-only privileges, automated event capture, and binds the
identity of the user to the actions, in conformance with best practices as defined in NISGT AU-10 Non-
repudiation and AU-11 Association of Identities.

© 2020 Automation Anywhere. All rights reserved.     62


    Automation Anywhere - Explore

Export audit logs

All Enterprise Control Room and Bot Insight Bot Runner logs are exported to a Security Event Information
Management Systems for further analysis to support the organizations incident response efforts in
accordance with the NIST AU-6 and IR-5 requirements.

Additional security controls


Automation Anywhere Enterprise Control Room restricts the database connection configuration with the
system administrator account.

Restrict installation from database system administrator account

All the database level transactions are done with a nonsystem administrator account. The Enterprise
Control Room installer passes the SQL Server 2012 certification test.

Autolock the device

When Automation Anywhere Enterprise bots are deployed from the Enterprise Control Room to
remote Bot Runners, they revert the Bot Runner system to its original state. For example, if the Bot
Runner machine was logged off and our bot logged into the machine, it logs it off after the automation
execution finishes. This ensures that system level security is not compromised.

Using SHgetKnownFolderPath function

Automation Anywhere software uses the SHGetKnownFolderPath function and Knownfolder_ID to


determine the full path to the special folders. This is a recommended practice from Microsoft and use
of this function ensures that system will never redirect automation data to any other folder, even if
someone attempts to hack the function call. This is also one of the InfoSec requirements of Automation
Anywhere Enterprise customers.

API level security

Automation Anywhere software does authentication and authorization level checks at the API level. API
calls are serviced only for those users who have permission on the automation data. Unauthorized users
cannot bypass system security through rogue API calls.

Clean uninstall

When Automation Anywhere Enterprise client software is uninstalled, it leaves no trailing files or folders
behind. This clean uninstall of the Enterprise client software complies with InfoSec policies.

Store data in Program Data folder

Automation Anywhere Enterprise client software allows storing of automation data in the Program
Data folder, for the files which must be edited by end users. Permissions are also set on the directory

© 2020 Automation Anywhere. All rights reserved.     63


    Automation Anywhere - Explore

during the installation so that the user can edit the content of the folder. This complies with the InfoSec
requirements of Automation Anywhere Enterprise customers.

Protected handling of MSVC DLL files

Automation Anywhere Enterprise client software uses MSVCxxx.dll files for automation purposes, but
it does not install these files by itself. Client software directly uses the DLL files installed by only the
Microsoft operating system. This ensures that client software does not overwrite the DLL files installed
by Microsoft and our customers do not have to worry about doing one more cycle of checking for any
introduced vulnerabilities.

Assembly manifest

All the executables (.exe file) of the Automation Anywhere Enterprise Control Room and Enterprise client
software contain the manifest files which describe assembly metadata, for example, filename, version
number, and culture. This makes our platform comply with organizational InfoSec policies.

Application path on network

Automation Anywhere Enterprise supports configuration of reading and writing automation data to a
location on a network drive. This enables users to keep all automation data at one place.

Autologin without disabling legal disclaimer

When Automation Anywhere Enterprise bots are deployed from the Enterprise Control Room to remote
Bot Runners, our customers do not need to change security settings, for example, disable login page,
disable legal disclaimer, or disable screensaver. Automation deployment works seamlessly without
disabling these settings.

Secure Java automation

The Automation Anywhere Enterprise platform can securely automate even those difficult-to-automate
business applications which download the Java runtime environment (jre) during automation execution.
Whenever these applications are started, an Automation Anywhere Enterprise agent gets associated with
Java executable noninvasive and automates the business application. After the automation finishes, the
Automation Anywhere Enterprise agent is automatically terminated.

Automation in nonEnglish languages

Users can securely use German, French, Italian, and Spanish language keyboard characters through the
embedded automation commands in Bot Creators. This enables users to write data into these languages.
Automation Anywhere customers do not need to depend on less secure third-party libraries for this
automation.

© 2020 Automation Anywhere. All rights reserved.     64


    Automation Anywhere - Explore

Mobile application overview


Use this landing page to access the collection of topics related to the Automation Anywhere Mobile
application.
The Automation Anywhere Mobile application offers clients the ability to monitor and manage their
digital workforce through their mobile devices. The application provides real-time data on the client's
return on investment, bot status (completions and failures), and the ability to start, pause, and stop bots.
Related tasks
Connecting manually to an Enterprise Control Room
Connect to a Enterprise Control Room from the Automation Anywhere Mobile application with a self-
signed certificate.
Related reference
Mobile app capabilities
The Automation Anywhere Mobile RPA application capabilities include the Cost Savings Dashboard, Bot
Activity Dashboard, Bot Start / Stop, and Best Workers.
Mobile application FAQs
Ust this topic for answers to common questions about the Automation Anywhere Mobile application.

Mobile application FAQs


Ust this topic for answers to common questions about the Automation Anywhere Mobile application.

What mobile platforms and versions are Apple iOS 10.0 or later
supported? Android 8.1 or later
How much space does the mobile app take? The application is about 30 MB.
What version of Automation Anywhere Enterprise Automation Anywhere Enterprise Control Room
Control Room is required? version 11.3.1. or greater is required.
How do I enable the Return on Investment mobile Enable Bot Insight and customize the Center of
dashboard? Excellence dashboard.
Is the communication between the Automation Yes, the communication between Automation
Anywhere Enterprise Control Room and the Mobile Anywhere Enterprise Control Room and the Mobile
app secure? application is TLS-encrypted.

Mobile app capabilities


The Automation Anywhere Mobile RPA application capabilities include the Cost Savings Dashboard, Bot
Activity Dashboard, Bot Start / Stop, and Best Workers.

Overview

Use the Automation Anywhere Mobile application to monitor and manage bots. The application offers
the following capabilities:

Cost Savings Dashboard Provides data visualizations to demonstrate the


client's return on investment.

© 2020 Automation Anywhere. All rights reserved.     65


    Automation Anywhere - Explore

Note: The demonstration uses example data


for a Center of Excellence Dashboard. Mobile
application users who are connected to the
Enterprise Control Room see their custom
dashboards.

Data is presented in the following panels:


• Calculations of Total Bot Run-Time, Total Hours
Saved, and Total Money Saved
• Pie chart of Hours Saved By Process (by
department or process)
• Bar chart of Hours Saved (by month)
• Bar chart of Money Saved (by month)

Bot Activity Dashboard Reports the status of each bot with details of start
date and time, run-time, and device name.
The Completed bots panel also reports the total
number of runs.
Bot Start / Stop Enables users to start, pause, or stop individual
bots.
Best Workers Enables users to select key bots for monitoring by
clicking the star to the left of a bot.
The information icon to the right of a bot opens a
panel with the following information:
• Average Run-Time (seconds)
• Minimum Run-Time (seconds)
• Maximum Run-Time (seconds)
• Total Number of Runs
• First Run Date and Time
• Most Recent Run and Time
• Next Run Date and Time

Connecting manually to an Enterprise Control Room


Connect to a Enterprise Control Room from the Automation Anywhere Mobile application with a self-
signed certificate.
The Automation Anywhere Enterprise Control Room URL might not be published externally (publicly).
Mobile application users must either connect to the same Wi-Fi as their organization, or use a VPN to
ensure IP accessibility.

Note: Ensure that you enter the entire URL and port for the Enterprise Control Room, for
example,http://10.20.30.123:8080.

Follow these steps to manually install a self-signed certificate on the mobile device:
1. Download and install the *.cer file.
Find the file through Safari for iOS and Chrome for Android.

© 2020 Automation Anywhere. All rights reserved.     66


    Automation Anywhere - Explore

2. When prompted, opt to manually Trust the installed certificate profile.


For iOS
For Android

Related concepts
Mobile application overview
Use this landing page to access the collection of topics related to the Automation Anywhere Mobile
application.
Related reference
Mobile app capabilities
The Automation Anywhere Mobile RPA application capabilities include the Cost Savings Dashboard, Bot
Activity Dashboard, Bot Start / Stop, and Best Workers.

General Data Protection Regulation guidelines


The General Data Protection Regulation (GDPR) is one of the strictest compliance frameworks for
maintaining privacy of personal data. The GDPR defines personal data as any data that can be used to
identify a natural person (Data Subject).
For the most current description of Automation Anywhere GDPR compliance statement, see Master
License Agreement and Cloud Security and Compliance with Data Privacy.

© 2020 Automation Anywhere. All rights reserved.     67


    Automation Anywhere - Install and upgrade Enterprise A2019

Install and upgrade Enterprise A2019


This collection of topics guides you through the process of setting up Automation Anywhere Enterprise.

Legal disclaimer: The information provided in this workflow might vary depending on which offering is
being used. Administrator steps might not be applicable to Enterprise A2019 or Community Edition.

1. System prerequisites: Enterprise A2019 (Cloud deployed) and Community Edition prerequisites:
a. If you are using Community Edition, Register as a Community user.
b. Verify your device meets Enterprise A2019 (Cloud deployed) and Community Edition device
requirements.
On-Premises administrators, verify your datacenter meets Enterprise A2019 On-Premises
prerequisites.

2. Administrators set up bot users.


These tasks only apply to administrators. Bot users, skip this step and proceed to the step 3.
a. Receive your administrator credentials.
Enterprise A2019 (Cloud deployed) administrators: Receive your login credentials, with
administrator privileges, and your Enterprise A2019 dedicated URL from Automation Anywhere
Enterprise.
Enterprise A2019 (On-Premises) administrators: Receive your licensing information from
Automation Anywhere Enterprise and install Enterprise A2019: Enterprise A2019 On-Premises
Enterprise Control Room installation. The installation user is assigned administrator privileges.
b. Log in to a supported device, open a supported web browser, and log in to your Enterprise
Control Room using the dedicated URL: Enterprise A2019 (Cloud deployed) and Community
Edition device requirements, Log in to Enterprise A2019.
c. Create your bot users by assigning a role and device license: Create user, Create an Active
Directory user.
d. Set up email notifications to Enterprise Control Room users when events affect them, such as
changes to passwords or user information, and account activation or deactivation. Set up email
notifications.

3. Receive your bot user login credentials and the Enterprise A2019 Enterprise Control Room dedicated
URL.
Community Edition users, if you do not have an Enterprise A2019 account, register for a free
Community Edition account by visiting Automation Anywhere Community Edition.
Credentials are sent to you from your company's Automation Anywhere Enterprise administrator or
from Automation Anywhere Enterprise.
4. Log in to your Enterprise A2019 account.
Log in to a supported device, open a supported web browser, and log in to your Enterprise Control
Room: Enterprise A2019 (Cloud deployed) and Community Edition device requirements, Log in to
Enterprise A2019.

© 2020 Automation Anywhere. All rights reserved.     68


    Automation Anywhere - Install and upgrade Enterprise A2019

5. Register your device and install the Bot agent: Register device and install Bot agent.

Note: The Bot agent is installed only on devices running the supported Windows operating systems.
See Enterprise A2019 (Cloud deployed) and Community Edition device requirements. However, you
can still build bots using the Bot editor for creating bots.

6. Start creating bots: Create your first bot or Build a Go be Great bot.

Related tasks
Register as a Community user
Steps to register yourself in the Automation Anywhere Enterprise Community Edition for using the
Community Control Room to create and run bots.
Log in to Enterprise A2019
To log in to Enterprise A2019, open the Enterprise Control Room URL in your browser, enter your
credentials in the login screen, and click Log in.
Set device credentials
To enable a device for running bots, set the local device credentials.
Related reference
Enterprise A2019 (Cloud deployed) and Community Edition device requirements
Review the machine hardware specifications, operating system versions, and browser types supported by
Automation Anywhere Enterprise for creating and running bots as an Enterprise A2019 (Cloud deployed)
or Community Edition user on your local machine.
Supported browsers for Automation Anywhere Enterprise Cloud
The user interface for Automation Anywhere Enterprise for On-Premises Cloud, Automation Anywhere
hosted Cloud edition, and Community Edition, is through a browser.

Getting started with Enterprise A2019 (Cloud deployed) and


Community Edition
Use these tasks to prepare for, and start creating and using bots with Automation Anywhere Enterprise
A2019 (Cloud deployed) and Community Edition.
The following is a workflow for creating and using bots in Enterprise A2019 or Community Edition:

Prerequisites for Enterprise A2019 (Cloud Determine whether your device meets the
deployed) and Community Edition prerequisites required hardware and software requirements to
register your device with Automation Anywhere
Enterprise and create or run bots.
1. Receive your Enterprise Control Room URL and The URL points to your Automation Anywhere
login credentials. Enterprise instance.
• If you are an Automation Anywhere Enterprise
Community Edition user, the login credentials
are those you set when you registered.
See Register as a Community Edition user and
complete the steps.
• If you are your company's principal
administrator and ordered cloud-deployed
Enterprise A2019, you receive an email from
Automation Anywhere with your URL and
credentials.

© 2020 Automation Anywhere. All rights reserved.     69


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Log in to Enterprise A2019. To log in to Enterprise A2019, open the Enterprise


Control Room URL in your browser, enter your
credentials in the login screen, and click Log in.
3. Register device and install Bot agent and Set The Bot agent is a lightweight application that
device credentials. enables you to run bots on your device by
connecting a local machine to the Enterprise
Control Room. To run bots on a local machine,
install the Bot agent and add the local device to
the list of enabled host devices.
To enable a device for running bots, set the local
device credentials.

Video: Install the Bot agent and register your


device

If you are using an operating system other than


Windows, you will not be able to install the Bot
agent at this time. See system requirements.
However, you can still build bots using the Bot
editor.

4. Create your first bot. Follow these steps to create your first bot
that prints the message, Go be great!, the
Automation Anywhere version of Hello World!

Video: Create your first bot

5. Run your first bot. Run a bot from the same device that you used to
create the bot.

Video: Run your first bot in Community Edition

Video: Get started with Enterprise A2019

Enterprise A2019 (Cloud deployed) and Community Edition


prerequisites
Determine whether your device meets the required hardware and software requirements to register your
device with Automation Anywhere Enterprise and create or run bots.
If your device meets the requirements, you then register your device with Automation Anywhere
Enterprise, open a supported browser, log in to the Enterprise Control Room, and run your bot tasks. This
includes creating and running bots.

© 2020 Automation Anywhere. All rights reserved.     70


    Automation Anywhere - Install and upgrade Enterprise A2019

Enterprise A2019 (Cloud deployed) and Community Edition device


requirements
Review the machine hardware specifications, operating system versions, and browser types supported by
Automation Anywhere Enterprise for creating and running bots as an Enterprise A2019 (Cloud deployed)
or Community Edition user on your local machine.

Hardware requirements for registered devices

You communicate with the Enterprise Control Room, through a registered local machine (device). Part of
registering a device with Automation Anywhere Enterprise is installing a Bot agent. The Bot agent can be
installed on devices that meet the following hardware requirements.

Device Processor RAM Storage (free disk Network


space)

Machine Intel Core i5 2.6 4 GB minimum 32 GB 1 GbE


GHz
8 GB
recommended

Bot Creator and No additions No additions Add 100 through No additions


Bot Runner to the machine to the machine 150 KB per to the machine
requirements requirements Automation requirements
Anywhere script
Add 40 through
50 GB per long-
term project

RAM on Cloud or Community Edition machines Add additional RAM to account for applications
and services running on the Automation Anywhere
Enterprise machine, for example:
• Microsoft Office applications (example: Excel)
• Browsers (example: Google Chrome)
• Enterprise applications (example: CRM, Oracle
EBS, and SAP)
• VDI infrastructure applications
• Anti-virus software

Storage disk space on Cloud or Community • Automation Anywhere Enterprise scripts


Edition machines average approximately 100-150 KB. Additional
free disk space is required to develop
automation projects because temporary files
such as screenshots, server logs, and audit
files are created during the execution of the
automation scripts.
• Free space required increases with the project
size. Recommendation: Have at least 40-50 GB
of free disk space for each long-term project.

© 2020 Automation Anywhere. All rights reserved.     71


    Automation Anywhere - Install and upgrade Enterprise A2019

• Increase storage space configuration after


installation, as needed, depending on product
usage. For example, depending upon the
complexity of your bot, generating log files and
logic creation require additional disk space later.

Supported operating systems

To do Bot Creator and Bot Runner tasks on a device, register the device with Automation Anywhere
Enterprise. The device must have one of the listed operating systems.

Note: Bot Creator tasks and attended Bot Runner tasks deployed through triggers are supported with all
the listed operating systems. For unattended Bot Runner tasks, use file and folder triggers.

Bot agent version to Enterprise A2019 version

Bot agent version Cloud deploy On-Premises deploy

2.0.2 Cloud Build 2079 On-Premises Build 2079

1.0.2 Cloud Build 1598 On-Premises Build 1610

1.0.1 Cloud Build 1082 On-Premises Build 1089

Enterprise A2019 supported platforms

Platform type Cloud deploy On-Premises deploy

Amazon Web Services Elastic Cloud Build 2079 or later On-Premises Build 2079 or
Compute Cloud (EC2) later

Microsoft Azure Cloud Build 1598 or later On-Premises Build 1610 or later

On-Premises server Cloud Build 1082 or later On-Premises Build 1089 or


later

Enterprise A2019 supported operating systems

Windows version Windows edition Cloud deploy On-Premises deploy


1,
Windows
2 Server 2019 Standard and Cloud Build 1082 or On-Premises Build
Datacenter later 1089 or later
1,
Windows
2 Server 2016 Standard and Cloud Build 1082 or On-Premises Build
Datacenter later 1089 or later

© 2020 Automation Anywhere. All rights reserved.     72


    Automation Anywhere - Install and upgrade Enterprise A2019

Windows version Windows edition Cloud deploy On-Premises deploy


1,
Windows
2 Server 2012 Standard Cloud Build 1082 or On-Premises Build
later 1089 or later
1, 2
Windows 10 Professional and Cloud Build 1082 or On-Premises Build
Enterprise later 1089 or later

(1) Unattended Bot Runners • Windows 10: unattended Bot Runners are fully
supported.
• Windows 2012 server, 2016 server, and 2019
server: unattended Bot Runnersare supported
only through File/Folder triggers.
• Windows 2012 server: UI triggers are not
supported. UI triggers are fully supported on
Windows 10, 2016 server, and 2019 server.

(2) Credential Vault Not supported on Version A2019 Builds 1598 and
1610.

Supported browsers for registered devices

The user interface for Automation Anywhere Enterprise is through a browser. Login to your device then
login to Enterprise Control Room through a browser.

Browser Browser version Automation Anywhere Supported bot functions by


2
Plug-in version Bot agent version

2.0.2 1.0.2 1.0.1

Google 57 or later 11 or 12 All except All All


1 Credential
Chrome
Vault
Microsoft 11 N/A None Debugger All except
Internet only Credential
Explorer Vault

(1) Google Chrome re-verification


CAUTION: Google Chrome requires
re-verification of permissions when the
Automation Anywhere Google Chrome
extension (Version 11.3.3 or later) is
updated. If prompted, click Enable this
item in the Google Chrome message.
Alternatively, re-enable the extension
through chrome web store. Similarly, if you
are deploying your Bot Runners from a
master image, accept the permission from
within that image.

© 2020 Automation Anywhere. All rights reserved.     73


    Automation Anywhere - Install and upgrade Enterprise A2019

(2) Google Chrome plug-in versions A2019 supports Chrome plug-in version 11. If
you have other versions installed, you might not
be able to record tasks using the Record feature
or Capture action. To resolve this issue, do the
following:
1. Rename the automation.chrome.agent
registry key to
automation.chrome.agent.old
The registry key is available at: Computer
\HKEY_CURRENT_USER\Software\Google
\Chrome\NativeMessagingHosts
2. Disable all other Google Chrome plug-in
versions you have installed, except for version
11.

Community capacity and limitations


Community users access and bot creation and running conditions.

Number of bot creators per Community Edition Each Community Edition user can use one Bot
user Creator in one Cloud Control Room at a time.
Number of bots created by Community Edition Each Community Edition user can create multiple
user bots,
Number of bots run by Community Edition user Each Community Edition user can run one bot at a
time on any one registered device.
Number of registered devices per Community Each Community Edition user can register multiple
Edition user devices, but only be logged into one at a time,
and only run a bot on one device at a time. See
Register a device

Register as a Community user


Steps to register yourself in the Automation Anywhere Enterprise Community Edition for using the
Community Control Room to create and run bots.
1. From the Automation Anywhere website, https://www.automationanywhere.com/, scroll to and click
the Get Community Edition button.
Alternatively, select Customers & Partners > A People Community > Community Edition. Scroll to the
registration form: GET COMMUNITY TODAY.
2. Enter your identification information in the form that appears.
The form information includes: your first name, last name, email, country, phone number, and
company.
This information is used to create your Community Edition user login credentials.
3. Read and agree to the terms, privacy policy, and license agreement. Select and click Submit.

Await the email from Automation Anywhere that contains the information for you to login to Automation
Anywhere Enterprise Community Edition. This includes: Community Control Room URL, your username
and assigned user password. After you login, you are prompted to reset your password.

© 2020 Automation Anywhere. All rights reserved.     74


    Automation Anywhere - Install and upgrade Enterprise A2019

To learn more, see Training - Create bots without installation. This course introduces you to learn how to
download and register as a new Community Edition user.

Note: You must log in with a registered A-People Community account to access course.

Log in to Enterprise A2019


To log in to Enterprise A2019, open the Enterprise Control Room URL in your browser, enter your
credentials in the login screen, and click Log in.
Receive your registration confirmation email.

Enterprise A2019 users This is sent by your system administrator.


Community Edition users 1. Register for the Community Edition. See
Register as a Community user.
2. This is sent by Automation Anywhere using
the information your provided when your
registered.

This email contains:


• Enterprise Control Room URL
• Username
• Temporary password. Reset this password when you login the first time.

1. Open the URL in your browser.


2. In the Log in form, enter your username and password.
If this is the first time you are logging in, use the password provided in your welcome email.
3. First-time users: Change your password, and for Cloud users, create your security questions.
The change password and create security questions form automatically opens when your log in for
the first time. Complete the form.
a) Complete the Change password fields.
Type your current password. Then type the new password twice. Passwords are 8-15 characters
long and can only contain the characters: a-z, A-Z, 0-9, at sign (@), dash (-), underscore (_),
exclamation (!), pound (#), dollar ($), percent (%), ampersand (&), and period (.).
b) For Cloud users: In each field pair of Question # and Answer, type a question and an answer
that you will remember in the event your forget your password or need to confirm your login.
c) Click Save and log in.

After first login, to change password, click your username, select Change password, and complete
the form.
4. Optional: Select Remember my username to quickly log in to the Cloud Control Room.
5. Optional: Click Forgot password? to reset your password.
An email is sent to you with a link to the necessary page to reset the account password.

© 2020 Automation Anywhere. All rights reserved.     75


    Automation Anywhere - Install and upgrade Enterprise A2019

6. Click Log in.


The credentials are authenticated directly with the Cloud Control Room or Community Control
Room database.

Note: Your account is locked if you type the wrong password a specific number of times depending
on the password policy set by your administrator. For security reasons, failed log-in attempts are
audited. This allows the administrator to analyze and take appropriate actions.

Related tasks
Create your first bot
Follow these steps to create your first bot that prints the message, Go be great!, the Automation
Anywhere version of Hello World!
Register a device

Register device and install Bot agent


The Bot agent is a lightweight application that enables you to run bots on your device by connecting a
local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent and
add the local device to the list of enabled host devices.

Note: Use the mouse to roll over action icons to identify specific functions.

1. Log in to the Enterprise Control Room through your Automation Anywhere Enterprise URL.
2. Navigate to MY DEVICES.
3. From the action icons, click Add local bot agent.
4. Click Connect to my computer.
5. Follow the steps outlined in the wizard.
6. Refresh the My Devices page and verify that the local device is added.

Video: How to Install the Bot Agent in Enterprise A2019

Set device credentials. Optionally, Edit profile.


To learn more, see Training - Bot Runners and Control Room communicate without human intervention.
This course introduces you to learn how to register devices in the Enterprise Control Room
To access this course, you must log in with a registered Automation Anywhere University or A-People
account. .
Related tasks
Create device pools
Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
Related reference
Manage my device pools

© 2020 Automation Anywhere. All rights reserved.     76


    Automation Anywhere - Install and upgrade Enterprise A2019

As a Device Pool administrator you can create, edit, and view all devices pools that can be used for
scheduling automations. The device pool gives the ability to restrict bot deployments to a specific set of
devices and to take advantage of any available device in the pool.

Manually update the Bot agent


The Bot agent, a lightweight application that enables you to run bots on your device, requires an update
when a new version becomes available.
Ensure that you have the proper permissions to access and edit the Windows services.
1. Stop the Bot agent service from the local Task Manager.
2. Optional: Go to the C:\Windows\System32\config\systemprofile\AppData\Local
\AutomationAnywhere folder and delete the registration.properties file.

Note: This is only required if you want to register the device in a different Enterprise Control
Room environment. To see the Enterprise Control Room where the device is registered, open the
Registration.properties file and check the value for the Enterprise Control Room URL.

3. Log in to the Enterprise Control Room.


4. Navigate to Devices > My devices.
5. Click the Add local device icon.
6. Download and install the latest Bot agent.
7. Return to Devices > My devices from the updated device.
The Registration.properties file is not generated immediately after the Bot agent installation.
Instead, it is generated only when a user accesses an Enterprise Control Room URL from that
device. If the device registration is successful, the machine appears as Connected and the
Registration.properties file is created at the given location on the Bot Runner machine.
8. Navigate to the C:\Windows\System32\config\systemprofile\AppData\Local
\AutomationAnywhere folder and ensure that the registration.properties file is present to
verify the Bot agent update.

Video: Update your Bot agent

Related tasks
Register device and install Bot agent
The Bot agent is a lightweight application that enables you to run bots on your device by connecting a
local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent and
add the local device to the list of enabled host devices.

Set device credentials


To enable a device for running bots, set the local device credentials.
The Bot agent is a lightweight application that enables you to run bots on your device by connecting
a local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent
and add the local device to the list of enabled host devices. Add the local device before editing the
credentials. See Register device and install Bot agent.
For Automation Anywhere Enterprise Community Edition users, your profile contains only one set of
credentials at a time. These credentials are applied to any device you select to run your bots. Ensure
each device that you use accepts the credentials in your profile.

© 2020 Automation Anywhere. All rights reserved.     77


    Automation Anywhere - Install and upgrade Enterprise A2019

Automation Anywhere Enterprise Cloud users have the option to apply different credentials to registered
devices.
1. Click the Device icon and select Update credentials.
2. In the Device login credentials section, enter the Username and Password for the device.
Device login credentials are required to run a bot from this device.
If your username is part of a domain, include the domain within the format domain\username.
Typically, home users are not part of a domain, unless they are specifically configured.
3. Click Update.

Create your first bot

Create your first bot


Follow these steps to create your first bot that prints the message, Go be great!, the Automation
Anywhere version of Hello World!
Log in to your instance of the Automation Anywhere Enterprise Community Control Room or Cloud
Control Room.
These steps describe the guided workflow for first time users. The guided workflow is only displayed the
very first time you complete these steps.
1. Open a new bot.
a) From Automation Anywhere web interface, select Bots > My bots.
b) Click Create TaskBot.
c) Enter a bot name.
d) Accept the default folder location \Bots\.
To change where your bot is stored, click Choose and follow the prompts.
e) Click Create and Edit.

2. Insert a Message box package action.


a) Click Actions.
b) Search for the Message Box package.
Click in the Actions search box and type the word, message. Click the arrow to expand the
Message Box options.
c) Double-click or drag the Message Box action to the Bot editor (open space to the right).
A dialog box to configure the action opens.

3. Specify the conditions for the Message Box action.


a) In the Enter the message box window title field, type My first bot!.
b) In the Enter the message to display field, type Go be great!.
c) Accept the defaults in the Scrollbar after lines field and Close message box after check box.
d) Click the Apply button to save your message edits.
The Message Box action is added to the flowchart in the Bot editor.

4. Click Save.
Your bot is now ready to run.

© 2020 Automation Anywhere. All rights reserved.     78


    Automation Anywhere - Install and upgrade Enterprise A2019

1. Click through the Bot editor options for viewing and editing bots:
They are located at the top of the Bot editor.
• Flow: Graphical representation of the process (default).
• List: Sequential entries for each action.
• Dual: Split screen of the Flow and List views.

2. Run your bot from your Automation Anywhere Enterprise device. See Run your first bot.

Run your first bot


Run a bot from the same device that you used to create the bot.
Log in to your instance of the Automation Anywhere Enterprise Community Control Room or Enterprise
Control Room.
Complete these previous steps:
1. Register device and install Bot agent
2. Set device credentials
3. Create your first bot

These steps describe the guided workflow for first-time users. The guided workflow is only displayed the
very first time you complete these steps.
You can run a bot from the following devices:
• The same device you are using to log in to the Community Control Room or Enterprise Control
Room.
• Another device you registered that has the same login credentials as the machine you are using to log
in to your Community Control Room or a device with defined credentials in the Enterprise Control
Room.

1. Locate and select your bot.


From your Community Control Room or Enterprise Control Room dashboard, select BOTS > My
Bots.
2. Select the bot to run.
From the Files and folders table, mouse over the ellipsis (three stacked dots) to the right of your bot's
name.
The Edit TaskBot panel appears.
3. Click the Run Task bot icon.
The Run bot now window opens. In the Task Bots table, your bot is selected to run.
4. Click Next.
The Device tab opens with a table of one or more registered devices.
5. If your device is not already selected, select your device to run the bot, and click the right arrow.
6. Click Run bot now.
Automation Anywhere Enterprise uses the credentials in your profile to log in to the device you
selected and runs the bot.
The In progress activity window opens with the status of the running bot. When the bot is done, it
disappears from this window.

© 2020 Automation Anywhere. All rights reserved.     79


    Automation Anywhere - Install and upgrade Enterprise A2019

7. Click Historical to see if your bot ran successfully.

Video: Run your first bot


To see how to run your first bot, watch this video demonstrating the steps in Community Edition.

Build bots using variables, actions, and the Universal Recorder. See Get started building bots.

Enterprise A2019 On-Premises prerequisites


Determine whether the system has the required hardware and software to install Enterprise Control
Room for A2019 On-Premises deployment.

Hardware requirements

Enterprise Control Room server requirements The Enterprise Control Room is deployed on
servers in data centers. The minimum Automation
Anywhere hardware requirements include: server
type, machine type, processor, RAM, disk storage,
and network requirements.

Enterprise Control Room operating system Enterprise Control Room is installed on machines
compatibility with supported operating systems.
Bot agent compatibility Bot agent is the Automation Anywhere Enterprise
plug-in that allows you to create and run bots. Bot
agent is installed on devices used to access the
Enterprise Control Room. Installing the Bot agent is
part of registering a device.
Credential requirements Login credentials are required at different stages
of Automation Anywhere deployment and use.
Credentials are required for installation and data
center servers, access to Automation Anywhere
components, and to run tools in bots.

Data center requirements

Database requirements Two database instances of the same database


type are created during Automation Anywhere
installation. View the list of supported databases,
database server type, version, hardware, and
operating system requirements, and database
backup and recovery requirements.

Working with SQL Configure Microsoft


Servers SQL Servers before
setting up the Enterprise

© 2020 Automation Anywhere. All rights reserved.     80


    Automation Anywhere - Install and upgrade Enterprise A2019

Control Room
database.

Working with Azure SQL Using PaaS SQL


PaaS database with Azure
requires configuration
from the Azure
instance.

Load balancer requirements View the load balancer requirements for


Automation Anywhere installation. This includes
load balancer minimums, and both TCP and
HTTPS layer load balancing requirements.
Ports, protocols, and firewall requirements View the default and configurable firewall, port,
and protocol requirements for Automation
Anywhere deployment.
Supported browsers for Automation Anywhere The user interface for Automation Anywhere
Enterprise Cloud Enterprise for On-Premises Cloud, Automation
Anywhere hosted Cloud edition, and Community
Edition, is through a browser.

HA, DR, and single-node deployments Identify your key requirements before selecting
a deployment model. Automation Anywhere
Enterprise offers multiple deployment options
to meet various levels of enterprise cost/price
performance and resiliency needs. This includes
installation on single-nodes, Highly Available (HA)
clusters, and Disaster Recovery (DR) sites.

High Availability The High Availability


deployment model (HA) deployment
model provides failure
tolerance for the
Enterprise Control
Room servers, services,
and databases.

Disaster Recovery The Disaster Recovery


deployment model (DR) deployment model
uses high availability
(HA) clusters distributed
over a geographic area.

Related concepts
Installing Enterprise Control Room on Microsoft Azure
Installing Enterprise Control Room on Microsoft Azure begins in the Azure environment and ends with
configurations in the Enterprise Control Room.
Installing Enterprise Control Room on Amazon Web Services
Login to an Amazon Web Services (AWS) server instance as Administrator. Then download and start the
Enterprise Control Room installer and select Custom mode.
Installing Enterprise Control Room using Custom mode

© 2020 Automation Anywhere. All rights reserved.     81


    Automation Anywhere - Install and upgrade Enterprise A2019

Login to the server as Administrator, and install Automation Anywhere Enterprise Control Room
in Custom Mode to select installation and configuration options, including installing non-default
requirements. Select this mode for a data center deployment.
Related tasks
Installing Enterprise Control Room using Express mode
Login to the servers as an Administrator and install Automation Anywhere Enterprise Control Room in
Express Mode using the default settings.
Installing Enterprise Control Room using scripts
Silent Enterprise Control Room installation, also known as unattended installation, uses a customized
Powershell script for a full setup or the command line for a hot fix patch. Silent install runs the entire
installation process in the background without requiring user interaction or displaying messages.

Enterprise Control Room server requirements


The Enterprise Control Room is deployed on servers in data centers. The minimum Automation
Anywhere hardware requirements include: server type, machine type, processor, RAM, disk storage, and
network requirements.

Note: Automation Anywhere does not provide any monitoring functions for repository such disk space
usage, memory or other alert mechanisms related to repository. There are commercial tools available
from other third party independent software vendors (ISV) who provide such tools.

The installation wizard requires the following:


• IP addresses. Identify all the nodes (servers) IP addresses in the data center cluster before installation.
You provide these IP addresses during Enterprise Control Room installation.
• Access hardware. To enable viewing the Automation Anywhere interface, provide:
• keyboard
• mouse or other pointing device
• monitor with 1366 x 768 or higher resolution

Note: For IQ Bot server requirements, see IQ Bot hardware and software requirements.

Enterprise Control Room must be installed on a 64 bit, server level machine and there can only be one
instance of it on the machine. All previous Enterprise Control Room versions must first be removed from
the server machine before you begin the installation.
The following server requirements for Windows and Linux.

Component server Processor RAM Storage Network


(free disk space)

Enterprise Control 8 core Intel Xeon 16 GB 500 GB 10 GbE


Room Servers Processor

© 2020 Automation Anywhere. All rights reserved.     82


    Automation Anywhere - Install and upgrade Enterprise A2019

Enterprise Control Room operating system compatibility


Enterprise Control Room is installed on machines with supported operating systems.

Enterprise Control Room supported operating systems and platforms

The Enterprise Control Room can be installed on machines running the following operating systems.
Both 32-bit and 64-bit OS versions are supported.

Enterprise Control Room Windows Server 2019 Windows Server 2016 Linux
1 Standard and Datacenter Standard and Datacenter
build version CentOS 7.x
RHEL 7.x

On-Premises Build xxxx On-Premises On-Premises On-Premises


Cloud Build xxxx Amazon Web Services Amazon Web Services

Microsoft Azure

On-Premises Build On-Premises On-Premises


2079
Amazon Web Services
Cloud Build 2079
Microsoft Azure

On-Premises Build On-Premises On-Premises


1610
Amazon Web Services
Cloud Build 1598

On-Premises Build On-Premises On-Premises


1089
Amazon Web Services
Cloud Build 1082

(1) Active Directory Use On-Premises builds for Microsoft Active


Directory installations.

Bot agent compatibility


Bot agent is the Automation Anywhere Enterprise plug-in that allows you to create and run bots. Bot
agent is installed on devices used to access the Enterprise Control Room. Installing the Bot agent is part
of registering a device.

Bot agent hardware requirements


In an On-Premises environment, install the Bot agent on a machine that meets the following
requirements.

© 2020 Automation Anywhere. All rights reserved.     83


    Automation Anywhere - Install and upgrade Enterprise A2019

Device Processor RAM Storage (free disk Network


space)

Machine Intel Core i5 2.6 4 GB minimum 32 GB 1 GbE


GHz
8 GB
recommended

Bot Creator and No additions No additions Add 100 through No additions


Bot Runner to the machine to the machine 150 KB per to the machine
requirements requirements Automation requirements
Anywhere script
Add 40 through
50 GB per long-
term project

RAM on Cloud or Community Edition machines Add additional RAM to account for applications
and services running on the Automation Anywhere
Enterprise machine, for example:
• Microsoft Office applications (example: Excel)
• Browsers (example: Google Chrome)
• Enterprise applications (example: CRM, Oracle
EBS, and SAP)
• VDI infrastructure applications
• Anti-virus software

Storage disk space on Cloud or Community • Automation Anywhere Enterprise scripts


Edition machines average approximately 100-150 KB. Additional
free disk space is required to develop
automation projects because temporary files
such as screenshots, server logs, and audit
files are created during the execution of the
automation scripts.
• Free space required increases with the project
size. Recommendation: Have at least 40-50 GB
of free disk space for each long-term project.
• Increase storage space configuration after
installation, as needed, depending on product
usage. For example, depending upon the
complexity of your bot, generating log files and
logic creation require additional disk space later.

Bot agent platform compatibility

Bot agent versions support the listed operating systems on a variety of platforms:

On-Premises machines Physical machines running any of the listed


operating systems.
Terminal servers Using remote desktop (RDP). All listed operating
systems.

© 2020 Automation Anywhere. All rights reserved.     84


    Automation Anywhere - Install and upgrade Enterprise A2019

Cloud servers Using Microsoft Azure or Amazon Web Services


running any of the listed operating systems.

Bot agent operating system and platform compatibility

The Automation Anywhere Enterprise Bot agent can be installed on machines running the following
operating systems. This applies to On-Premises, Cloud edition, and Community Edition of Automation
Anywhere Enterprise.

Windows version Windows edition Cloud deploy On-Premises deploy


1,
Windows
2 Server 2019 Standard and Cloud Build 1082 or On-Premises Build
Datacenter later 1089 or later
1,
Windows
2 Server 2016 Standard and Cloud Build 1082 or On-Premises Build
Datacenter later 1089 or later
1,
Windows
2 Server 2012 Standard Cloud Build 1082 or On-Premises Build
later 1089 or later
1, 2
Windows 10 Professional and Cloud Build 1082 or On-Premises Build
Enterprise later 1089 or later

(1) Unattended Bot Runners • Windows 10: unattended Bot Runners are fully
supported.
• Windows 2012 server, 2016 server, and 2019
server: unattended Bot Runnersare supported
only through File/Folder triggers.
• Windows 2012 server: UI triggers are not
supported. UI triggers are fully supported on
Windows 10, 2016 server, and 2019 server.

(2) Credential Vault Not supported on Version A2019 Builds 1598 and
1610.

Bot agent browser compatibility

Browser Browser version Automation Anywhere Supported bot functions by


2
Plug-in version Bot agent version

2.0.2 1.0.2 1.0.1

Google 57 or later 11 or 12 All except All All


1 Credential
Chrome
Vault

© 2020 Automation Anywhere. All rights reserved.     85


    Automation Anywhere - Install and upgrade Enterprise A2019

Browser Browser version Automation Anywhere Supported bot functions by


2
Plug-in version Bot agent version

2.0.2 1.0.2 1.0.1

Microsoft 11 N/A None Debugger All except


Internet only Credential
Explorer Vault

(1) Google Chrome re-verification


CAUTION: Google Chrome requires
re-verification of permissions when the
Automation Anywhere Google Chrome
extension (Version 11.3.3 or later) is
updated. If prompted, click Enable this
item in the Google Chrome message.
Alternatively, re-enable the extension
through chrome web store. Similarly, if you
are deploying your Bot Runners from a
master image, accept the permission from
within that image.

(2) Google Chrome plug-in versions A2019 supports Chrome plug-in version 11. If
you have other versions installed, you might not
be able to record tasks using the Record feature
or Capture action. To resolve this issue, do the
following:
1. Rename the automation.chrome.agent
registry key to
automation.chrome.agent.old
The registry key is available at: Computer
\HKEY_CURRENT_USER\Software\Google
\Chrome\NativeMessagingHosts
2. Disable all other Google Chrome plug-in
versions you have installed, except for version
11.

© 2020 Automation Anywhere. All rights reserved.     86


    Automation Anywhere - Install and upgrade Enterprise A2019

Credential requirements
Login credentials are required at different stages of Automation Anywhere deployment and use.
Credentials are required for installation and data center servers, access to Automation Anywhere
components, and to run tools in bots.

Access point Task Type

Data center servers Install Enterprise Control Room User on the hosting server:

• Windows - system
administrator
• Linux - superuser sudo,
root

Data center servers Manage (run, stop, restart) Administrator and Logon
Enterprise Control Room as Service permission for
Windows services and the
Domain.
Automation Anywhere login Perform specific tasks, such as License and role based
create a bot or run a bot. permissions
bot task Used by bots to perform bot Credential Vault stores securely
tasks. created credentials.
Automation Anywhere Service Run all Windows services Local system account user or
created by Automation Domain user account.
Anywhere

Data center server credentials Data center server credentials for Automation
Anywhere hosting servers and integrated product
servers are required to deploy Automation
Anywhere.
To install and deploy Automation Anywhere
requires that users login to the hosting servers.
These users must have permissions to install and
run Automation Anywhere components on the
servers. Permissions levels need to be assigned to
the user on selected data center applications and
servers.

Automation Anywhere login Login toAutomation Anywhere Enterprise requires


a username and password. These credentials
are linked to the machine you use to access
the Automation Anywhere components. Your
credentials are assigned roles that give you
permission to perform specific tasks, such as
create a bot or run a bot.
Bot task As an automation expert, Credential Vault
provisions you to securely create and store your
credentials. This ensures that your credentials can
be used in bots without compromising security
with safe deployment of tasks. Any authorized user
can create credentials.

© 2020 Automation Anywhere. All rights reserved.     87


    Automation Anywhere - Install and upgrade Enterprise A2019

Windows services The Windows Service credentials include a user


name and password. The user specified needs to
be:
• A member of the local system administrator
group.
• Have permission to manage services, including
Automation Anywhere services.

The service credentials are used to create database


tables and allow the Enterprise Control Room
processes to access the database and repository.
The service credential choices are:

Local System Account The logged on user


performing the
installation (default) .
Domain User Account A user that is not the
local system account
user.
Reasons and
requirements for using
a domain account user
include:
• Do not use the
Windows domain
credentials.
Enter credentials
valid for running
Automation
Anywhere services.
• PowerShell script
restrictions.
Specify a user with
permissions to
launch PowerShell
scripts, that is not a
Windows domain
user, or database
table creation can
fail.
• Remote PostgreSQL
Server for creating
the database.
Specify a domain
user account. Do
not use the local
system account user
when you are using
a remote database

© 2020 Automation Anywhere. All rights reserved.     88


    Automation Anywhere - Install and upgrade Enterprise A2019

server for creating


the database.

Database requirements
Two database instances of the same database type are created during Automation Anywhere installation.
View the list of supported databases, database server type, version, hardware, and operating system
requirements, and database backup and recovery requirements.
Automation Anywhere installation creates databases to store bot data and metadata for the analytics
dashboards.

Database server hardware requirements

Component server Processor RAM Storage Network

Microsoft SQL 4-core Intel Xeon 8 GB 500 GB 1 GbE


Server database Processor

Database server version and operating system requirements

Microsoft SQL Server database is required.

Database type Database version Installed database OS Configuration


requirement

Microsoft SQL Server 2017 Windows Server 2008 Installed and


database R2 Standard or later configured.
2016
Only option for
2014 SP1 Express Installations
Enable protocols for
Named Pipes and TCP/
IP.

Required database information for Automation Anywhere installation

When you install Automation Anywhere, you are prompted to provide information specific to the
database type you are using. The following table summarizes the required information.

Microsoft SQL Server database


Required information Description

Database (SQL Server) authentication Provide credentials for a Microsoft SQL Server
user who has permission to connect to the
database.

© 2020 Automation Anywhere. All rights reserved.     89


    Automation Anywhere - Install and upgrade Enterprise A2019

Microsoft SQL Server database


Required information Description

Database names Database names cannot be blank, have spaces,


or include a % (percent character). Restrict the
names to alphanumeric, period (.), dash (-), and
underscore (_).

Database port Default: 1433


Secure connection (optional) and certificate Provide a CA certificate. Ensure the certificate
host name and database connection are the
same.
Service credentials Provide Local system account user or Domain
user account. This becomes the assigned
user for the created databases and tables. The
preferred method is to use the Domain user
account.
Provide the user with system administrator or
database creator permission to create databases
during installation.

Windows authentication User-provided (or default) used to connect


to the Microsoft SQL Server, test database
exists, create database if not present, and set
db_owner to the service account user.
Linux authentication SQL Dababase server Login ID: saSQL Database
password: Automation123

Load balancer requirements


View the load balancer requirements for Automation Anywhere installation. This includes load balancer
minimums, and both TCP and HTTPS layer load balancing requirements.

Load Balancer Minimum Requirements


For best practice with Automation Anywhere, ensure the load balancer:
• (Required) Supports WebSocket protocol (RFC 6455)
• (Preferred) Has idle timeout set to 120 seconds
• (Preferred) Uses round-robin host selection. Is not configured to use persistent (sticky) sessions.
• (Preferred) Uses the appropriate TLS security layer:
• TCP (layer 4) load balancing
• HTTPS (layer 7) load balancing

© 2020 Automation Anywhere. All rights reserved.     90


    Automation Anywhere - Install and upgrade Enterprise A2019

TCP (Layer 4) Load Balancing

When TCP is applied at layer 4 with the load balancer, the certificate is installed on every Enterprise
Control Room corresponding to the load balancer URL.

Pros End-to-end encryption without the possibility of


intercept at the load balancer.
Single certificate required.
Cons If audit logging is required, the load balancer
cannot report the requests from clients.
Does not use TLS hardware offloading, even if the
load balancer supports it.

Ports, protocols, and firewall requirements


View the default and configurable firewall, port, and protocol requirements for Automation Anywhere
deployment.
Add Automation Anywhere to the Windows Firewall exception list. Follow the steps as directed by
Microsoft for your Windows version.
Configure the firewall rules for Enterprise Control Room. Refer to the following tables for lists of required
ports and their use.

Enterprise Control Room

Warning: It is critical that communication between the Enterprise Control Room servers is
properly protected. These Enterprise Control Room servers contain security sensitive information
that is not encrypted. Therefore, excluding the Enterprise Control Room servers, you should block
all other network hosts from accessing the listed Automation Anywhere cluster communication
ports.

Protocol Incoming Port Usage Clients

HTTP 80 HTTP Web browsers

HTTPS and
HTTPS 443 Web browsers
Web Socket

Enterprise Control Room


TCP 5672 Cluster Messaging
Services

© 2020 Automation Anywhere. All rights reserved.     91


    Automation Anywhere - Install and upgrade Enterprise A2019

Protocol Incoming Port Usage Clients

Cluster Messaging and Enterprise Control Room


TCP 47500 – 47600
Caching Services

Cluster Messaging and Enterprise Control Room


TCP 47100 – 47200
Caching Services

HTTP 47599 Elasticsearch Enterprise Control Room


Services
TCP 47600 Elasticsearch Enterprise Control Room
Services

Data center ports and protocols for Automation Anywhere Enterprise

Configure each of the data center components that are required for Enterprise Control Room
integration.

© 2020 Automation Anywhere. All rights reserved.     92


    Automation Anywhere - Install and upgrade Enterprise A2019

Default ports are listed for illustration purposes. Some ports can have alternative port numbers specified
during Enterprise Control Room installation. Some port numbers can be modified after Enterprise
Control Room installation. Active Directory ports are listed as an example of an enterprise identity
management.

Data center object Port default Protocol default Notes

Load balancer 443 HTTPS and web socket

80 HTTP

Firewall 443 HTTPS and web socket

80 HTTP

© 2020 Automation Anywhere. All rights reserved.     93


    Automation Anywhere - Install and upgrade Enterprise A2019

Data center object Port default Protocol default Notes

Enterprise identity 389 TCP (LDAP)


management
636 TCP (LDAP SSL)
Example: Active
Directory ports 3268 TCP (LDAP Global
controller)

3269 TCP (LDAP Global


controller SSL)

88 TCP/UDP (Kerberos)

Microsoft SMB file 445 TCP


share
Microsoft SQL 1433 TCP Override default at
database server Enterprise Control
Room installation.

Microsoft Azure supported data center elements

Data center object Version Configuration

Enterprise Control Room Windows 2016 IaaS


operating system
Identity management: Azure Azure Active Directory IDaaS
Active Directory
Windows 2016 for IaaS

SMB File Share Azure File Share PaaS (50 GB)


Load Balancer Azure Load Balancer (Not PaaS
Application Gateway)
Microsoft SQL Server Azure SQL Database (Microsoft PaaS
SQL Azure (RTM) - 12.0.2000.8)

Microsoft Azure security policy recommended ports

Data center object Port Protocol

Enterprise Control Room 80, 443 Any


Azure Active Directory 53, 389 Any
LDAP 3268, 3269 Any
email SMTP 587 Any
SSH 22 Any
RDP 3389 TCP

© 2020 Automation Anywhere. All rights reserved.     94


    Automation Anywhere - Install and upgrade Enterprise A2019

Related tasks
Prepare for installation on Amazon Web Services
Use these steps to prepare the Amazon Web Services (AWS) instances for the Enterprise Control Room
installation.
Verify readiness for installation on Microsoft Azure
Use these steps to configure third-party products for the Enterprise Control Room installation.
Related reference
Enterprise A2019 On-Premises prerequisites
Determine whether the system has the required hardware and software to install Enterprise Control
Room for A2019 On-Premises deployment.

Supported browsers for Automation Anywhere Enterprise Cloud


The user interface for Automation Anywhere Enterprise for On-Premises Cloud, Automation Anywhere
hosted Cloud edition, and Community Edition, is through a browser.
Access to the Enterprise Control Room is through a browser on a registered device. Registering a device
includes installing the Bot agent.
Bot agent cannot be installed on Linux systems. However, access to a Enterprise Control Room that is
installed on a Linux system is supported.

Browser Browser version Automation Anywhere Supported bot functions by


2
Plug-in version Bot agent version

2.0.2 1.0.2 1.0.1

Google 57 or later 11 or 12 All except All All


1 Credential
Chrome
Vault
Microsoft 11 N/A None Debugger All except
Internet only Credential
Explorer Vault

(1) Google Chrome re-verification


CAUTION: Google Chrome requires
re-verification of permissions when the
Automation Anywhere Google Chrome
extension (Version 11.3.3 or later) is
updated. If prompted, click Enable this
item in the Google Chrome message.
Alternatively, re-enable the extension
through chrome web store. Similarly, if you
are deploying your Bot Runners from a
master image, accept the permission from
within that image.

(2) Google Chrome plug-in versions A2019 supports Chrome plug-in version 11. If
you have other versions installed, you might not
be able to record tasks using the Record feature
or Capture action. To resolve this issue, do the
following:

© 2020 Automation Anywhere. All rights reserved.     95


    Automation Anywhere - Install and upgrade Enterprise A2019

1. Rename the automation.chrome.agent


registry key to
automation.chrome.agent.old
The registry key is available at: Computer
\HKEY_CURRENT_USER\Software\Google
\Chrome\NativeMessagingHosts
2. Disable all other Google Chrome plug-in
versions you have installed, except for version
11.

Working with Azure SQL PaaS


Using PaaS SQL database with Azure requires configuration from the Azure instance.
Configure the Azure instance before you install Automation Anywhere Enterprise.
1. Login to your Azure account.
2. Navigate to the Azure SQL option .
3. Create a database based on your custom requirements.
4. Enable the firewall option.
5. Whitelist the IP address for accessing the database.

Install Automation Anywhere Enterprise and point the database server to this instance of the SQL
database. See Customize Enterprise Control Room installation on Microsoft Azure.

Enterprise Control Room and bot dependencies


Enterprise Control Room and bots have additional third party requirements depending upon the
Automation Anywhere Enterprise options you choose. Some are optionally installed with Automation
Anywhere Enterprise deployment. Some require an Automation Anywhere specific plug-in.

Enterprise Control Room third party dependencies

Install the listed dependency if you plan to use the listed supported option.

Dependency Version Supported option

Amazon Web Services Install Enterprise Control Room


platform.
HTML For Microsoft Azure: Use Load
Balancer, not Application
Gateway.
Microsoft Active Directory Configure as either IDaaS or
IaaS.
For IaaS use Windows 2016.
Microsoft Azure Install Enterprise Control Room
platform.

© 2020 Automation Anywhere. All rights reserved.     96


    Automation Anywhere - Install and upgrade Enterprise A2019

Dependency Version Supported option

Microsoft Internet Information version 8 or later. Lightweight Directory Access


Services (IIS) web server Protocol (LDAP) and Kerberos
supported.
[1]
Microsoft .NET Framework version 4.6, 4.6.1, or 4.7 4.6.1 only supported on
Required. Windows 8.1 or Windows
Server 2012 R2.

Microsoft OLEDB Driver for For Microsoft Azure


Microsoft SQL Server installations.
Microsoft Visual C++ version 2013 or later For Microsoft Azure
Redistributable for Visual Studio installations .
Java Database Connectivity ForOracle Database.
(JBDC) driver
Security Assertion Markup version 2.0 For Single Sign-On (SSO).
Language (SAML)

Note 1 On new machines, physical or virtual, install


Microsoft .NET Framework before your install
Microsoft Office. This ensures required Primary
Interop Assemblies (PIA) redistributables are
installed.

Bot third party dependencies

Install the listed dependency for the listed Enterprise client or bot option.

Dependency Automation Anywhere Plug-in Enterprise client or Bot option

ABBYY FineReader Engine For capturing images.


version 11 or 12

Citrix Receiver Automation Anywhere Citrix For using Citrix server resident
plug-in apps or installing Enterprise
Version 4.4 LTSR or later client.
Automation Anywhere Citrix
remote agent, Automation
Anywhere Enterprise Version
11.3.2 or later

HTML For recording Web tasks.


Technology support for Bot
Creator.

IBM WebSEAL For reverse proxy.


Trusted client certificate
required on all Enterprise client
machines.

LinguaSol Linguify For language translation.

© 2020 Automation Anywhere. All rights reserved.     97


    Automation Anywhere - Install and upgrade Enterprise A2019

Dependency Automation Anywhere Plug-in Enterprise client or Bot option

Microsoft Active Accessibility To import/export datasets


(MSAA) Technology support for Bot
Creator.
Microsoft Active Directory Configure as either IDaaS or
IaaS.
For IaaS, use Windows 2016.
Microsoft Cognitive Services For Microsoft LUIS NLP
Text Analytics API package language support.
Microsoft Office Document For OCR engine.
Imaging (MODI) version12.0
Microsoft .NET Framework 4.6.1 only supported on
version 4.6, 4.6.1, or 4.7 Windows Server 2012 R2.
Microsoft Visual C++ For Enterprise Control Room
Redistributable for Visual Studio installation.
version 2013 or later

Oracle Java versions: For recording Web tasks.


1.6 (JRE 1.6.0_45), Desktop (standalone) Java
applications (running on JRE 6
1.7 (JRE 1.7.0_80), or
or later versions) do not require
1.8(JRE 1.8_111) - Desktop and the Automation Anywhere Java
Web. plug-in.
Technology support for Bot
Creator.

Proxy service For web service commands.


SMB File Share Configure as PaaS (50 GB).
For Microsoft Azure
installations, use Microsoft
Azure File Share.

Terminal emulator To access and control terminal


hosts.
Types:
• TN3270
• TN5250

VMware Horizon version 4.8.0 For installing the Enterprise


client.
Windows Communication For secure communications.
Foundation (WCF), Transport
Layer Security (TLS)

© 2020 Automation Anywhere. All rights reserved.     98


    Automation Anywhere - Install and upgrade Enterprise A2019

Citrix integration on Cloud


Automation Anywhere Enterprise integration with Citrix enables you to create bots that run tasks on
remote Citrix Virtual Apps servers.

Process overview

Ensure the following tasks are completed before you begin automating tasks in a Citrix environment:
Verify credentials and licensing • Ensure you have the credentials to access the
Citrix server.
• Ensure the appropriate Citrix license is available
for the Automation Anywhere Enterprise
system.

Install components Specific Citrix and Automation Anywhere


Enterprise components are required on both the
local user machine and the Citrix Virtual Apps
server.

Local machine 1. Install Citrix


Receiver version
4.12 or later.
2. Install the Bot
agent. This is
automatically
installed when you
register the local
machine with the
Enterprise Control
Room.
The Bot agent
and Automation
Anywhere plug-
in for Citrix are
installed at the
same time if the
Citrix Receiver is
installed on the
local machine.
3. Install the
Automation
Anywhere plug-in
for Citrix.
If the Bot agent is
already installed,
the Automation
Anywhere plug-
in for Citrix is
automatically
installed when the

© 2020 Automation Anywhere. All rights reserved.     99


    Automation Anywhere - Install and upgrade Enterprise A2019

Universal Recorder
is initiated.

Citrix server 1. Install the


Automation
Anywhere remote
agent for Citrix.
2. Register the
Automation
Anywhere remote
agent for Citrix as
a Virtual App in the
Citrix StoreFront.

Create a bot 1. From the Citrix StoreFront, run the


AARemoteAgent and the target application.
2. From the Enterprise Control Room, create
the bot, start the Recorder, select the target
application, and record your actions on the
Citrix server to build your bot.

Using Citrix architecture with bots

To create and run bots using applications that reside on a Citrix server, see the following resources:

Using the Recorder on Citrix Virtual Apps servers The Record: Capture cloning action requires
specific configurations to capture objects from
applications available through the Citrix StoreFront
on a remote Citrix Virtual Apps server. Ensure the
required components are installed on the local
machine and the remote Citrix Virtual Apps server.
Related tasks
Using the Recorder on Citrix Virtual Apps servers
The Record: Capture cloning action requires specific configurations to capture objects from applications
available through the Citrix StoreFront on a remote Citrix Virtual Apps server. Ensure the required
components are installed on the local machine and the remote Citrix Virtual Apps server.
Installing the Citrix required components on local machines
Install the Automation Anywhere Enterprise components to enable you to use bots on Citrix Virtual Apps
servers. Two components are installed: Bot agent and Automation Anywhere plug-in for Citrix.
Installing Automation Anywhere remote agent for Citrix on Citrix servers

© 2020 Automation Anywhere. All rights reserved.     100


    Automation Anywhere - Install and upgrade Enterprise A2019

Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.

Using the Recorder on Citrix Virtual Apps servers


The Record: Capture cloning action requires specific configurations to capture objects from applications
available through the Citrix StoreFront on a remote Citrix Virtual Apps server. Ensure the required
components are installed on the local machine and the remote Citrix Virtual Apps server.
Complete the steps listed in the following tasks:
• Installing the Citrix required components on local machines
• Installing Automation Anywhere remote agent for Citrix on Citrix servers

Create bots with applications running on a remote Citrix Virtual Apps server using the Automation
Anywhere remote agent for Citrix.
1. Log in to the Citrix Virtual Apps server StoreFront.
2. Run the Automation Anywhere remote agent for Citrix: Select Citrix server > Citrix StoreFront >
AARemoteAgent.
AARemoteAgent is the Citrix name for the Automation Anywhere remote agent for Citrix.
3. Run the target application from the Citrix StoreFront.
4. Log in to your registered local machine with the Bot agent and Citrix Receiver installed.
5. Log in to the Enterprise Control Room from your registered local machine.
6. Create a new bot or edit an existing bot.
7. Select the auto login feature to log in to a Citrix environment when it is locked or logged off.

Note: To ensure the auto login works, always log off the Citrix Receiver associated with the Citrix
Virtual Apps server before you disconnect.

8. Start the Recorder.


9. From the Automation Anywhere Record Application selection window, select the target application
from the drop-down list in the Window or URL field, and click Start recording.

Note: The remote application has \\Remote label at the end of the application name.

10. When the steps to record are completed, click End recording.

Related concepts
Citrix integration on Cloud
Automation Anywhere Enterprise integration with Citrix enables you to create bots that run tasks on
remote Citrix Virtual Apps servers.
Related tasks
Installing the Citrix required components on local machines
Install the Automation Anywhere Enterprise components to enable you to use bots on Citrix Virtual Apps
servers. Two components are installed: Bot agent and Automation Anywhere plug-in for Citrix.
Installing Automation Anywhere remote agent for Citrix on Citrix servers

© 2020 Automation Anywhere. All rights reserved.     101


    Automation Anywhere - Install and upgrade Enterprise A2019

Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.

Installing the Citrix required components on local machines


Install the Automation Anywhere Enterprise components to enable you to use bots on Citrix Virtual Apps
servers. Two components are installed: Bot agent and Automation Anywhere plug-in for Citrix.

1. Log in to your local machine.


2. Install Citrix Receiver version 4.12 or later.
This Citrix component is required to communicate from a local machine to a Citrix virtual application
server.
To install the Citrix Receiver, see the Citrix documentation.
3. Register your local machine with the Enterprise Control Room. This installs the Bot agent.
The Bot agent enables local machine communication with the Enterprise Control Room.
To install the Bot agent:
a) Log in to the Enterprise Control Room through your Automation Anywhere Enterprise URL.
b) Navigate to MY DEVICES.
c) From the action icons, click Add local bot agent.
d) Click Connect to my computer.
e) Follow the steps outlined in the wizard.
f) Refresh the My Devices page and verify that the local device is added.

4. Install Automation Anywhere plug-in for Citrix on your local machine.


The Automation Anywhere plug-in for Citrix provides the Citrix driver. This driver communicates with
the Citrix server.
To install the Automation Anywhere plug-in for Citrix:
a) Log in to the Enterprise Control Room.
b) Launch one of the designated events.
Designated events include: launch Recorder, use the Devices tab or Device Status tab, or run a
bot from Editor.
c) Optional: Verify that the Automation Anywhere plug-in for Citrix is installed.
Check for the file C:\Program Files (x86)\Citrix\ICA Client
\Automation.CitrixDriver.dll.

Related concepts
Citrix integration on Cloud
Automation Anywhere Enterprise integration with Citrix enables you to create bots that run tasks on
remote Citrix Virtual Apps servers.
Related tasks
Using the Recorder on Citrix Virtual Apps servers
The Record: Capture cloning action requires specific configurations to capture objects from applications
available through the Citrix StoreFront on a remote Citrix Virtual Apps server. Ensure the required
components are installed on the local machine and the remote Citrix Virtual Apps server.
Installing Automation Anywhere remote agent for Citrix on Citrix servers

© 2020 Automation Anywhere. All rights reserved.     102


    Automation Anywhere - Install and upgrade Enterprise A2019

Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.

Installing Automation Anywhere remote agent for Citrix on Citrix servers


Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.
1. Log in to the Citrix Virtual Apps server.
2. Download the latest version of the Automation Anywhere remote agent for Citrix installer file to the
Citrix Virtual Apps server.
The Automation Anywhere remote agent for Citrix running on the Citrix server interprets data
received from Automation Anywhere Enterprise and responds appropriately.
a) Go to Automation Anywhere Downloads.
b) Select and download the Automation Anywhere remote agent for Citrix.

3. Run the Automation Anywhere remote agent for Citrix installer.


a) Extract the AARemoteAgent.zip file and double-click the AAE_Remote_Agent_1.0.0.exe
file.
b) On the Automation Anywhere Remote Agent Setup screen, click Next.
c) On the License Agreement screen, accept the license agreement, and click Next.
d) On the Select Destination Folder screen, click Browse to specify a non-default location for
installing the remote agent. Click Next.
The default location for installation is set to: C:\Program Files (X86)\Automation
Anywhere\AARemoteAgent
e) On the Setup Status screen, track the status of the installation process.
f) On the Setup Wizard Complete screen, click Finish to complete the setup.

4. From the Citrix interface, add the Automation Anywhere remote agent for Citrix application to the
Citrix Delivery Controller.
This registers the Automation Anywhere remote agent for Citrix as a Virtual App in the Citrix
StoreFront.
5. Verify that the Automation Anywhere remote agent for Citrix is available from the Citrix StoreFront.
The Citrix StoreFront name for the Automation Anywhere remote agent for Citrix is AARemoteAgent.

Related concepts
Citrix integration on Cloud
Automation Anywhere Enterprise integration with Citrix enables you to create bots that run tasks on
remote Citrix Virtual Apps servers.
Related tasks
Using the Recorder on Citrix Virtual Apps servers
The Record: Capture cloning action requires specific configurations to capture objects from applications
available through the Citrix StoreFront on a remote Citrix Virtual Apps server. Ensure the required
components are installed on the local machine and the remote Citrix Virtual Apps server.
Installing the Citrix required components on local machines

© 2020 Automation Anywhere. All rights reserved.     103


    Automation Anywhere - Install and upgrade Enterprise A2019

Install the Automation Anywhere Enterprise components to enable you to use bots on Citrix Virtual Apps
servers. Two components are installed: Bot agent and Automation Anywhere plug-in for Citrix.

HA, DR, and single-node deployments


Identify your key requirements before selecting a deployment model. Automation Anywhere Enterprise
offers multiple deployment options to meet various levels of enterprise cost/price performance and
resiliency needs. This includes installation on single-nodes, Highly Available (HA) clusters, and Disaster
Recovery (DR) sites.

Planning

For best results, deploy the same operating systems across the Automation Anywhere Robot Process
Automation (RPA) development, testing, and production environments. At minimum, have the exact
same OS on both test and production environments.

Deployment models

At a high-level, there are three (3) ways to install Automation Anywhere, each depends on your business
continuity requirements.

Single-Node deployment
High Availability deployment model
Disaster Recovery deployment model

Related concepts
High Availability and Disaster Recovery overview
High Availability (HA) provides a failover solution in the event a Enterprise Control Room service, server,
or database fails. Disaster Recovery (DR) provides a recovery solution across a geographically separated
distance in the event of a disaster that causes an entire data center to fail.

Single-Node deployment
A single-node deployment is used for some proof-of-concept deployments.
A single-node Enterprise Control Room installation is deployed without the need of a load balancer. It is
useful for some proof-of-concept deployments.

CAUTION: Do not use single-node installation for production workloads.

Pros
• Easy to setup and configure
• Only a single server required

Cons
• No disaster recovery
• No high availability
• Susceptible to hardware failures

© 2020 Automation Anywhere. All rights reserved.     104


    Automation Anywhere - Install and upgrade Enterprise A2019

Use Cases
• Proof of concept
• Single-user use scenarios

High Availability and Disaster Recovery overview


High Availability (HA) provides a failover solution in the event a Enterprise Control Room service, server,
or database fails. Disaster Recovery (DR) provides a recovery solution across a geographically separated
distance in the event of a disaster that causes an entire data center to fail.

Automation Anywhere HA and DR solution

In the context of Automation Anywhere, implementation of High Availability (HA) and Disaster Recovery
(DR) reduces downtime and maintains continuity of business (CoB) for your bot activities.
• High Availability (HA)—refers to a system or component that is continuously operational for a desirably
long period.
• Disaster Recovery (DR)—involves a set of policies and procedures to enable the recovery or
continuation of vital infrastructure and systems following a natural or human-induced disaster.

HA and DR are required for production deployments of Automation Anywhere.


Automation Anywhere leverages your existing HA and DR infrastructure. We do not provide an internal
HA or DR solution. Rather the Automation Anywhere components and configuration leverage your
existing HA and DR infrastructure, load balancing, and failover systems to protect your bots and related
data. See your data center administrator for your approved local HA and DR procedures.

Required HA and DR infrastructure elements

• Distributed Approach—Enterprise Control Room is flexible enough to process a large number of


requests. Deploy multiple instances of Enterprise Control Room on multiple physical and/or virtual
servers as needed.
• Load balancing—Performed by a load balancer, this is the process of distributing application or
network traffic across multiple servers to protect service activities and allows workloads to be
distributed among multiple servers. This ensures bot activity continues on clustered servers.
For load balancer configuration details, see Load balancer requirements.
• Databases—Databases use their own built-in failover to protect the data. This ensures database data
recovery.
• Between the HA clusters, configure synchronous replication between the primary (active) and
secondary (passive) clustered MS SQL servers in the data center. This ensures consistency in the
event of a database node failure.
For the required HA synchronous replication, configure one of the following:
• Backup replica to Synchronous-Commit mode of SQL Server Always On availability groups
• SQL to Server Database Mirroring

• Between the DR sites, configure your database to provide asynchronous replication from the
primary (production) DR site to the secondary (recovery) DR site that is at a geographically
separated location from the primary DR site.

© 2020 Automation Anywhere. All rights reserved.     105


    Automation Anywhere - Install and upgrade Enterprise A2019

Sample scenario

Point all Enterprise Control Room instances within the same cluster to the same database and repository
files. This is required to enable sharing data across multiple servers.

HA and DR deployment models

To ensure your Automation Anywhere is protected by HA and/or DR, configure your data centers
according to the deployment models described in:
• High Availability deployment model
• Disaster Recovery deployment model

High Availability deployment model


The High Availability (HA) deployment model provides failure tolerance for the Enterprise Control Room
servers, services, and databases.
The following shows the Automation Anywhere and data center components.

In this example, the Enterprise Control Room servers and Microsoft SQL Servers have HA redundancy.
• Multiple users have access the Enterprise Control Room cluster through their web browsers. The web
browsers communicate to the Enterprise Control Room cluster through the load balancer.
• Multiple Bot Runners communicate to the Enterprise Control Room cluster through the load balancer.
• The server message block (SMB) file share and the Microsoft SQL Server store data from the Enterprise
Control Room cluster.
• Microsoft SQL Server uses redundancy through replication syncing to the clustered Microsoft SQL
Server.

Pros Maintains availability when server failures occur


within a single data center.
Cons Does not provide protection against data center
outage.
Use Cases Small to medium-size businesses that do not
require multi-site disaster recovery.

© 2020 Automation Anywhere. All rights reserved.     106


    Automation Anywhere - Install and upgrade Enterprise A2019

HA cluster configuration overview


To support Automation Anywhere in your data center, configure an HA cluster. Follow your company
methods and procedures for implementing your data center cluster.
HA clusters protect services and data in the event of a server or service failure. The following is a list of
processes associated with clusters.
• Database replication—Configure synchronous replication between the primary site (active) and
secondary site (passive) MS SQL servers to ensure consistency in the event of a database node failure.
• Downtime—The amount of downtime depends on the number of restart attempts the administrator
configures for the primary server services, the number of failovers allowed per number of hours, and
the failback configuration.
• Failback—After the primary server is returned to normal, the workload can be failed back from the
secondary servers to the primary servers. The primary server becomes the active server again.
Restoring operations to the primary system or site after a failover or disaster recovery on a secondary
system or site.
• Failover—If one of the primary servers fails, the workload of the failed server automatically shifts to the
secondary server in the cluster. This automatic process is called failover. Failover ensures continuous
availability of applications and data. When failover completes, the secondary server becomes the
active server.
When a (primary) system detects a fault or failure, it automatically transfers control to a (secondary)
duplicate system. This applies to HA clusters, where failover is from one server to another.
• Graceful degradation—Process allowing cluster dependencies to operate gracefully on a degraded
primary site.
• Redundancy—HA clusters use redundancy to prevent single points of failure (SPOF), such as a failed
server or service. HA clusters include primary (active) servers that host services or databases and
secondary (passive) servers that host replicated copies of the services and databases.
• Replication—The secondary servers have the same configuration and software as the primary servers,
they are a duplicate (redundant copy) of the primary. Data is replicated (copied) from the primary
servers to the secondary servers.

To support HA and DR for Automation Anywhere, configure the selected components in your data
center for HA.
• Cluster components—A cluster is a set servers (nodes) that are connected by physical cables and
software. In an HA environment, these clusters of servers are allowed to be in the same physical data
center.

Note: In the context of clusters, though the terms server, host, and node each have specific meaning,
they are frequently used interchangeably.

• Cluster group (role)—Group of clustered services that failover together and are dependent on each
other.
• Host—The cluster machine that is hosting the services.
• Node—A generic term for a machine in a cluster.
• Primary node—The active node in the cluster. The machine where the production activities run.
• Secondary node—The machine that is designated as the target in the event of a failover. The
secondary node is a passive duplicate of the primary node.
• Server—The machine in the cluster installed with the server operating system.

HA cluster technologies guard against three specific types of failures:


• Application and service failures—affecting application software and essential services.

© 2020 Automation Anywhere. All rights reserved.     107


    Automation Anywhere - Install and upgrade Enterprise A2019

• Site failures in multisite organizations—caused by natural disasters, power outages, or connectivity


outages.
• System and hardware failures—affecting hardware components such as CPUs, drives, memory,
network adapters, and power supplies.

This ability to handle failure allows clusters to meet two requirements that are typical in most data center
environments:
• High availability—the ability to provide end users with access to a service for a high percentage of time
and reduces unscheduled outages.
• High reliability—the ability to reduce the frequency of system failure.

Disaster Recovery deployment model


The Disaster Recovery (DR) deployment model uses high availability (HA) clusters distributed over a
geographic area.

DR configuration requirements
When you configure your Disaster Recovery enabled data centers for Automation Anywhere, ensure the
listed conditions are met.

Disaster Recovery configuration requirements

• Asynchronous replication—Configure asynchronous, rather than synchronous replication, between


DR sites for all supporting services. This ensures off-site replication does not impact performance of
the primary site.
• AD domain—Ensure the same Active Directory domain is available to both the primary and backup
sites.
• Site domains—Ensure the backup site Enterprise Control Room and device machines are members of
the same domain as the primary site Enterprise Control Room and machines.
• Licenses—Assign floating licenses for users, so that they can log into devices on the backup site.
• Backup site services—Shutdown the Enterprise Control Room services at the backup site until they are
needed.
• Site configurations—Ensure the machines at the primary site and backup site have the same
specification and configuration. This includes the Enterprise Control Room, Bot Runners, associated
devices, and login credentials. This is required to ensure equal level of service during an outage.

Note: Schedules are stored in UTC and therefore run at the same time regardless of the physical
location or time zone settings of the server.
• Activation utility—Run the Automation Anywhere bot Activation utility on each of the Bot Runners on
the DR backup site.
• web.config file—On the DR secondary (backup) site, add configuration parameters to the Enterprise
Control Room configuration file, web.config. Use the parameters to designate the Enterprise
Control Room for the DR backup site.

Additional Considerations

• Ensure schedules, once created, are stored in the database in UTC format. This ensures the schedules
run as specified in the production environment.

© 2020 Automation Anywhere. All rights reserved.     108


    Automation Anywhere - Install and upgrade Enterprise A2019

• Ensure the recovery site Bot Runners have exact same configurations as the production site Bot
Runners they are mapped to.
• Enable user access rights on the folder where the utility runs. Verify the configuration file –
ClientConfiguration.json is created in the application path by referring to its time stamp.
• Ensure log and .dat files are present in C:\Users\Public\Documents\Automation Anywhere
Client Files.

Database Replication Details

The database replication configuration for disaster recovery is an extension of the high availability
configuration. This configuration requires the use of Always On availability groups.
• Configure the primary site replica in Synchronous-Commit mode.
• Configure the recovery site replica in Asynchronous-Commit mode. Asynchronous-Commit mode
ensures that the latency and reliability of the inter-datacenter does not impact the performance and
availability of the primary site.
• Do not configure the recovery site replica to offer any database services until a recovery failover is
triggered.

Failure mode

With asynchronous replication there is the possibility that a transaction that occurs on the primary site
might not reach the recovery site replica before the failure occurs.

Note: This possibility of loosing the most recent transactions applies to all DR automated application
solutions using asynchronous replication, not just Automation Anywhere solution.

Deployment requires strict consistency between distant geographical locations. Synchronous-Commit


configured between replicas with significant latency has a detrimental effect on all Enterprise Control
Room operations.
To prevent work items being processed twice when a failure occurs, some work items awaiting delivery
to a device are placed into an error state. This ensures they can be manually reviewed and marked as
ready to be processed or complete as appropriate.

Disaster Recovery preparation


This content describes the settings and configuration required to ensure recovery in the event of a failed
site.
Prior to installing Automation Anywhere, prepare your Disaster Recovery sites.

Deploy bots Deploy Bot task and reference files according to


your data center administrator approved local
procedures for file and data transfers. Typically,
these are deployed to production and standby
recovery site in parallel.
Hardware failure protection Deploy multiple Web servers locally on each DR
site. Use an active-active method to a assist with

© 2020 Automation Anywhere. All rights reserved.     109


    Automation Anywhere - Install and upgrade Enterprise A2019

load balancing and protect against local hardware


failures.
Data corruption protection Backups Perform regular on-site
full and daily backups
of database server,
the Enterprise Control
Room repository,
configuration and task
files.
DR sites Apply the same storage
configuration on
both the primary and
secondary DR sites.
Apply replication
methods to update
the secondary DR site
from the primary DR
site. Example content
describes using the
Windows feature,
Distributed File System
(DFS).

Environmental disaster protection Geographic separation Protect against a


geographical or
environmental disaster,
complete regular
backups of the
secondary DR site.
Primary site The location where the
active cluster resides.
Recovery In the event of a
disaster, some events
could stop part way
through execution.
Retrieve task level
log files and other
intermediate files to
identify the state of any
pending processes.
Example content
describes using SQL
Server 2012 AlwaysOn
Availability Groups.
The process of shifting
the production activities
from a failed primary
site to the secondary
backup site. This applies
to DR sites, where

© 2020 Automation Anywhere. All rights reserved.     110


    Automation Anywhere - Install and upgrade Enterprise A2019

recovery is from one


site to another.

Recovery site The secondary


(redundant) site, that
is geographically
separated from the
primary DR site. This
secondary site is a
passive replication of
the primary site. It is
designated as the target
location in the event of
a disaster.

Disaster recovery failover steps overview


Overview of failover steps for Automation Anywhere recovery after a disaster.
Complete the disaster recovery deployment on two geographically separated sites, where one site is
primary (active) and the other is a backup (passive) site. Disaster recovery is performed on remote backup
sites.
The procedure is identical regardless of whether switching over from primary to secondary (recovery), or
secondary to primary.
If the failed Enterprise Control Room nodes are still available:
1. Shut off all Enterprise Control Room services at the primary site.
2. Failover all Enterprise Control Room-related databases using the database tools.
3. Failover your Server Message Block (SMB) share using the appropriate tools to make the recovery site
SMB file share writable.
4. Start Enterprise Control Room services at the recovery site.
5. Wait until the Enterprise Control Room web interface is available.
6. If operating Credential Vault in manual mode, supply the master key.
7. Login to the Enterprise Control Room web interface as an administrator.
8. For each of the recovery site Bot Runners:
a. Log in to the Windows console.
b. Launch the Automation Anywhere Enterprise client service.
c. Enter the appropriate Enterprise Control Room credentials for the Bot Runner.

9. Confirm bots are executing as expected by examining activity and the audit log in the Enterprise
Control Room web interface.
10. After the recovery site is operating as the primary site, configure a replacement secondary site. Using
the database tools, set replication from the recovery primary site to the replacement secondary site.

Failover to a DR recovery site


Update the database and login to the Bot Runners on the recovery (DR secondary) site. Verify the
secondary site Enterprise Control Room is running with the production (primary) site Bot Runner data.
When properly configured, replication ensures the DR secondary site Enterprise Control Room has
production Bot Runner data. In the event of a disaster:
• Update the DR secondary site Enterprise Control Room database with DR primary site Bot Runner
data.

© 2020 Automation Anywhere. All rights reserved.     111


    Automation Anywhere - Install and upgrade Enterprise A2019

• Login the Enterprise client, with its associated Bot Runners, to the backup site Enterprise Control
Room.
• Verify recovery is successful.

To update the DR secondary site Bot Runner database:


1. Use the database query listed below to update the Enterprise Control Room database.
This database query uses the Bot Runner data mapping file as an input. Login to Microsoft SQL
Server Management Studio.
a) Open New Query and paste following script.

/* Creating temporary table to hold mapping values*/


create table
#ProdToCOBClientMapping(Id int,
HostName nvarchar(100),
ApplicationPath nvarchar(255),
IPAddress nvarchar(40),
FQDN nvarchar(255),
COBHostName nvarchar(100),
COBApplicationPath nvarchar(255),
COBIPAddress nvarchar(40),
COBFQDN nvarchar(255))

/* Load table from mapping file */


BULK INSERT
#ProdToCOBClientMapping FROM 'Mapping Filepath goes here'WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n',
FIRSTROW = 2
)

/* Verify proper mapping has been done*/


Select * From #ProdToCOBClientMapping

/* Update Client table as per mapping. */


UPDATE desClient SET HostName=srcClient.COBHostName,
FQDN=srcClient.COBFQDN,
ApplicationPath = srcClient.COBApplicationPath,
IPAddress = srcClient.COBIPAddress
FROM #ProdToCOBClientMapping srcClient INNER JOIN
[DatabaseName].[dbo].[Clients] as desClient ON
desClient.Id=srcClient.Id

/*Drop temp table */


drop table #ProdToCOBClientMapping

/* Verify table values */


SELECT * FROM [DatabaseName].[dbo].[Clients]

b) Update the Database name and Mapping file path.


c) After the database changes are done, start the DR secondary (recovery) site Enterprise Control
Room services.

© 2020 Automation Anywhere. All rights reserved.     112


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Start each Bot Runner.


a) Verify your Window Login Credentials in the Enterprise client. Select Tools > Options > Login
Settings.
b) Launch Automation Anywhere.
c) Enter your credentials to login to the Enterprise Control Room.
d) Start every Bot Runner.

3. Verify your DR environment is up and running on the recovery site.


Verify the schedules, ensure that the bots, and Bot Runners are functioning successfully. Refer to the
DR recovery site audit logs.

Re-establish a duplicate DR site


After a secondary (backup) site is recovered as the primary (production) site, establish a new secondary
DR site.
The recovery site is up and running as the new production site.
The process of returning activity to a primary (active) production site and a secondary (backup) site
depends on the state of the original primary site.
• If the old production environment becomes available again, complete the following steps to switch
back to the original DR primary site.
a) Restore/replicate the DR database and file system to the original production database and file
system respectively.
If the data added in the DR environment is not needed in the production environment, skip to
Step 3.
b) If any new users were added to the DR recovery site environment and they logged into Enterprise
Control Room and Bot Runners, reverse COB procedures need to be followed for those users.
For example:

Note: This step is only applicable for new users that were added during the disaster. If no new
users were added in the DR environment, skip this step.

• Prepare the mapping of corresponding DR Bot Runners with production Bot Runners.
• Run the database query in the recovery production environment database for those Bot
Runners.
• Run the Activation utility on new Bot Runners in recovery production environment.
• Login to recovery production Enterprise Control Room with new added production Bot
Runners, from the Enterprise client.

c) Bring up the new DR primary (production) Enterprise Control Room.


d) Verify that the new DR primary (production) environment is working, as expected.
e) Stop the DR Enterprise Control Room services on the DR recovery site.
f) Establish the replication between the new DR primary (production) and DR secondary (standby)
Enterprise Control Room (DB and NAS).

© 2020 Automation Anywhere. All rights reserved.     113


    Automation Anywhere - Install and upgrade Enterprise A2019

• If the old DR primary production environment is rendered completely unusable due to the disaster, re-
establish a new secondary (standby) DR site. Complete the recovery DR steps to re-establish primary
and secondary DR sites.
a) Restore/replicate the database and file system data from DR environment to the new production
environment.
b) Generate the mapping files containing the host related information of DR Bot Runners and new
production Bot Runners.
c) Run the Activation utility on each of the new production Bot Runners.
d) Execute the database script on new production Enterprise Control Room database.

Note: The web.config configuration flag is strictly enforced.

No additional steps are required. The DR primary and secondary sites are restored.
• The bot Activation utility does not need to be run again. Activation occurs when Automation
Anywhere is first deployed to the DR cluster sites only.
• For any subsequent disasters, only the database query needs to be run on DR secondary (standby)
Enterprise Control Room database. This is required because the replication between DR primary
(production) and DR secondary (standby) overwrites DR secondary site Bot Runner data in DR
secondary site database with DR primary (production) Bot Runner data.
• Similarly, the mapping between DR primary and DR secondary Bot Runner is established. Use the
same mapping for all subsequent disasters or mock drills.

Enterprise A2019 On-Premises Enterprise Control Room


installation
Review the installation core tasks and topics for installing A2019 Enterprise Control Room in a data
center on an On-Premises server or a cloud service provider server instance.
The Enterprise Control Room provides centralized management for digital workforce.
Interface for Bot Insight. It is deployed on a server in a data center. The installer executable,
Automation_Anywhere_Enterprise_<version_build>.exe, is included in the
Automation_Anywhere_Setup.zip file download.

Enterprise Control Room installation core tasks

Step 1: Pre-installation Enterprise A2019 On- Determine whether the


Premises prerequisites system has the required
hardware and software
to install Enterprise
Control Room for
A2019 On-Premises
deployment.

Step 2: Installation The Enterprise Control Room installer allows you


to select installation modes (Express or Custom),
and during the installation process, it also installs
missing software dependencies.

© 2020 Automation Anywhere. All rights reserved.     114


    Automation Anywhere - Install and upgrade Enterprise A2019

Use Custom mode to install on a cloud-based


platform such as Amazon Web Services.

Installing Enterprise Login to the servers


Control Room using as an Administrator
Express mode and install Automation
Anywhere Enterprise
Control Room in
Express Mode using the
default settings.
Installing Enterprise Login to the server
Control Room using as Administrator, and
Custom mode install Automation
Anywhere Enterprise
Control Room in
Custom Mode to
select installation
and configuration
options, including
installing non-default
requirements. Select
this mode for a data
center deployment.
Installing Enterprise You start installing
Control Room on Linux the Automation
Anywhere Enterprise
Control Room in the
Linux environment
and complete the
installation in the
Enterprise Control
Room.
Installing Enterprise Silent Enterprise Control
Control Room using Room installation, also
scripts known as unattended
installation, uses a
customized Powershell
script for a full setup or
the command line for
a hot fix patch. Silent
install runs the entire
installation process
in the background
without requiring user
interaction or displaying
messages.

Step 3: Post-installation Configuring post After you finish installing


installation settings the Enterprise Control
Room, configure
the following items
to ensure timely
Automation Anywhere
communications.

© 2020 Automation Anywhere. All rights reserved.     115


    Automation Anywhere - Install and upgrade Enterprise A2019

Verifying Automation Automation Anywhere


Anywhere services specific Services
are installed on the
Enterprise Control
Room server.

Step 4: Validation Configure Enterprise The options for


Control Room launching the Enterprise
authentication options Control Room for
the first time depend
on the installation
mode and, for Custom
mode installation, the
authentication method.
Install a license A Enterprise Control
Room Admin or a
user with license
management
permission can install
a license, and evaluate
the latest version.

Installing Enterprise Control Room using Express mode


Login to the servers as an Administrator and install Automation Anywhere Enterprise Control Room in
Express Mode using the default settings.
• Verify Enterprise A2019 On-Premises prerequisites.
• Ensure that you have:
• Automation Anywhere Enterprise Control Room installation file
• SSL certificate
• License file

The Express Mode installation quickly sets up the Enterprise Control Room with default parameters for
the various components. This installation mode is ideal for showcasing a demo and training purpose. This
installation mode is not recommended for the production environment.
Default Parameters
Microsoft SQL Server is the default database for Enterprise Control Room. .
The following parameters are installed by default:

Parameter Default value

SQL database instance SQLEXPRESS


Authentication type Windows authentication
Enterprise Control Room database CRDB-NEW
Port 1433

© 2020 Automation Anywhere. All rights reserved.     116


    Automation Anywhere - Install and upgrade Enterprise A2019

To install Automation Anywhere Enterprise Control Room in Express Mode, follow these steps:
1. Login to the installation server.
2. Start the installer wizard.
a) Extract all files from the AutomationAnywhere_Setup.zip file.
b) Right-click the AutomationAnywhere.exe file and select Run as administrator.
For example: AAE_MSSQL_Express_2014SP1.exe

The installation process creates the SQLEXPRESS instance that is used for the Enterprise Control
Room and the Bot Insight databases. The installation process uses this instance to create a database
with the name AAE-Database and configures the database as the default Enterprise Control Room
database.
The installation process checks for supported operating system and for minimum hardware
requirements and shows the following message if the requirements are not met:
This system does not meet all the installation prerequisites for Automation
Anywhere Enterprise.
Some features might not work as expected after installation. For details,
please verify the Control Room Installation Prerequisite.
For more information, see Enterprise A2019 On-Premises prerequisites.
3. Click Next on the Welcome to the Setup Wizard page.
The installation process checks the availability of the following components:
• Microsoft Visual C++ 2013 Redistributable Package
• Microsoft OLEDB Driver for SQL Server

If any of the above components is not available, the system notifies you with an installation pop-up
window. When both components are successfully installed, the License Agreement page appears.
4. Accept the licensing agreement and click Next.
The Installation Type page appears.
5. Select the Express option and click Next.
The Database Configuration page appears.
a. Type the port you want to use to connect to the database server in the Port field.
The default port is 1433. The installer uses the first available port and checks the availability of
each consecutive port.
b. Optionally, select the Use Windows Authentication option to use windows authentication to
connect to the database server. The system disables the Username and Password fields.
c. Optionally, select the Sql Server authentication option to use SQL server authentication to
connect to the database server. Type the Username and Password to be used to connect to the
database server.

Note: The user who connects to the database server must have database creator privileges.

d. Type the name of the database that you want to use for Enterprise Control Room in the Name
of Control Room database field.
e. Type name of the database you want to use for Bot Insight in the Name of Bot Insight
databasefield.

6. Click Next.
The Ready to Install the Program page appears.

© 2020 Automation Anywhere. All rights reserved.     117


    Automation Anywhere - Install and upgrade Enterprise A2019

7. Click Install and allow the installation process to complete.


The InstallShield Wizard Completed page appears.
8. Click Finish.
Launch Automation Anywhere is enabled by default.
Enable Show installer settings to open the aae-installsummary.html file. By default, this is
located at C:\Program Files\Automation Anywhere\Enterprise\. Use this file to view a
summary of the installation.

The Enterprise Control Room launches in your default browser with the Configure Enterprise Control
Room settings page displayed. Proceed to Enterprise Control Room post-installation configuration .
Related concepts
Installing Enterprise Control Room using Custom mode
Login to the server as Administrator, and install Automation Anywhere Enterprise Control Room
in Custom Mode to select installation and configuration options, including installing non-default
requirements. Select this mode for a data center deployment.

Installing Enterprise Control Room using Custom mode


Login to the server as Administrator, and install Automation Anywhere Enterprise Control Room
in Custom Mode to select installation and configuration options, including installing non-default
requirements. Select this mode for a data center deployment.

Step 1: Prepare for installation. • Verify Enterprise A2019 On-Premises


prerequisites.
• Ensure that you have:
• Automation Anywhere Enterprise Control
Room installation file
• SSL certificate
• License file

Step 2: Run Enterprise Control Room installer Run the installer to verify operating system and
hardware requirements, accept the licensing
agreement, and select the installation file path.
Step 3: Configure IP cluster Continue from the Enterprise Control Room
installer to the Cluster Configuration wizard page.
Use this page to setup the system IP addresses for
configuring the Enterprise Control Room on single
or multiple nodes (High Availability).
Step 4: Configure application Transport Layer Continue from the Enterprise Control Room
Security installer to the Transport Layer Security (TLS)
configuration wizard page. Use this configuration
page to generate a self signed certificate or import
a security certificate to setup a highly secure
Enterprise Control Room instance.
Step 5: Configure service credentials Continue from the Enterprise Control Room
installer to the Service Credentials wizard page.
Use the Service Credentials page to specify the
account that will be used to run all Windows
services that are created by Automation Anywhere
installer.

© 2020 Automation Anywhere. All rights reserved.     118


    Automation Anywhere - Install and upgrade Enterprise A2019

Step 6: Configure database type and server Continue from the Enterprise Control Room
installer to the Database type wizard page. Use
the Database type page to configure the Microsoft
SQL Server database for use with the Enterprise
Control Room .
Step 7: Review the installation summary Continue from the Enterprise Control Room
installer to the Ready to Install the Program wizard
page. From this stage of the installation wizard,
you finish the installation wizard and monitor the
installation progress.

Step 8: Complete Enterprise Control Room Enterprise Control After installing the
configuration and validation Room post-installation Enterprise Control
configuration Room, complete the
configuration settings
to ensure timely
Automation Anywhere
communications are
specified and confirm
Automation Anywhere
services are running.
Post-installation user After completing the
management post-installation tasks,
validate the setup
by logging in to the
Enterprise Control
Room and installing
a license. First time
access to the Enterprise
Control Room walks
you through the
configuration for your
authentication method.

Step 9: Prepare for users Users management As a Cloud user


with administrator
permissions, you can
create, view, edit,
delete, enable or disable
a user. Creating users
steps vary depending
if the user is a non-
Active Directory, Active
Directory, or an Single
Sign On user from an
IdP server.

Related concepts
Migration to Enterprise A2019

© 2020 Automation Anywhere. All rights reserved.     119


    Automation Anywhere - Install and upgrade Enterprise A2019

The migration feature enables you to convert and migrate bots created using the Enterprise client version
11.x to A2019. The migration capability is available in A2019 from Build 2079 onwards for On-Premises
deployment.

Run Enterprise Control Room installer


Run the installer to verify operating system and hardware requirements, accept the licensing agreement,
and select the installation file path.
To install Automation Anywhere Enterprise Control Room in Custom Mode, follow these steps.
1. Start the installer wizard.
a) Extract all files from the AutomationAnywhere_Setup.zip file.
b) Right-click the AutomationAnywhere.exe file and select Run as administrator.
For example: AAE_MSSQL_Express_2014SP1.exe

The installation process creates the SQLEXPRESS instance that is used for the Enterprise Control
Room and the Bot Insight databases. The installation process uses this instance to create a database
with the name AAE-Database and configures the database as the default Enterprise Control Room
database.
The installation process checks for supported operating system and for minimum hardware
requirements and shows the following message if the requirements are not met:
This system does not meet all the installation prerequisites for Automation
Anywhere Enterprise.
Some features might not work as expected after installation. For details,
please verify the Control Room Installation Prerequisite.
For more information, see Enterprise A2019 On-Premises prerequisites.
2. Accept the licensing agreement and click Next.
The Installation Type page appears.
3. Select the Custom option and click Next.
The Destination Folder page appears. By default, the destination folder is C:\Program Files
\Automation Anywhere\Enterprise\.
4. To make changes to the destination folder, click Change..., supply new destination folder name, and
click OK.

Note: It is NOT recommended to install the application directly in the root directory (C:\). You
should create a folder, for example C:\Program Files\Automation Anywhere\Enterprise\.

5. Click Next to configure the IP cluster.

Configure IP cluster
Continue from the Enterprise Control Room installer to the Cluster Configuration wizard page. Use this
page to setup the system IP addresses for configuring the Enterprise Control Room on single or multiple
nodes (High Availability).
Ensure that all nodes to be configured for IP Cluster are available for configuration in advance of
installation. Also, provide the same list of IP addresses in all the nodes participating in the cluster when
you install Enterprise Control Room in these nodes.

© 2020 Automation Anywhere. All rights reserved.     120


    Automation Anywhere - Install and upgrade Enterprise A2019

To configure the system IP addresses, do the following.


1. Enable Cluster Setup.
The checkbox is enabled by default if the machine on which the setup is being run has local IP
addresses configured.
To install the Enterprise Control Room without a cluster, disable the Enable Cluster Setup field.
2. Enter the IP addresses of the nodes for the cluster.
a. Use a comma (,) to specify more than one IP address. For example, 192.161.1.1, 192.161.1.2,
192.161.1.3.
If you supply invalid numbers or characters, an error message displays.
b. After you correctly input the cluster IP addresses, a pop-up message prompts you to select a
valid IP address that gives network access to this machine.
c. Select the IP address from the Local IP Address drop down list.
If multiple local IP addresses are configured on the machine, select the IP address on which the
Enterprise Control Room is installed because it will be used to access the Enterprise Control
Room from other nodes.

CAUTION: After configuration, you cannot add or remove nodes from the list of IP
addresses.

3. Click Next to configure the application Transport Layer Security (TLS).

Related tasks
Configure application Transport Layer Security

© 2020 Automation Anywhere. All rights reserved.     121


    Automation Anywhere - Install and upgrade Enterprise A2019

Continue from the Enterprise Control Room installer to the Transport Layer Security (TLS) configuration
wizard page. Use this configuration page to generate a self signed certificate or import a security
certificate to setup a highly secure Enterprise Control Room instance.

Configure application Transport Layer Security


Continue from the Enterprise Control Room installer to the Transport Layer Security (TLS) configuration
wizard page. Use this configuration page to generate a self signed certificate or import a security
certificate to setup a highly secure Enterprise Control Room instance.
1. The TLS Configuration page allows you to configure the following:
• Generate a Self-Signed Certificate
Enabling the Self-Signed Certificate option allows the installer to generate a unique private key
and a self-signed certificate for the Enterprise Control Room.
• Import a Certificate
To import a custom certificate, disable the Self Signed Certificate checkbox. This configuration
allows you to import a certificate using the Certificate Path field.

Note: The certificate file must be a PKCS12 format.

Provide the following information:


• Certificate Path: Click the Browse button to import the certificate.
• Private Key Password: Type the password for the private key.

Warning: Password Limitation: Do not use "@" in passwords. Using the special
character "@" in the password causes the certificate file import to fail.
• Webserver Port: Type the Webserver port – either HTTP or HTTPS. If the port is already
assigned, an error message displays.

Attention: The port validation message is also displayed when you add 8080 for
Webserver and if that port is already in use for a Enterprise Control Room license
service. Use a different unassigned port in the above cases.
• Enable Force HTTP traffic to HTTPS: This option redirects all HTTP port requests to HTTPS. To
access to the Enterprise Control Room via HTTPS using the generated self-signed certificate,
ensure the port numbers are different for HTTP and HTTPS.

2. Click Next to Configure service credentials.

© 2020 Automation Anywhere. All rights reserved.     122


    Automation Anywhere - Install and upgrade Enterprise A2019

Configure service credentials


Continue from the Enterprise Control Room installer to the Service Credentials wizard page. Use the
Service Credentials page to specify the account that will be used to run all Windows services that are
created by Automation Anywhere installer.

1. The Service Credentials screen displays where you can choose from the listed options.
The Windows Service credentials include a user name and password. The user specified must meet
these requirements:
• A member of the local system administrator group.
• Have permission to manage services, including Automation Anywhere services.

These service credentials are used to create database tables and allow the Enterprise Control Room
processes to access the database and repository.
• Local System Account—(default) The logged on user performing the installation.
• Domain Account—Specify a user that is not the local system account user.
a. Uncheck the Local System Account check box.
b. Enter the user name and password for the domain account.

Reasons and requirements for using a domain account user include:


• Do not use the Windows domain credentials
Enter credentials valid for running Automation Anywhere services. Without the valid
credentials, the Enterprise Control Room will fail to launch.
• PowerShell script restrictions
Specify a user with permissions to launch PowerShell scripts who is not a Windows domain
user. Without the relevant permissions, database table creation can fail.

2. Click Next to configure the database types and server.

Configure database type and server


Continue from the Enterprise Control Room installer to the Database type wizard page. Use the Database
type page to configure the Microsoft SQL Server database for use with the Enterprise Control Room .

1. Select the Microsoft SQL Server database.


An instance of SQL Server should be already configured.
2. Click Next.
The Database Server page displays (only if you selected SQL Server for configuring your database.

© 2020 Automation Anywhere. All rights reserved.     123


    Automation Anywhere - Install and upgrade Enterprise A2019

3. Set connection and authentication for the database server.

Note:
• If possible, do not set the value for Database Server as localhost. If you must use localhost,
understand that the Secure Connection to the database will not work.
• Click the Browse button to select the SQL server instance where the Enterprise Control Room
database will be created. Alternately, type a database server name or select one from the list.
(Migration task) If you are migrating from 11.x to A2019, browse to the restored 11.x database.

Provide the following details:

Database Port Use the default port (1433) or specify a custom


value.
Use Secure Connection Select Use Secure Connection to use CA
certificate as specified.

Note: Use the same host name for certificate


and database connections.

Certificate This option is enabled when you select secure


connection. Browse to select a CA certificate.
See Import a CA certificate in Windows for
details on how to import this certificate using the
command line.
Windows authentication This option is selected by default and allows for
connecting to the SQL Server using Windows
authentication.

Note: If you select Windows Authentication,


then the user running the installer is used to test
that the database exists, create it if necessary,
and grant db_owner to the service account user
(NT Authority/System).

SQL Server authentication Select this option to use SQL server


Authentication to connect to the database.
Provide the correct username and password for
SQL Authentication.

Name of Enterprise Control Room database Enter the name for the Enterprise Control Room
database.
4. Click Next to complete the Enterprise Control Room installation process and optionally see the
Setup installation summary page.

Import a CA certificate in Windows


After the Enterprise Control Room installation, import a Certificate Authority (CA) certificate using the
Windows command prompt.
To import a CA certificate using the command prompt, do the following steps:
1. Run the command prompt in administrator mode.

© 2020 Automation Anywhere. All rights reserved.     124


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Copy the Automation Anywhere installation path.


The default installation path is C:\Program Files\Automation Anywhere\Enterprise.
3. Type or paste the following command at the prompt:

jre\bin\java -jar certmgr.jar -appDir "C:\Program Files\Automation


Anywhere\Enterprise" -importTrustCert "D:\<user name>\My Downloads
\CA31.cer"

4. Add the following parameters to the boot.db.properties file that is found in the config folder,
in the Automation Anywhere installation path.
C:\Program Files\Automation Anywhere\Enterprise\config
trustServerCertificate=false

Setup installation summary


Continue from the Enterprise Control Room installer to the Ready to Install the Program wizard page.
From this stage of the installation wizard, you finish the installation wizard and monitor the installation
progress.
1. Click Next.
The Ready to Install the Program screen appears.
2. Click Install and allow the installation process to complete.
The InstallShield Wizard Completed screen appears.
3. Click Finish.
Launch Automation Anywhere is enabled by default.
Enable Show installer settings to open the aae-installsummary.html file. By default, this is
located at C:\Program Files\Automation Anywhere\Enterprise\. Use this file to view a
summary of the installation.

Complete Enterprise Control Room configuration and validation.

Enterprise Control Room post-installation After installing the Enterprise Control Room,
configuration complete the configuration settings to ensure
timely Automation Anywhere communications
are specified and confirm Automation Anywhere
services are running.

Post-installation user management After completing the post-installation tasks, validate


the setup by logging in to the Enterprise Control
Room and installing a license. First time access to
the Enterprise Control Room walks you through
the configuration for your authentication method.

Users management As a Cloud user with administrator permissions,


you can create, view, edit, delete, enable or disable
a user. Creating users steps vary depending if the
user is a non-Active Directory, Active Directory, or
an Single Sign On user from an IdP server.

Related tasks
Installing Enterprise Control Room using Express mode

© 2020 Automation Anywhere. All rights reserved.     125


    Automation Anywhere - Install and upgrade Enterprise A2019

Login to the servers as an Administrator and install Automation Anywhere Enterprise Control Room in
Express Mode using the default settings.
Import a CA certificate in Windows
After the Enterprise Control Room installation, import a Certificate Authority (CA) certificate using the
Windows command prompt.

Installing Enterprise Control Room on Amazon Web Services


Login to an Amazon Web Services (AWS) server instance as Administrator. Then download and start the
Enterprise Control Room installer and select Custom mode.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

Step 1: Prepare for installation • Verify Enterprise A2019 On-Premises


prerequisites.
• Ensure that you have:
• Automation Anywhere Enterprise Control
Room installation file
• SSL certificate
• License file

Step 2: Prepare for installation on Amazon Web Use these steps to prepare the Amazon Web
Services Services (AWS) instances for the Enterprise Control
Room installation.
Step 3: Customize Enterprise Control Room Install and apply the customized configuration
installation on Amazon Web Services required for the Enterprise Control Room cluster
on Amazon Web Services (AWS) after completing
initial preparations.
Step 4: Complete Enterprise Control Room Enterprise Control After installing the
configuration and validation. Room post-installation Enterprise Control
configuration Room, complete the
configuration settings
to ensure timely
Automation Anywhere
communications are
specified and confirm
Automation Anywhere
services are running.
Post-installation user After completing the
management post-installation tasks,
validate the setup
by logging in to the
Enterprise Control
Room and installing
a license. First time
access to the Enterprise
Control Room walks
you through the

© 2020 Automation Anywhere. All rights reserved.     126


    Automation Anywhere - Install and upgrade Enterprise A2019

configuration for your


authentication method.

Step 5: Prepare for users. Users management As a Cloud user


with administrator
permissions, you can
create, view, edit,
delete, enable or disable
a user. Creating users
steps vary depending
if the user is a non-
Active Directory, Active
Directory, or an Single
Sign On user from an
IdP server.

Prepare for installation on Amazon Web Services


Use these steps to prepare the Amazon Web Services (AWS) instances for the Enterprise Control Room
installation.
If you have not done so already, prepare your AWS Identity and Access Management (IAM) user account
to login to the AWS Console.
Do the following:
1. Create AWS Elastic Compute Cloud (EC2) Instances for the Enterprise Control Room Servers.
2. If you use RDS, create Relational Database Service (RDS) Instances for the SQL Server Enterprise
2014 Database server.
3. Configure the AWS Load Balancer.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

To prepare AWS instances, do the following:


1. Set up the Microsoft SQL Server on Amazon Web Services Elastic Compute Cloud (AWS EC2) or
Relational Database Service (RDS).
AAE supports both. For a comparison of the two, see Microsoft SQL Server on AWS.

© 2020 Automation Anywhere. All rights reserved.     127


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Test the database connection with the Microsoft SQL Server.


a. Install Microsoft SQL Management Studio on one of the AWS EC2 instances inside the Virtual
Private Cloud (VPC).
For more information, see Download SQL Server Management Studio.
b. Connect to the Microsoft SQL Server.
For configuration information, see Working with SQL Servers.
c. (Skip this step if the master database user installs the Enterprise Control Room). Create the
following empty database and assign db_owner privileges to the master database user for all of
the databases:
• AAE-Database

3. Set up the shared repository.


a. Create an AWS EC2 instance as a Windows File Server with an additional volume of 100 GB.
b. Join the Active Directory domain.
c. Create a folder and set up the permissions for the repository.
Assign the Enterprise Control Room admin full access to this folder.

Attention: Only the Enterprise Control Room admin is to have full access to this folder
because this is the account from which all Enterprise Control Room services run.

4. Launch two AWS instances, one for each Enterprise Control Room server.
a. Establish two AWS instances, each with the following configuration:
• Type: c5.2xlarge or similar instance type (8 CPU, 16 GB RAM)
• Storage: Root Device: 100 GB
• Storage: Additional Device: D:\ 200 GB (For Automation Anywhere Install files)
• Accidental Deletion Prevention: Enabled

b. Access the two instances through Remote Desktop Protocol.


c. Add the instances to the Active Directory domain.
d. For each instance, add the Enterprise Control Room system admin as a local administrator on
the computer and reboot the system.

5. Configure the firewall and port.


See Ports, protocols, and firewall requirements.
6. Set up the AWS Application Load Balancer.
See Details for Elastic Load Balancing Products.
• Disable the stickiness attribute.
• Set the idle time-out to 120 seconds.

7. Upload the SSL certificate to the Load Balancer.

Continue with Customize Enterprise Control Room installation on Amazon Web Services .

© 2020 Automation Anywhere. All rights reserved.     128


    Automation Anywhere - Install and upgrade Enterprise A2019

Customize Enterprise Control Room installation on Amazon Web Services


Install and apply the customized configuration required for the Enterprise Control Room cluster on
Amazon Web Services (AWS) after completing initial preparations.
If you have not done so already, complete the initial installation steps in Prepare for installation on
Amazon Web Services.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

To install the Enterprise Control Room in a cluster setup, do the following steps:
1. Login to the first AWS instance as an Administrator.
2. Download Automation Anywhere_<version>.exe.
3. Click Next on the Welcome to the Setup Wizard page.
The installation process checks the availability of the following components:
• Microsoft Visual C++ 2013 Redistributable Package
• Microsoft OLEDB Driver for SQL Server

If any of the above components is not available, the system notifies you with an installation pop-up
window. When both components are successfully installed, the License Agreement page appears.
4. Accept the licensing agreement and click Next.
The Installation Type page appears.
5. Select the Custom option and click Next.
The Destination Folder page appears. By default, the destination folder is C:\Program Files
\Automation Anywhere\Enterprise\.
6. To make changes to the destination folder, click Change..., supply new destination folder name, and
click OK.

Note: It is NOT recommended to install the application directly in the root directory (C:\). You
should create a folder, for example C:\Program Files\Automation Anywhere\Enterprise\.

7. Click Next to configure the IP cluster.


8. Enable Cluster Setup.
The checkbox is enabled by default if the machine on which the setup is being run has local IP
addresses configured.
To install the Enterprise Control Room without a cluster, disable the Enable Cluster Setup field.

© 2020 Automation Anywhere. All rights reserved.     129


    Automation Anywhere - Install and upgrade Enterprise A2019

9. Enter the IP addresses of the nodes for the cluster.


a. Use a comma (,) to specify more than one IP address. For example, 192.161.1.1, 192.161.1.2,
192.161.1.3.
If you supply invalid numbers or characters, an error message displays.
b. After you correctly input the cluster IP addresses, a pop-up message prompts you to select a
valid IP address that gives network access to this machine.
c. Select the IP address from the Local IP Address drop down list.
If multiple local IP addresses are configured on the machine, select the IP address on which the
Enterprise Control Room is installed because it will be used to access the Enterprise Control
Room from other nodes.

CAUTION: After configuration, you cannot add or remove nodes from the list of IP
addresses.

10. Click Next to configure the application Transport Layer Security (TLS).
11. The TLS Configuration page allows you to configure the following:
• Generate a Self-Signed Certificate
Enabling the Self-Signed Certificate option allows the installer to generate a unique private key
and a self-signed certificate for the Enterprise Control Room.
• Import a Certificate
To import a custom certificate, disable the Self Signed Certificate checkbox. This configuration
allows you to import a certificate using the Certificate Path field.

Note: The certificate file must be a PKCS12 format.

Provide the following information:


• Certificate Path: Click the Browse button to import the certificate.
• Private Key Password: Type the password for the private key.

Warning: Password Limitation: Do not use "@" in passwords. Using the special
character "@" in the password causes the certificate file import to fail.
• Webserver Port: Type the Webserver port – either HTTP or HTTPS. If the port is already
assigned, an error message displays.

Attention: The port validation message is also displayed when you add 8080 for
Webserver and if that port is already in use for a Enterprise Control Room license
service. Use a different unassigned port in the above cases.
• Enable Force HTTP traffic to HTTPS: This option redirects all HTTP port requests to HTTPS. To
access to the Enterprise Control Room via HTTPS using the generated self-signed certificate,
ensure the port numbers are different for HTTP and HTTPS.

12. Click Next to configure the service credentials.

© 2020 Automation Anywhere. All rights reserved.     130


    Automation Anywhere - Install and upgrade Enterprise A2019

13. The Service Credentials screen displays where you can choose from the listed options.
The Windows Service credentials include a user name and password. The user specified must meet
these requirements:
• A member of the local system administrator group.
• Have permission to manage services, including Automation Anywhere services.

These service credentials are used to create database tables and allow the Enterprise Control Room
processes to access the database and repository.
• Local System Account—(default) The logged on user performing the installation.
• Domain Account—Specify a user that is not the local system account user.
a. Uncheck the Local System Account check box.
b. Enter the user name and password for the domain account.

Reasons and requirements for using a domain account user include:


• Do not use the Windows domain credentials
Enter credentials valid for running Automation Anywhere services. Without the valid
credentials, the Enterprise Control Room will fail to launch.
• PowerShell script restrictions
Specify a user with permissions to launch PowerShell scripts who is not a Windows domain
user. Without the relevant permissions, database table creation can fail.

14. Add the SQL Server and click Next.


Select Microsoft SQL Server, type the Name, and click Next.
15. Click Finish.
Launch Automation Anywhere is enabled by default.
Enable Show installer settings to open the aae-installsummary.html file. By default, this is
located at C:\Program Files\Automation Anywhere\Enterprise\. Use this file to view a
summary of the installation.

The Enterprise Control Room launches in your default browser with the Configure Enterprise Control
Room settings page shown. Continue with Configure settings post-installation on Amazon Web Services.

Configure settings post-installation on Amazon Web Services


After installation is complete, configure Enterprise Control Room settings on Amazon Web Services.
If you have not done so already, complete the installation steps in Customize Enterprise Control Room
installation on Amazon Web Services .

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

© 2020 Automation Anywhere. All rights reserved.     131


    Automation Anywhere - Install and upgrade Enterprise A2019

To install Automation Anywhere on Amazon Web Services (AWS), do the following steps:
1. Configure the following Enterprise Control Room settings:
a. Specify the host name URL by providing the AWS Load Balancer URL.
This is the URL that users use to access your installation of Enterprise Control Room.
b. Select the Active Directory authentication type. For more information, see Configure Enterprise
Control Room for Active Directory: manual mode .

2. After you configure the Enterprise Control Room, install product licenses. For installation
instructions, see Install a license.
3. Test Enterprise Control Room access using the AWS Load Balancer URL.
This completes the Enterprise Control Room installation on AWS.

Complete Enterprise Control Room configuration and validation.

Enterprise Control Room post-installation After installing the Enterprise Control Room,
configuration complete the configuration settings to ensure
timely Automation Anywhere communications
are specified and confirm Automation Anywhere
services are running.

Post-installation user management After completing the post-installation tasks, validate


the setup by logging in to the Enterprise Control
Room and installing a license. First time access to
the Enterprise Control Room walks you through
the configuration for your authentication method.

Users management As a Cloud user with administrator permissions,


you can create, view, edit, delete, enable or disable
a user. Creating users steps vary depending if the
user is a non-Active Directory, Active Directory, or
an Single Sign On user from an IdP server.

Installing Enterprise Control Room on Microsoft Azure


Installing Enterprise Control Room on Microsoft Azure begins in the Azure environment and ends with
configurations in the Enterprise Control Room.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

Step 1: Prepare for installation. • Verify Enterprise A2019 On-Premises


prerequisites.
• Ensure that you have:
• Automation Anywhere Enterprise Control
Room installation file
• SSL certificate
• License file

© 2020 Automation Anywhere. All rights reserved.     132


    Automation Anywhere - Install and upgrade Enterprise A2019

Step 2: Verify readiness for installation on Microsoft Use these steps to configure third-party products
Azure for the Enterprise Control Room installation.
Step 3: Begin Enterprise Control Room installation Initial steps for Enterprise Control Room installation
on Microsoft Azure on Microsoft Azure.
Step 4: Customize Enterprise Control Room Install and apply the customized configuration
installation on Microsoft Azure required for the Enterprise Control Room cluster
on Microsoft Azure.
Step 5: Complete Enterprise Control Room Enterprise Control After installing the
configuration and validation. Room post-installation Enterprise Control
configuration Room, complete the
configuration settings
to ensure timely
Automation Anywhere
communications are
specified and confirm
Automation Anywhere
services are running.
Post-installation user After completing the
management post-installation tasks,
validate the setup
by logging in to the
Enterprise Control
Room and installing
a license. First time
access to the Enterprise
Control Room walks
you through the
configuration for your
authentication method.

Step 6: Prepare for users. Users management As a Cloud user


with administrator
permissions, you can
create, view, edit,
delete, enable or disable
a user. Creating users
steps vary depending
if the user is a non-
Active Directory, Active
Directory, or an Single
Sign On user from an
IdP server.

Verify readiness for installation on Microsoft Azure


Use these steps to configure third-party products for the Enterprise Control Room installation.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

© 2020 Automation Anywhere. All rights reserved.     133


    Automation Anywhere - Install and upgrade Enterprise A2019

To configure third-party products prior to installation, do the following steps:


1. Ensure the installation environment meets the data center requirements and collect the necessary
information about the following components:
• Load balancer - IP address
• Microsoft SQL Server - port credentials
• Azure SMB file share - address credentials
• Enterprise identity management system (optional)
If you have Active Directory (AD) - AD server domain credentials
• SMTP - host port HTTP/S ports for TLS (optional)
• Enterprise Control Room servers - Have Windows credential manager installed

Refer to Supported data center component versions on Microsoft Azure for configuration and
version information.
2. Configure the Network Security Group as per the recommended security policies for Inbound Port
rules:
Data center object Port Protocol

Enterprise Control Room 80, 443 Any


Azure Active Directory 53, 389 Any
LDAP 3268, 3269 Any
email SMTP 587 Any
SSH 22 Any
RDP 3389 TCP

3. Configure the AD server.


Ensure all users are part of the AD domain and the AD server is setup in IaaS mode for Azure
cluster environment installations. To add user, navigate to Active Directory Users and Computers >
<domain> > Users and add the necessary user.
To configure the AD server on Azure with IDaaS, refer to the Microsoft Azure documentation.
4. Ensure the Enterprise Control Room servers in the cluster can ping each other.
If the ping is not successful:
a. Enable the following below file and printer sharing firewall rule:
File and Printer Sharing (Echo Request - ICMPv4-In) File and Printer
Sharing All Yes Allow No Any Any Any ICMPv4
b. Ping the Enterprise Control Room after enabling the firewall rule change.

When you have completed the pre-installation configurations, Begin Enterprise Control Room installation
on Microsoft Azure.

© 2020 Automation Anywhere. All rights reserved.     134


    Automation Anywhere - Install and upgrade Enterprise A2019

Supported data center component versions on Microsoft Azure


The supported operating system versions for installing Automation Anywhere A2019 on the Microsoft
Azure cluster environment are identified for each component.

Data center object Version Configuration

Enterprise Control Room Windows 2016 IaaS


operating system
Identity management: Azure Azure Active Directory IDaaS
Active Directory
Windows 2016 for IaaS

SMB File Share Azure File Share PaaS (50 GB)


Load Balancer Azure Load Balancer (Not PaaS
Application Gateway)
Microsoft SQL Server Azure SQL Database (Microsoft PaaS
SQL Azure (RTM) - 12.0.2000.8)

Begin Enterprise Control Room installation on Microsoft Azure


Initial steps for Enterprise Control Room installation on Microsoft Azure.
If you have not done so already, complete the pre-installation configuration in Verify readiness for
installation on Microsoft Azure.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

To begin the installation:


1. Use Remote Desktop Connection (RDC) to connect to the Enterprise Control Room server, as an
Administrator, and run the Enterprise Control Room installer.
2. Click Yes to start the installer.
3. Click Next on the Welcome to the Setup Wizard page.
The installation process checks the availability of the following components:
• Microsoft Visual C++ 2013 Redistributable Package
• Microsoft OLEDB Driver for SQL Server

If any of the above components is not available, the system notifies you with an installation pop-up
window. When both components are successfully installed, the License Agreement page appears.
4. Accept the licensing agreement and click Next.
The Installation Type page appears.
5. Select the Custom option and click Next.
6. Click Next to setup the system IPs.
The Cluster Configuration window displays.

Continue with Customize Enterprise Control Room installation on Microsoft Azure.

© 2020 Automation Anywhere. All rights reserved.     135


    Automation Anywhere - Install and upgrade Enterprise A2019

Customize Enterprise Control Room installation on Microsoft Azure


Install and apply the customized configuration required for the Enterprise Control Room cluster on
Microsoft Azure.
If you have not done so already, complete the initial installation steps in Begin Enterprise Control Room
installation on Microsoft Azure. This task requires the configuration information you gathered in the
prerequisites stage. This includes IP addresses, certificates, and credentials for the the Enterprise Control
Room servers, datacenter servers, and databases.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

To install the Enterprise Control Room in a cluster setup, do the following steps:
1. Enable Cluster Setup.
The checkbox is enabled by default if the machine on which the setup is being run has local IP
addresses configured.
To install the Enterprise Control Room without a cluster, disable the Enable Cluster Setup field.
2. Enter the IP addresses of the nodes for the cluster.
a. Use a comma (,) to specify more than one IP address. For example, 192.161.1.1, 192.161.1.2,
192.161.1.3.
If you supply invalid numbers or characters, an error message displays.
b. After you correctly input the cluster IP addresses, a pop-up message prompts you to select a
valid IP address that gives network access to this machine.
c. Select the IP address from the Local IP Address drop down list.
If multiple local IP addresses are configured on the machine, select the IP address on which the
Enterprise Control Room is installed because it will be used to access the Enterprise Control
Room from other nodes.

CAUTION: After configuration, you cannot add or remove nodes from the list of IP
addresses.

3. Click Next to configure the application Transport Layer Security (TLS).

© 2020 Automation Anywhere. All rights reserved.     136


    Automation Anywhere - Install and upgrade Enterprise A2019

4. The TLS Configuration page allows you to configure the following:


• Generate a Self-Signed Certificate
Enabling the Self-Signed Certificate option allows the installer to generate a unique private key
and a self-signed certificate for the Enterprise Control Room.
• Import a Certificate
To import a custom certificate, disable the Self Signed Certificate checkbox. This configuration
allows you to import a certificate using the Certificate Path field.

Note: The certificate file must be a PKCS12 format.

Provide the following information:


• Certificate Path: Click the Browse button to import the certificate.
• Private Key Password: Type the password for the private key.

Warning: Password Limitation: Do not use "@" in passwords. Using the special
character "@" in the password causes the certificate file import to fail.
• Webserver Port: Type the Webserver port – either HTTP or HTTPS. If the port is already
assigned, an error message displays.

Attention: The port validation message is also displayed when you add 8080 for
Webserver and if that port is already in use for a Enterprise Control Room license
service. Use a different unassigned port in the above cases.
• Enable Force HTTP traffic to HTTPS: This option redirects all HTTP port requests to HTTPS. To
access to the Enterprise Control Room via HTTPS using the generated self-signed certificate,
ensure the port numbers are different for HTTP and HTTPS.

5. Click Next to configure the service credentials.

© 2020 Automation Anywhere. All rights reserved.     137


    Automation Anywhere - Install and upgrade Enterprise A2019

6. The Service Credentials screen displays where you can choose from the listed options.
The Windows Service credentials include a user name and password. The user specified must meet
these requirements:
• A member of the local system administrator group.
• Have permission to manage services, including Automation Anywhere services.

These service credentials are used to create database tables and allow the Enterprise Control Room
processes to access the database and repository.
• Local System Account—(default) The logged on user performing the installation.
• Domain Account—Specify a user that is not the local system account user.
a. Uncheck the Local System Account check box.
b. Enter the user name and password for the domain account.

Reasons and requirements for using a domain account user include:


• Do not use the Windows domain credentials
Enter credentials valid for running Automation Anywhere services. Without the valid
credentials, the Enterprise Control Room will fail to launch.
• PowerShell script restrictions
Specify a user with permissions to launch PowerShell scripts who is not a Windows domain
user. Without the relevant permissions, database table creation can fail.

7. Click Next to configure database type and server.


8. Set connection and authentication for the database server.

Note:
• If possible, do not set the value for Database Server as localhost. If you must use localhost,
understand that the Secure Connection to the database will not work.
• Click the Browse button to select the SQL server instance where the Enterprise Control Room
database will be created. Alternately, type a database server name or select one from the list.
(Migration task) If you are migrating from 11.x to A2019, browse to the restored 11.x database.

Provide the following details:

Database Port Use the default port (1433) or specify a custom


value.
Use Secure Connection Select Use Secure Connection to use CA
certificate as specified.

Note: Use the same host name for certificate


and database connections.

Certificate This option is enabled when you select secure


connection. Browse to select a CA certificate.
See Import a CA certificate in Windows for
details on how to import this certificate using the
command line.

© 2020 Automation Anywhere. All rights reserved.     138


    Automation Anywhere - Install and upgrade Enterprise A2019

Windows authentication This option is selected by default and allows for


connecting to the SQL Server using Windows
authentication.

Note: If you select Windows Authentication,


then the user running the installer is used to test
that the database exists, create it if necessary,
and grant db_owner to the service account user
(NT Authority/System).

SQL Server authentication Select this option to use SQL server


Authentication to connect to the database.
Provide the correct username and password for
SQL Authentication.

Name of Enterprise Control Room database Enter the name for the Enterprise Control Room
database.
9. Click Next.
The Ready to Install the Program page appears.
10. Click Install and allow the installation process to complete.
The InstallShield Wizard Completed page appears.
11. Click Finish.
Launch Automation Anywhere is enabled by default.
Enable Show installer settings to open the aae-installsummary.html file. By default, this is
located at C:\Program Files\Automation Anywhere\Enterprise\. Use this file to view a
summary of the installation.

The Enterprise Control Room launches in your default browser with the Configure Enterprise Control
Room settings page shown. Continue with Configure settings post-installation on Microsoft Azure.

Configure settings post-installation on Microsoft Azure


After Enterprise Control Room installation is complete, use the Microsoft Azure Portal to configure the
clusters. Use the Azure Portal to configure Windows credentials, Enterprise Control Room settings for
repository and URL, master key for Credential Vault, Active Directory authentication, and optionally SMTP
settings.
If you have not done so already, complete the installation steps in Customize Enterprise Control Room
installation on Microsoft Azure.

Note: There are many possible system configurations and requirements. These installation steps do not
account for all those posibilities so your specific setup and installation steps may vary and Automation
Anywhere does not make any warranties that these steps conform with your specific configurations.

1. From the Azure Portal where SMB File Share is setup, get the Connection String to retrieve following
parameters:
a. Internet or network address
b. User name
c. Password

© 2020 Automation Anywhere. All rights reserved.     139


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Locate the Window Credential Manager on the control room server and click Add a Windows
Credential.
3. Enter the credential information.

Note: Adding a user under Windows Credential Manager needs to be repeated on all the servers
used for testing in the cluster environment (Enterprise Control Room, Clients/Devices).

4. Enter information and click Save and Continue.


Repository path is extracted from SMB File Share and Enterprise Control Room access URL in is a
load balancer Public IP.
5. Copy the Master Key and save it (it will be needed to restart the services).
6. Select Express mode and click Save and Continue.
7. Enter the Active Directory authentication configuration information, including URL, Domain
username, and password, then click Check Connection. If settings are correct, click Next.
8. Enter the AD user created previously and click Check name in Active Directory. Upon validation, click
Save and Log in.
Create additional users as needed and create corresponding users in the Enterprise Control Room.
9. Optional: Continue with installing other control room nodes in the cluster.
10. Perform the SMTP registration.

Note: A real SSL certificate is recommended for use with deployments.

This completes the Enterprise Control Room installation on Microsoft Azure.

Complete Enterprise Control Room configuration and validation.

Enterprise Control Room post-installation After installing the Enterprise Control Room,
configuration complete the configuration settings to ensure
timely Automation Anywhere communications
are specified and confirm Automation Anywhere
services are running.

Post-installation user management After completing the post-installation tasks, validate


the setup by logging in to the Enterprise Control
Room and installing a license. First time access to
the Enterprise Control Room walks you through
the configuration for your authentication method.

Users management As a Cloud user with administrator permissions,


you can create, view, edit, delete, enable or disable
a user. Creating users steps vary depending if the
user is a non-Active Directory, Active Directory, or
an Single Sign On user from an IdP server.

Installing Enterprise Control Room on Linux


You start installing the Automation Anywhere Enterprise Control Room in the Linux environment and
complete the installation in the Enterprise Control Room.

Note: The installation steps do not list any specific configurations or requirements and therefore your
setup might be different. Automation Anywhere does not provide any warranties that the installation
steps conform with your system configurations or requirements.

© 2020 Automation Anywhere. All rights reserved.     140


    Automation Anywhere - Install and upgrade Enterprise A2019

This task is run from the Linux OS command line.


Ensure that:
• The Microsoft SQL Server database is installed and running.
The Microsoft SQL Server database can be installed on either a Windows server or a Linux server.
• The Enterprise A2019 installation server is connected to the Microsoft SQL Server database.

1. Verify the installation prerequisites.


a) Verify the Enterprise A2019 On-Premises prerequisites.
b) Have the following files available:
• SSL certificate
• License file

c) Download the AutomationAnywhereEnterprice_A2019_e17.bin installation file to the


Linux server.
d) Install MS SQL server. Verify it is running, execute the command:
$ sudo systemctl status mssql-server

2. Log in to the installation server.


3. Run the installer command as a superuser:
a) $ sudo chmod a + x AutomationAnywhereEnterprice_A2019_e17.bin
b) $ sudo ./AutomationAnywhereEnterprice_A2019_e17.bin

The installation wizard verifies the installation requirements and proceeds with the installation.

Tip:
• Type back command to return to a previous command step.
• Press return key to accept default values or enter alternate value then press return key.

4. To accept the license agreement, enter Y.


The installation wizard continues with the installation.
5. In the Transport Layer Security (TLS) screen, configure the following:
a) Control Room HTTP Port (Default: 80)
b) Control Room HTTPS Port (Default: 443)
c) To enable the Self Signed Certificate, enter 1 or enter 2 to disable it.
d) To Force HTTP Traffic to HTTPS, enter 1 to disable it or enter 2 to enable it.

Configure application Transport Layer Security


6. In the Cluster Configuration screen, enter 1 to disable it or enter 2 to enable it.
• If you choose to enable cluster configuration, enter the IP addresses of the cluster nodes. Use
a comma (,) to specify more than one IP address. Do not add space between IP addresses. For
example: 192.161.1.1,192.161.1.2
• If multiple local IP addresses are configured on the machine, select the IP address on which the
Enterprise Control Room is installed.

Configure IP cluster

© 2020 Automation Anywhere. All rights reserved.     141


    Automation Anywhere - Install and upgrade Enterprise A2019

7. In the Database Configuration screen, configure the following:


a) Database Server address (default: localhost)
b) Database port (default: 1433)
c) Control Room Database (default: AAE-Database) or enter a name.
d) SQL Server Login credentials: provide the login ID and SQL Server password.

Configure database type and server


8. Review the pre-installation summary.
9. Press enter to install the Automation Anywhere Enterprise in the default directory:
/opt/automationanywhere/enterprise
A message appears stating the installation is successfully completed.
10. Configure the post-installation settings.
Configuring post installation settings
11. Validate the installation.
Configure Enterprise Control Room authentication options
12. Install a license.
Install a license

After the Enterprise Control Room installation and configuration is complete, users can now register their
devices to create and run bots.
Register device and install Bot agent
Related reference
Enterprise A2019 On-Premises Enterprise Control Room installation
Review the installation core tasks and topics for installing A2019 Enterprise Control Room in a data
center on an On-Premises server or a cloud service provider server instance.

Import a CA certificate in Linux


After you complete the Enterprise Control Room installation, import a Certificate Authority (CA)
certificate using the Linux command prompt.
1. Run the command prompt in administrator mode.
2. Copy the Automation Anywhere installation path.
The default installation path is:

root:\Program Files\Automation Anywhere\Enterprise

3. Type or paste the following command at the prompt:

jre\bin\java -jar certmgr.jar -appDir


"root:\Program Files\Automation Anywhere
\Enterprise"
-importTrustCert "D:\<user name>\My Downloads
\CA31.cer"

4. Add the following parameters to the boot.db.properties file that is located in the config folder,
in the Automation Anywhere installation path.

root:\Program Files\Automation Anywhere\Enterprise\config


trustServerCertificate=false

© 2020 Automation Anywhere. All rights reserved.     142


    Automation Anywhere - Install and upgrade Enterprise A2019

Installing Enterprise Control Room using scripts


Silent Enterprise Control Room installation, also known as unattended installation, uses a customized
Powershell script for a full setup or the command line for a hot fix patch. Silent install runs the entire
installation process in the background without requiring user interaction or displaying messages.
• Verify Enterprise A2019 On-Premises prerequisites.
• Ensure that you have:
• Automation Anywhere Enterprise Control Room installation file
• SSL certificate
• License file

Create a Powershell script. Refer to the installation parameters and sample scripts. Run the script in
Powershell.
1. Review the parameters and identify the settings you require.

Enterprise Control Room installation parameters

Variable Name Description

INSTALLDIR Installation Directory

AA_SETUPTYPE Setup type Custom or Express


AA_SETCLUSTERMODE For cluster set 1 else 0

AA_CRCLUSTERCONFIG if AA_SETCLUSTERMODE=1 then cluster IP


comma separated

AA_CRLISTENPORT Web server port. Default value is 80

AA_CRFORCETOHTTPS="1" Force traefik from HTTP to HTTPS

AA_CRFORCEHTTPSCONFIG=" " -

AA_CRWCCERTPASSWD Certificate password

AA_CRSETLOCALSERVICECRED 1 if service logon as System


0 if service logon as specific user

AA_CRSERVICEUSERNAME if AA_CRSETLOCALSERVICECRED= 0 then


domain\user name

AA_CRSERVICEPASSWD if AA_CRSETLOCALSERVICECRED= 0 then


password

AA_CRSERVICECONFIRMPASSWD if AA_CRSETLOCALSERVICECRED= 0 then


confirm password

AA_CRDBPORT Enterprise Control Room database port.


Default value is 1433

© 2020 Automation Anywhere. All rights reserved.     143


    Automation Anywhere - Install and upgrade Enterprise A2019

Enterprise Control Room installation parameters

Variable Name Description

AA_SQLSERVERAUTHTYPE 0 for Windows Authentication and 1 for


SQL Server Authentication

AA_CRWCCERTPATH Certificate path

IS_SQLSERVER_SERVER SQL server name (host name)

IS_SQLSERVER_AUTHENTICATION 0 for Windows authentication

AA_SQLSERVERAUTHMODE 0 for Windows authentication

IS_SQLSERVER_DATABASE SQL Database name

AA_CRHTTPPORT CR HTTP port. Default is 5432

AA_CRHTTPSPORT CR HTTPS port

Elasticsearch Related Parameters


AA_ELASTICSEARCHSYSIP valid IP

2. Option: Edit the sample script to use an Microsoft SQL Server database.
Use the script to install the Enterprise Control Room with the configuration options available in the
installer.
a) Correct values for variables such as: $service_username, $service_pwd, $db_server,
$cr_port.
b) Run the script with a Credentials in Service logon, and a non-secure connection using Microsoft
SQL Server authentication with a new database.

Sample Microsoft SQL Server script.

$cr_port=80
$service_username= ".\Administrator"

#e.g."mydomain\john.smith"
$service_pwd="astrongpassword"

#$certpath = "C:\SilentInstall\certificate.pfx"

#$certpass = "changeit"
$db_server="localhost\sqlexpress"
$cr_db_name="CRDB-NEW"
$bi_db_name="BotInsight"
$db_user="sa"
$db_pwd="Admin@123"
$AA_BIMETADATADBTYPE=0
$bi_pg_server="localhost"
$bi_pg_username="automation"
$bi_pg_pwd="Automation123"
$installation_path="C:\Program Files\Automation Anywhere"

#Install latest setup


$static_installation_path="\Enterprise\"""""

© 2020 Automation Anywhere. All rights reserved.     144


    Automation Anywhere - Install and upgrade Enterprise A2019

$silent_details=" /s ","v""" -join "/"


$installpath_details= "/qn INSTALLDIR=\"""
$custom_details=" /vAA_SETUPTYPE=Custom /vAA_CUSTOMMODETYPE=1"
$port_cluster_details=" /vAA_SETCLUSTERMODE=0 /vAA_CRLISTENPORT=$cr_port"
$service_details=" /vAA_CRSETLOCALSERVICECRED=0 /vAA_CRSERVICEUSERNAME=
$service_username
/vAA_CRSERVICEPASSWD=$service_pwd /vAA_CRSERVICECONFIRMPASSWD=
$service_pwd"
$db_details=" /vAA_BIMETADATADBTYPE=$AA_BIMETADATADBTYPE /
vAA_SQLSERVERAUTHTYPE=true
/vIS_SQLSERVER_SERVER=$db_server /vIS_SQLSERVER_USERNAME=$db_user
/vIS_SQLSERVER_PASSWORD=$db_pwd /vIS_SQLSERVER_DATABASE1=$bi_db_name
/vIS_SQLSERVER_DATABASE=$cr_db_name /vIS_SQLSERVER_AUTHENTICATION=1
/vAA_SQLSERVERAUTHMODE=1"
$pg_details=" /vAA_BIPGINSTALL=1 /vAA_INSTALLPOSTGRES=0 /
vAA_BIPGHOSTNAME=$bi_pg_server
/vAA_BIPGUSERNAME=$bi_pg_username /vAA_BIPGPASSWORD=$bi_pg_pwd
/vAA_BIPGCONFIRMPASSWORD=$bi_pg_pwd"
$other=" /vAA_CRWCHTTPPORT=80 /vAA_CRWCHTTPSPORT=443 /
vAA_CRSELFSIGNCERT=1
/vAA_CRWCCERTPATH=$certpath /vAA_CRWCCERTPASSWD=$certpass /
vLAUNCHPROGRAM=1
/v""/LIweamoruc! log.txt"""
$final_commandline = -join($silent_details,$installpath_details,
$installation_path,
$static_installation_path,$custom_details,$port_cluster_details,
$service_details,
$db_details,$pg_details,$other)
Write-Host $final_commandline
$a=Get-ChildItem $PSScriptRoot\* -Include *.exe

#$a = "C:\Silent
\AutomationAnywhereEnterprise_v11_2_0-07272018-10234948.exe"

Write-Host $a
Write-Host "Starting the installation. This could take some time..."
$processdetail=(Start-Process -FilePath $a -ArgumentList
$final_commandline
-Wait -PassThru).ExitCode
Write-Host $a.Name execution is done. If installation is not proper
please
check msi logs in the temp folder.
pause

3. Save the script you edit to the server for installation.


4. On the installation server, logged on as an Administrator, open Powershell in admin mode and
execute:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
5. Start Powershell in admin mode and execute:
.\install.ps1

Note: The silent install logs are stored in the folder from which the install script is executed. For
example, if you run the script from C:\Silent Install, the logs are stored in C:\Silent Install folder.

© 2020 Automation Anywhere. All rights reserved.     145


    Automation Anywhere - Install and upgrade Enterprise A2019

6. Option: Install a hot fix patch of Enterprise Control Room in silent mode.
a) Ensure the Powershell script is located in the same directory as the Enterprise Control Room
installer.
b) Launch the Windows command window in administrator mode.
c) Change to the directory where the installation files are stored.
d) Run the Enterprise Control Room installer.
C:\Setup>./"Automation Anywhere Enterprise_Update_11.3.x.x.exe" /s /v/qn
e) View installation progress. From the Enterprise Control Room, select Task ManagerBackground
processes.
The machine restarts when installation is complete.

Complete Enterprise Control Room configuration and validation.

Enterprise Control Room post-installation After installing the Enterprise Control Room,
configuration complete the configuration settings to ensure
timely Automation Anywhere communications
are specified and confirm Automation Anywhere
services are running.

Post-installation user management After completing the post-installation tasks, validate


the setup by logging in to the Enterprise Control
Room and installing a license. First time access to
the Enterprise Control Room walks you through
the configuration for your authentication method.

Users management As a Cloud user with administrator permissions,


you can create, view, edit, delete, enable or disable
a user. Creating users steps vary depending if the
user is a non-Active Directory, Active Directory, or
an Single Sign On user from an IdP server.

Enterprise Control Room post-installation configuration


After installing the Enterprise Control Room, complete the configuration settings to ensure timely
Automation Anywhere communications are specified and confirm Automation Anywhere services are
running.
Configuring post installation settings After you finish installing the Enterprise Control
Room, configure the following items to ensure
timely Automation Anywhere communications.

Verifying Automation Anywhere services Automation Anywhere specific Services are


installed on the Enterprise Control Room server.

© 2020 Automation Anywhere. All rights reserved.     146


    Automation Anywhere - Install and upgrade Enterprise A2019

Configuring post installation settings


After you finish installing the Enterprise Control Room, configure the following items to ensure timely
Automation Anywhere communications.

Post-installation tasks and settings

Exclude Anti-virus Exclude anti-virus scans from running in the


Automation Anywhere local repository because
they interfere with running bots.
Set the Language locale Select English (United States) as the Region Setting.
From Windows, select Control Panel > Region >
Administrative > Change system locale.
Set the Region Select English (United States) as the Region Format.
From Windows, select Control Panel > Region >
Format.
Set Time synchronization Enable Network Time Protocol (NTP) on
the Enterprise Control Room. For additional
information about setting the NTP, contact your
system administrator.

For Microsoft Azure platform installation Use the Microsoft Azure Portal to configure:
• Windows credentials
• Enterprise Control Room settings for repository,
URL, and master key for Credential Vault
• Microsoft Active Directory authentication
• Optionally, SMTP settings.

Related concepts
Enterprise Control Room post-installation configuration
After installing the Enterprise Control Room, complete the configuration settings to ensure timely
Automation Anywhere communications are specified and confirm Automation Anywhere services are
running.
Related reference
Verifying Automation Anywhere services
Automation Anywhere specific Services are installed on the Enterprise Control Room server.
Working with SQL Servers

Verifying Automation Anywhere services


Automation Anywhere specific Services are installed on the Enterprise Control Room server.

To verify installed Windows services

From your Windows device:


1. Select Control Panel > Administrator Tools > Services.
The specific path to Services can vary, depending upon your specific Windows version.

© 2020 Automation Anywhere. All rights reserved.     147


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Scroll through the list to find the listed service name. Note the Status.

Enterprise Control Room services


Verify that the following Windows services are installed by the Automation Anywhere Enterprise Control
Room installer.

To verify installed Linux services

1. Log in to the installation server.


2. Run the commands as a superuser.
3. Run the commands to verify the following services:
• AACRcaching : sudo systemctl status controlroomcaching.service
• AACRreverseproxy : sudo systemctl status controlroomreverseproxy.service
• AACRservice: sudo systemctl status controlroombackend.service
• AAmessaging: sudo systemctl status controlroommessaging.service
• AAelasticsearach: sudo systemctl status controlroomelasticsearch.service
• AAbotcompiler: sudo systemctl status controlroombotcompiler.service

Installed services

Service Name Service Command Line Description


Name

Automation Anywhere
AACRcaching Used for distributed cache storage.
Control Room Caching

Automation Anywhere Receives all incoming HTTP and HTTPS


Control Room Reverse AACRreverseproxy requests for Automation Anywhere products
Proxy and forwards to the correct service.

Automation Anywhere Receives and processes API requests for the


AACRservice
Control Room Service Enterprise Control Room.

Automation Anywhere
Allows Enterprise Control Room services to
Control Room AAmessaging
communicate asynchronously.
Messaging

AAelasticsearch Stores all logs and related activities for


Automation Anywhere
search functionality. Details regarding Elastic
Elastic Search Service
search can be found here.

Note: All the services can be configured either in Local System or Domain account when the Enterprise
Control Room is installed in Custom mode. For a Enterprise Control Room installed in Express mode, all
the services are run in Local System account.

© 2020 Automation Anywhere. All rights reserved.     148


    Automation Anywhere - Install and upgrade Enterprise A2019

Related concepts
Installing Enterprise Control Room using Custom mode
Login to the server as Administrator, and install Automation Anywhere Enterprise Control Room
in Custom Mode to select installation and configuration options, including installing non-default
requirements. Select this mode for a data center deployment.
Related tasks
Installing Enterprise Control Room using Express mode
Login to the servers as an Administrator and install Automation Anywhere Enterprise Control Room in
Express Mode using the default settings.
Installing Enterprise Control Room on Linux
You start installing the Automation Anywhere Enterprise Control Room in the Linux environment and
complete the installation in the Enterprise Control Room.

Configure Enterprise Control Room for HTTPS self-signed certificate


Configure Enterprise Enterprise Control Room for HTTPS mode using a self-signed certificate either
before or after doing a custom Enterprise Control Room configuration.
To configure Enterprise Control Room for HTTPS mode using a self-signed certificate, do the following
steps:
1. Double-click the Enterprise Control Room icon.
The Enterprise Control Room instance launches in Microsoft Internet Explorer.
2. Change the Enterprise Control Room URL setting and port to HTTPS and port number to 443.
The Website Security Warning page launches.
3. Continue to this website to access the Enterprise Control Room.

Proceed to Custom Enterprise Control Room configuration. If you have already configured it, then log in
to the Enterprise Control Room.
Related tasks
Import a CA certificate in Windows
After the Enterprise Control Room installation, import a Certificate Authority (CA) certificate using the
Windows command prompt.
Related reference
Custom Enterprise Control Room configuration

Import certificate for HTTPS


After installing Enterprise Control Room, import a certificate for HTTPS using the command prompt.
To import a certificate for configuring the Enterprise Control Room for secure connection using the
command prompt, do the following steps:
1. Run the command prompt in administrator mode.
2. Copy the Automation Anywhere installation path.
The default installation path is C:\Program Files\Automation Anywhere\Enterprise.
3. Type or paste the following command in the prompt:

jre\bin\java -jar certmgr.jar -appDir "C:\Program Files\Automation


Anywhere\Enterprise" -setServerCert "C:\Users\cradmin\Desktop
\test_automationanywhere_com.pfx" -privateKeyPass <PFX Password>

© 2020 Automation Anywhere. All rights reserved.     149


    Automation Anywhere - Install and upgrade Enterprise A2019

Post-installation user management


After completing the post-installation tasks, validate the setup by logging in to the Enterprise Control
Room and installing a license. First time access to the Enterprise Control Room walks you through the
configuration for your authentication method.

Configure Enterprise Control Room authentication The options for launching the Enterprise Control
options Room for the first time depend on the installation
mode and, for Custom mode installation, the
authentication method.

Validate services Validate that the following services are running in


automatic mode:
• Automation Anywhere Control Room Caching
• Automation Anywhere Control Room
Messaging
• Automation Anywhere Control Room Reverse
Proxy
• Automation Anywhere Control Room Service
• Automation Anywhere Elastic Search Service

Install a license A Enterprise Control Room Admin or a user with


license management permission can install a
license, and evaluate the latest version.

Users management As a Cloud user with administrator permissions,


you can create, view, edit, delete, enable or disable
a user. Creating users steps vary depending if the
user is a non-Active Directory, Active Directory, or
an Single Sign On user from an IdP server.

Related concepts
Enterprise Control Room post-installation configuration
After installing the Enterprise Control Room, complete the configuration settings to ensure timely
Automation Anywhere communications are specified and confirm Automation Anywhere services are
running.

Configure Enterprise Control Room authentication options


The options for launching the Enterprise Control Room for the first time depend on the installation mode
and, for Custom mode installation, the authentication method.
After completing the installation in Custom Mode, configure the Enterprise Control Room in Custom
Mode to authenticate users with either an Active Directory (AD), Enterprise Control Room database, or
Single Sign-On.

Note: These topics apply to Enterprise A2019, not the Community Edition.

Related tasks
Express Enterprise Control Room configuration
After completing the installation in Express Mode, configure the Enterprise Control Room in Express
Mode using the default settings.
Configure Enterprise Control Room for Active Directory: manual mode

© 2020 Automation Anywhere. All rights reserved.     150


    Automation Anywhere - Install and upgrade Enterprise A2019

Configure the Enterprise Control Room to authenticate users using Active Directory by manually adding
the Lightweight Directory Access Protocol (LDAP) URLs.
Configure Enterprise Control Room for Active Directory: auto mode
Configure the Enterprise Control Room to authenticate users using Active Directory by enabling the
Enterprise Control Room to discover and list domains and sites in your organization.
Configure Enterprise Control Room database
Configure the Enterprise Control Room to authenticate users using the database option.
Configure Enterprise Control Room for HTTPS self-signed certificate
Configure Enterprise Enterprise Control Room for HTTPS mode using a self-signed certificate either
before or after doing a custom Enterprise Control Room configuration.

Express Enterprise Control Room configuration


After completing the installation in Express Mode, configure the Enterprise Control Room in Express
Mode using the default settings.
To configure Enterprise Control Room when you start it for the first time, do the following steps:
1. Double-click the Automation Anywhere Enterprise Control Room icon on the desktop.
The Getting Started wizard appears.
2. Fill in the following fields:
• Username Supply a user name.
• First name Enter the first name.
• Last name Enter the last name.
• Email Supply email address.
• Password Enter a password.
• Confirm password Type the password again to confirm.

3. Click Next.
The Create security questions page appears.
4. Type three security questions and answers.
5. Click Next.
The Credential settings page appears.
6. Select from the following options:
• Express mode: The system stores your master key to connect to the Credential Vault. This option
is not recommended for a production environment.
• Manual mode: You store the Master Key on your own, and then provide the Master Key when the
Credential Vault is locked. Users use the Master Key to connect to the Credential Vault to secure
their credentials and access them when creating and running TaskBots.

Warning: If you lose the key, you will not be able to access the Enterprise Control Room.

7. Click Save and log in.


You are logged in to the Enterprise Control Room as an administrator. You can now configure and
manage the overall RPA environment with Enterprise Control Room and clients.

After configuring the Enterprise Control Room, install product licenses.


Related reference
Custom Enterprise Control Room configuration

© 2020 Automation Anywhere. All rights reserved.     151


    Automation Anywhere - Install and upgrade Enterprise A2019

Configure Enterprise Control Room for Active Directory: manual mode


Configure the Enterprise Control Room to authenticate users using Active Directory by manually adding
the Lightweight Directory Access Protocol (LDAP) URLs.
To configure the Enterprise Control Room when you start it for the first time, do the following:
1. Double-click the Automation Anywhere Enterprise Control Room icon on your desktop.
The Configure Enterprise Control Room settings page appears.
2. Type the repository path.
This is the location where the uploaded automation files, for example, IQ Bots, and TaskBots are
stored. For example, C:\ProgramData\AutomationAnywhere\Server Files.
3. Type the access URL.
This is the URL for accessing your installation of Enterprise Control Room.
4. Click Save and continue.

Warning: The back button of your web browser automatically disables after you click Save
and continue. This ensures that the Credential Vault Master Key that generates matches the
repository path and Enterprise Control Room access URL.
To return to the Configure Enterprise Control Room settings page, press Ctrl+F5 and
restart.

The Credential Vault settings page appears.


5. Select from the following options:
• Express mode: The system stores your master key to connect to the Credential Vault. This option
is not recommended for a production environment.
• Manual mode: You store the Master Key on your own, and then provide the Master Key when the
Credential Vault is locked. Users use the Master Key to connect to the Credential Vault to secure
their credentials and access them when creating and running TaskBots.

Warning: If you lose the key, you will not be able to access the Enterprise Control Room.

6. Click Save and continue.

Warning: The back button of the web browser automatically disables after you click Save and
continue. No further changes to the Enterprise Control Room configuration or Credential
Vault settings are allowed.
To make changes, reinstall the Enterprise Control Room.

The Authentication type for Enterprise Control Room users page appears.

© 2020 Automation Anywhere. All rights reserved.     152


    Automation Anywhere - Install and upgrade Enterprise A2019

7. Select Active Directory.


Automation Anywhere supports Active Directory Multi-Forest authentication for the Enterprise
Control Room. Before providing the Authentication Type, ensure the following:
• One-way or two-way trust is set up between all forests. For a one-way trust, this is from the
Enterprise client forest to the Enterprise Control Room forest (Enterprise Control Room forest
must always be the trusting forest).
• Two-way trust is set up for every domain in a forest.
• The root certificate of the LDAP server is imported using the provided CertMgr tool via command.
• The provided LDAP URLs per forest cannot be behind a load balancer. Also, all LDAP URLs must
point to the root (main) domain controllers.
• The node that runs the Enterprise Control Room is in the same domain network where the Active
Directory runs.
• The user is in the parent domain and the URL points to the parent.
This ensures that when there are two or more forests, and one of the forest has a subdomain
with a different name space, a user from the other forests does not have permission to access
that subdomain.

8. Type the Global Catalog URL.


For example, ldap://server01.domain.com.
For failsafe authentication, click the + option to provide additional LDAP URLs.

Note: For users and groups from one or more Active Directory domains, to access the Enterprise
Control Room, use a fully qualified host name of the Global Catalog (GC) server, listening on port
3268 (3269 if SSL).

When adding LDAP URLs, ensure that you provide a fully qualified host name like ldap://
server01.ldap.com.
Provide URLs of multiple Global Catalogs per forest so that if one Global Catalog in a forest goes
down, the other can serve. This feature does not provide support for the load-balanced URL.
You must enter the Domain username and password and click Manually add connections to enter
the LDAP URLs.
9. Provide service account credentials
Ensure that the username provided is a user in the Domain Users group and ideally and be set up in
Active Directory with a password never expires option. If otherwise, there will be some downtime
in RPA authentication as the service account password is reset. Provide the username in a User
Principal Name (UPN) in the [email protected] format and password.
10. Click Check connection.
If Enterprise Control Room is unable to connect to the Active Directory database, an error message
appears.
11. Click Next.
The Enterprise Control Room first administrator page appears.
12. Select the Active Directory domain from the drop-down list and type the Enterprise Control Room
administrator username.

© 2020 Automation Anywhere. All rights reserved.     153


    Automation Anywhere - Install and upgrade Enterprise A2019

13. Click Check name in Active Directory.


If the username is in the Active Directory the following user details are shown:
• First name
• Last name
• Email

You can edit these prepopulated fields.


14. Click Save and log in.
You are logged in to the Enterprise Control Room as an administrator. You can now configure and
manage the overall RPA environment with Enterprise Control Room and clients.

After configuring the Enterprise Control Room, install product licenses.


Related tasks
Configure Enterprise Control Room for Active Directory: auto mode
Configure the Enterprise Control Room to authenticate users using Active Directory by enabling the
Enterprise Control Room to discover and list domains and sites in your organization.
Configure Enterprise Control Room database
Configure the Enterprise Control Room to authenticate users using the database option.
Configure Enterprise Control Room for Single Sign-On

Configure Enterprise Control Room for Active Directory: auto mode


Configure the Enterprise Control Room to authenticate users using Active Directory by enabling the
Enterprise Control Room to discover and list domains and sites in your organization.
To configure the Enterprise Control Room when you start it for the first time, do the following:
1. Double-click the Automation Anywhere Enterprise Control Room icon on your desktop.
The Configure Enterprise Control Room settings page appears.
2. Type the repository path.
This is the location where the uploaded automation files, for example, IQ Bots, and TaskBots are
stored. For example, C:\ProgramData\AutomationAnywhere\Server Files.
3. Type the access URL.
This is the URL for accessing your installation of Enterprise Control Room.
4. Click Save and continue.

Warning: The back button of your web browser automatically disables after you click Save
and continue. This ensures that the Credential Vault Master Key that generates matches the
repository path and Enterprise Control Room access URL.
To return to the Configure Enterprise Control Room settings page, press Ctrl+F5 and
restart.

The Credential Vault settings page appears.

© 2020 Automation Anywhere. All rights reserved.     154


    Automation Anywhere - Install and upgrade Enterprise A2019

5. Select from the following options:


• Express mode: The system stores your master key to connect to the Credential Vault. This option
is not recommended for a production environment.
• Manual mode: You store the Master Key on your own, and then provide the Master Key when the
Credential Vault is locked. Users use the Master Key to connect to the Credential Vault to secure
their credentials and access them when creating and running TaskBots.

Warning: If you lose the key, you will not be able to access the Enterprise Control Room.

6. Click Save and continue.

Warning: The back button of the web browser automatically disables after you click Save and
continue. No further changes to the Enterprise Control Room configuration or Credential
Vault settings are allowed.
To make changes, reinstall the Enterprise Control Room.

The Authentication type for Enterprise Control Room users page appears.
7. Select Active Directory.
Automation Anywhere supports Active Directory Multi-Forest authentication for the Enterprise
Control Room. Before providing the Authentication Type, ensure the following:
• One-way or two-way trust is set up between all forests. For a one-way trust, this is from the
Enterprise client forest to the Enterprise Control Room forest (Enterprise Control Room forest
must always be the trusting forest).
• Two-way trust is set up for every domain in a forest.
• The root certificate of the LDAP server is imported using the provided CertMgr tool via command.
• The provided LDAP URLs per forest cannot be behind a load balancer. Also, all LDAP URLs must
point to the root (main) domain controllers.
• The node that runs the Enterprise Control Room is in the same domain network where the Active
Directory runs.
• The user is in the parent domain and the URL points to the parent.
This ensures that when there are two or more forests, and one of the forest has a subdomain
with a different name space, a user from the other forests does not have permission to access
that subdomain.

8. Type the Domain username.


Ensure you use the User Principal Name (UPN) in the [email protected] format.
The username you enter is for a user who has access to all domains using the same credentials.
9. Type the Domain password.
This user is not expected to use the Enterprise Control Room. Although you have an option to
update the password, use an Account with the password never expires option. If it expires, it can be
updated but with some downtime.
10. Click Discover connections.
All discovered Active Directory domains with one or more sites per domain are shown.
By default all domains and sites are selected. If only one domain and one site under it is discovered,
then it is shown in read-only mode and cannot be edited.
11. Select the domains and sites to use for authentication.
Select the domains and sites to use for authentication. Select a minimum of one site for each
domain that is selected

© 2020 Automation Anywhere. All rights reserved.     155


    Automation Anywhere - Install and upgrade Enterprise A2019

12. Click Test connections to register the sites to use for authentication.
13. Click Check connection.
If Enterprise Control Room is unable to connect to the Active Directory database, an error message
appears.
14. Click Next.
The Enterprise Control Room first administrator page appears.
15. Select the Active Directory domain from the drop-down list and type the Enterprise Control Room
administrator username.
16. Click Check name in Active Directory.
If the username is in the Active Directory the following user details are shown:
• First name
• Last name
• Email

You can edit these prepopulated fields.


17. Click Save and log in.
You are logged in to the Enterprise Control Room as an administrator. You can now configure and
manage the overall RPA environment with Enterprise Control Room and clients.

After configuring the Enterprise Control Room, install product licenses.


Related tasks
Configure Enterprise Control Room for Active Directory: manual mode
Configure the Enterprise Control Room to authenticate users using Active Directory by manually adding
the Lightweight Directory Access Protocol (LDAP) URLs.
Configure Enterprise Control Room database
Configure the Enterprise Control Room to authenticate users using the database option.
Configure Enterprise Control Room for Single Sign-On

Configure Enterprise Control Room database


Configure the Enterprise Control Room to authenticate users using the database option.
To configure the Enterprise Control Room when you start it for the first time, do the following:
1. Double-click the Automation Anywhere Enterprise Control Room icon on your desktop.
The Configure Enterprise Control Room settings page appears.
2. Type the repository path.
This is the location where the uploaded automation files, for example, IQ Bots, and TaskBots are
stored. For example, C:\ProgramData\AutomationAnywhere\Server Files.
3. Type the access URL.
This is the URL for accessing your installation of Enterprise Control Room.
4. Click Save and continue.

Warning: The back button of your web browser automatically disables after you click Save
and continue. This ensures that the Credential Vault Master Key that generates matches the
repository path and Enterprise Control Room access URL.

© 2020 Automation Anywhere. All rights reserved.     156


    Automation Anywhere - Install and upgrade Enterprise A2019

To return to the Configure Enterprise Control Room settings page, press Ctrl+F5 and
restart.

The Credential Vault settings page appears.


5. Select from the following options:
• Express mode: The system stores your master key to connect to the . This option is not
recommended for a production environment.
• Manual mode: You store the on your own, and then provide the when the is locked. Users use
the to connect to the to secure their credentials and access them when creating and running .

Warning: If you lose the key, you will not be able to access the .

6. Click Save and continue.

Warning: The back button of the web browser automatically disables after you click Save and
continue. No further changes to the Enterprise Control Room configuration or Credential
Vault settings are allowed.
To make changes, reinstall the Enterprise Control Room.

The Authentication type for Enterprise Control Room users page appears.
7. Select the Enterprise Control Room database.
8. Click Next.
The Enterprise Control Room first administrator page appears.
9. Fill in the following fields:
• Username Supply a user name.
• First name Enter the first name.
• Last name Enter the last name.
• Email Supply email address.
• Password Enter a password.
• Confirm password Type the password again to confirm.

10. Click Next.


The Create security questions page appears.
11. Type three security questions and answers.
12. Click Save and log in.
You are logged in to the Enterprise Control Room as an administrator. You can now configure and
manage the overall RPA environment with Enterprise Control Room and clients.

Install a license.
Related tasks
Configure Enterprise Control Room for Active Directory: manual mode
Configure the Enterprise Control Room to authenticate users using Active Directory by manually adding
the Lightweight Directory Access Protocol (LDAP) URLs.
Configure Enterprise Control Room for Active Directory: auto mode
Configure the Enterprise Control Room to authenticate users using Active Directory by enabling the
Enterprise Control Room to discover and list domains and sites in your organization.
Configure Enterprise Control Room for Single Sign-On

© 2020 Automation Anywhere. All rights reserved.     157


    Automation Anywhere - Install and upgrade Enterprise A2019

Configure Enterprise Control Room for HTTPS self-signed certificate


Configure Enterprise Enterprise Control Room for HTTPS mode using a self-signed certificate either
before or after doing a custom Enterprise Control Room configuration.
To configure Enterprise Control Room for HTTPS mode using a self-signed certificate, do the following
steps:
1. Double-click the Enterprise Control Room icon.
The Enterprise Control Room instance launches in Microsoft Internet Explorer.
2. Change the Enterprise Control Room URL setting and port to HTTPS and port number to 443.
The Website Security Warning page launches.
3. Continue to this website to access the Enterprise Control Room.

Proceed to Custom Enterprise Control Room configuration. If you have already configured it, then log in
to the Enterprise Control Room.
Related tasks
Import a CA certificate in Windows
After the Enterprise Control Room installation, import a Certificate Authority (CA) certificate using the
Windows command prompt.
Related reference
Custom Enterprise Control Room configuration

Import certificate for HTTPS


After installing Enterprise Control Room, import a certificate for HTTPS using the command prompt.
To import a certificate for configuring the Enterprise Control Room for secure connection using the
command prompt, do the following steps:
1. Run the command prompt in administrator mode.
2. Copy the Automation Anywhere installation path.
The default installation path is C:\Program Files\Automation Anywhere\Enterprise.
3. Type or paste the following command in the prompt:

jre\bin\java -jar certmgr.jar -appDir "C:\Program Files\Automation


Anywhere\Enterprise" -setServerCert "C:\Users\cradmin\Desktop
\test_automationanywhere_com.pfx" -privateKeyPass <PFX Password>

Preparing for users


After completing initial installation and depending upon your deployment option, the post-installation
configuration and validation, you are ready to prepare for users to login and work with bots.
See Users management.

Set up SAML authentication


Switch an authenticated environment Enterprise Control Room database to a SAML identity provider
(IDP).
Sign in to the Enterprise Control Room as an Admin user. The SAML IDP side setup must be validated
before configuring the Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     158


    Automation Anywhere - Install and upgrade Enterprise A2019

To set up the Enterprise Control Room as a service provider in the SAML IDP, follow these steps:
1. Set the ACS or service provider URL to <Enterprise Control Room URL>/v1/
authentication/saml/assertion.
2. Create an Entity ID, that is, any name that identifies the Enterprise Control Room on the SAML IDP.
3. Map the following Enterprise Control Room attributes to the corresponding IDP attributes:
• UserID
• FirstName
• LastName
• EmailAddress

4. Get the service provider metadata, generated as an XML file, from the SAML IDP for the Enterprise
Control Room.
This is required for setup within the Enterprise Control Room.

Note: You have to add the values from Steps 2 and 4 in the Enterprise Control Room to complete
the setup.

To switch the Enterprise Control Room to a SAML authenticated environment, follow these steps:
1. Navigate to Administration > Settings.
2. Access User Authentication > Edit.
3. Select the Use SAML option to enter the SAML information.

Note: The Use Control Room database option is selected by default.

4. In the SAML metadata field, enter the data from the SAML IDP.
5. In the Unique Entity ID for Control Room (Service Provider) field, enter the Entity ID.
6. In the Encrypt SAML Assertions field, select one of the following options:
• Do not encrypt: the SAML assertions are not encrypted.
• Encrypt: the SAML assertions are encrypted.

7. Optional: Enter the Public key and Private key values.

Note: Enter keys if you require encrypted SAML assertions.

8. Click Validate SAML Settings.


You have to validate your SAML settings before you can save your changes.
When you click this option, you will be redirected to a SAML service provider web page where
you will be prompted to enter credentials and other data. After validation is complete, you will be
redirected back to this configuration page.
9. Log in to the page and perform these steps:
a) Navigate to the Metadata Manager and add the new service provider.
b) Enter Enterprise Control Room metadata in the required field.
c) Enter the Entity ID for the Enterprise Control Room service provider.
d) Select the option to retrieve the user's information such as username, first name, last name,
email.
e) Save the new service provider.

© 2020 Automation Anywhere. All rights reserved.     159


    Automation Anywhere - Install and upgrade Enterprise A2019

10. Click Save changes.


After you have successfully saved your settings, you will be logged out of the Automation Anywhere
Enterprise Control Room.
11. Log back in to the system with your new credentials.

Edit profile
Manage user profiles.
For users of Enterprise Control Room configured with a non-directory environment, change the
password, first name, last name, and email address.
1. Click the Device icon and select Update credentials.
2. In the Device login credentials section, enter the Username and Password for the device.
Device login credentials are required to run a bot from this device.
If your username is part of a domain, include the domain within the format domain\username.
Typically, home users are not part of a domain, unless they are specifically configured.
3. Click Update

Installed Enterprise Control Room directories and files


When installing the Automation Anywhere Enterprise Control Room on different operating systems, the
installer executes and installs files and folders in the following directories.

Window OS directory structure

When you install the Automation Anywhere Enterprise Control Room on Windows OS, the default
installation directory for many configuration files is located:
C:\Program Files\Automation Anywhere\Enterprise\

Linux OS directory structure

When you install the Automation Anywhere Enterprise Control Room on Linux OS, the installer creates
the following directories.

Directory path Description Comments

/opt/automationanywhere/enterprise All binary files


/opt/automationanywhere/enterprise/ Config files
config
/var/log/automationanywhere/enterprise Log files

© 2020 Automation Anywhere. All rights reserved.     160


    Automation Anywhere - Install and upgrade Enterprise A2019

Directory path Description Comments

/tmp Temporary files Directory that


contains temporary
files created by the
system and users.
Files under this
directory are
deleted when the
system is rebooted.

Run IQ Bot On-Premises Build 2545 migration script


IQ Bot On-Premises Builds 1089, 1598, and 2079 included five databases. Starting with IQ Bot On-
Premises Build 2545, one unified database is supported. You have to run a migration script to migrate the
databases of Builds 1089, 1598, 2079 to Build 2545.
Before you run the migration script, you must be on IQ Bot On-Premises Build 2545 and verify that the
SQL command utility SQLCMD.exe is installed on your system.
1. Uninstall the current build of IQ Bot On-Premises.
2. Install the IQ Bot On-Premises Build 2545.
During installation, a new IQ Bot database is created.

Note: Remember your database username and password in order to the update migration script
value.

3. Navigate to your Binn folder.


This might be located in C:\Program Files\Microsoft SQL Server\Client SDK\ODBC
\170\Tools\Binn.
4. Verify that SQLCMD.exe is installed.
If SQLCMD.exe is not installed, follow these steps:
a. Download and extract the DataMigration.zip folder.
b. Navigate to DataMigration > UTILITY-MsSqlCmdLnUtils.
c. Run MsSqlCmdLnUtils.msi to install SQLCMD.exe.

After SQLCMD.exe is installed, run the migration script.


1. Access the AA.IQBot_Database_Migration.bat file within the DataMigration folder.
2. Edit the AA.IQBot_Database_Migration.bat file.

© 2020 Automation Anywhere. All rights reserved.     161


    Automation Anywhere - Install and upgrade Enterprise A2019

3. Update the values as follows:


a) Set the SQLCMD value to the path of your Binn.

SQLCMD="C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools


\Binn\SQLCMD.exe"
b) Set LOGIN value to your database username.
LOGIN="database username"

Note: The bulkadmin, dbcreator, and public roles are required to run the migration script.

c) Set the PASSWORD value to your database password.


PASSWORD="database password"
d) Set the SERVER value to the path of your database server hostname.
SERVER="path of database server hostname"

4. Run the migration script AA_IQBot_Database_Migration.bat file with administrator privilege.


After the migration is complete, an output is created. Verify C:\Datamigrationlog.txt for log
history and errors.

Note: If an output is not displayed, contact support.

Licensing and entitlements


Any new customer who orders Automation Anywhere Enterprise products are to receive license
confirmation from Automation Anywhere.
The designated person responsible for configuring licenses for their company receives two email
confirmations.
The SSO email from [email protected] grants you access to set up a new
password for your Automation Anywhere Single Sign-On (SSO) account. The Orders email from
[email protected] grants you access to your license entitlement information.
Do the following:
1. Open SSO email → access link.
2. Enter and confirm new password.
3. Access A-People Community.
4. There are two options to access your license entitlements.
Option Action

A-People Navigate to LICENSES.


Orders email Access link to redirect to license page.

Note: Your license entitlement validation date is provided within the context of the Orders email and
on the A-People License configuration page.

5. You now have access to your license entitlements.


On this page, you have access to more information of your order. The Product Versions shows
your current license entitlement version, the License Entitlements shows the number of license

© 2020 Automation Anywhere. All rights reserved.     162


    Automation Anywhere - Install and upgrade Enterprise A2019

entitlements in your order, and the Control Rooms shows the number of control rooms in your
order, and allows to configure each licenses.

Configure new Enterprise Control Room licenses


The Enterprise Control Room in your order now requires configuration to generate and download new
licenses.
The numbers of Enterprise Control Rooms are listed in the Control Rooms section. The status of current
Enterprise Control Rooms are shown as:
• Available - Enterprise Control Room available for license configuration.
• Draft - Enterprise Control Room license configuration in progress.
• Pending Generation - Enterprise Control Room license generating in progress.
• Active - Enterprise Control Room available to view, download, and reconfigure.

Do the following:
1. Navigate to Control Rooms > CR-1.
2. Select CR-1 to configure new Enterprise Control Room license.

Note: The CR Name, Status, and Version fields are filled depending on your license.

3. Enter a Location value.


4. Select an Enviroment option.

Note: Depending on your use cases, your options are Production, Environment, or UAT.

5. Enter a number for Bot Runner Attended, Bot Runner Unattended, and Bot Creator.
6. Check Analytics > Bot Insight User (Analytical User) and enter the number of users.
7. Select Save & Generate.
8. Select Yes to confirm and generate new license.

Note: An email confirmation is sent for your newly generated license. The license page
automatically refreshes and the CR-1 status now changes from Available to Pending Generation.

9. Select Refresh, the CR-1 status updates to Active.


10. Select CR-1 to view your generate Enterprise Control Room license information.
11. Select Download.

Note: The downloaded file is now installable to your development Enterprise Control Room
environment.

12. Close CR-1 and repeat process on remaining CR files.

Reconfigure existing Enterprise Control Room licenses


The Enterprise Control Room license can be recognfigured and updated at anytime.
In cases where new license entitlements are added or mistakes were made, recognfiguring an existing
Enterprise Control Room license is simple.
Do the following:
1. Navigate to Control Rooms > CR-1.

© 2020 Automation Anywhere. All rights reserved.     163


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Select CR-1 to reconfigure existing Enterprise Control Room license.

Note: The CR Name will vary depending on user.

3. Select Recognfigure.
4. Select Yes to confirm recognfiguration.
5. Select Edit.
6. Update your values.

Note: The CR-1 status now displays Draft as file is in recognfiguration.

7. Update the Bot Runner Unattended number for newly added license entitlements.
8. Select Save & Generate.
9. Select Yes to confirm edits.

Note: An email confirmation is sent with a link to access A-People License and to download the
generatated license. The license page automatically refreshes and the CR-1 status now changes
from Draft to Pending Generation.

10. Select Refresh, the CR-1 status updates to Active.


11. Select CR-1 to view your updated Enterprise Control Room license information.
12. Select Download.

Note: The downloaded file is the most recent Active. The downloaded file is now installable to your
development Enterprise Control Room enviroment.

13. Close CR-1 and repeat process for any CR files needing recognfiguration.

Bot deployment and concurrent operations


List of maximum concurrent operations and estimated deployment times.

Overview

Automation Anywhere supports up-to 1000 simultaneous bot deployments and executions.

Entity Types and Counts


Entity Type Count

Users 5000
Roles 2000
Audit entries 5,000,000
Lockers 100
Credentials 5000
Repository files 2500
Repository folders 1250

© 2020 Automation Anywhere. All rights reserved.     164


    Automation Anywhere - Install and upgrade Enterprise A2019

Manually update the Bot agent


The Bot agent, a lightweight application that enables you to run bots on your device, requires an update
when a new version becomes available.
Ensure that you have the proper permissions to access and edit the Windows services.
1. Stop the Bot agent service from the local Task Manager.
2. Optional: Go to the C:\Windows\System32\config\systemprofile\AppData\Local
\AutomationAnywhere folder and delete the registration.properties file.

Note: This is only required if you want to register the device in a different Enterprise Control
Room environment. To see the Enterprise Control Room where the device is registered, open the
Registration.properties file and check the value for the Enterprise Control Room URL.

3. Log in to the Enterprise Control Room.


4. Navigate to Devices > My devices.
5. Click the Add local device icon.
6. Download and install the latest Bot agent.
7. Return to Devices > My devices from the updated device.
The Registration.properties file is not generated immediately after the Bot agent installation.
Instead, it is generated only when a user accesses an Enterprise Control Room URL from that
device. If the device registration is successful, the machine appears as Connected and the
Registration.properties file is created at the given location on the Bot Runner machine.
8. Navigate to the C:\Windows\System32\config\systemprofile\AppData\Local
\AutomationAnywhere folder and ensure that the registration.properties file is present to
verify the Bot agent update.

Video: Update your Bot agent

Related tasks
Register device and install Bot agent
The Bot agent is a lightweight application that enables you to run bots on your device by connecting a
local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent and
add the local device to the list of enabled host devices.

Migration to Enterprise A2019


The migration feature enables you to convert and migrate bots created using the Enterprise client version
11.x to A2019. The migration capability is available in A2019 from Build 2079 onwards for On-Premises
deployment.
To give our customers an opportunity to participate and improve the migration process, the product
provides early development access to all customers. The first generally available (GA) migration tool
will be released in an upcoming release with 100% migration coverage added in a subsequent release.
Contact your Customer Success Manager (CSM) for details about the release dates.
The tools provided for migration perform the following functions:

Bot Scanner Previously called the pre-migration utility, the Bot


Scanner scans your existing bots and generates
reports. These reports provide information about
the commands and variables used in these bots

© 2020 Automation Anywhere. All rights reserved.     165


    Automation Anywhere - Install and upgrade Enterprise A2019

and how many of these commands and variables


are supported for migration in A2019.
A new version of Bot Scanner is released on a
monthly basis. You can use the latest version of
the Bot Scanner to monitor which commands
and variables are supported for migration in A2019
with each update. You can run the tool without
installing A2019.
The Bot Scanner is available from the Automation
Anywhere Downloads page. See Using Bot
Scanner for instructions on using the tool.

Important: You can help improve migration to


A2019 by sharing the reports generated by the
Bot Scanner. These reports help our engineering
team focus on supporting the components that
are more frequently used by our customers. No
personally identifiable information (PII) is included
and you can review the reports before sharing.
Contact your Customer Success Manager (CSM)
or Partner Enablement Manager (PEM) for more
details.

Migration wizard This tool is integrated in A2019 Enterprise Control


Room and guides you through the process after
you have completed the prerequisites steps. The
migration wizard enables you to migrate multiple
bots and their dependent bots. The migration
wizard migrates a bot only if all of the components
used in that bot are supported for migration in
A2019. If a bot uses other dependent files such
as .txt, .doc, and .png, you have to add these files
as dependencies manually after migrating the bots.

Migration process

Migrating from 11.x to A2019 involves upgrading your 11.x database to an A2019 staging environment and
converting the 11.x bots to the A2019 format.

Important: You can only migrate bots created using the Enterprise client 11.x with dependent TaskBots.
A2019 does not support MetaBots at this time.

Migration involves the following tasks:


1. Prerequisites for migrating to A2019
Verify that you have met all the prerequisites.
The prerequisite steps migrate all 11.x data such as roles, users, credentials, user licenses, settings,
schedules, and audit logs to A2019. After completing the prerequisites steps, you can use the
Enterprise Control Room migration wizard to migrate bots.

© 2020 Automation Anywhere. All rights reserved.     166


    Automation Anywhere - Install and upgrade Enterprise A2019

2. Migrating a bot
The bot migration process converts a 11.x bot in .atmx format to the .bot format used in A2019 and
uploads the migrated bot to the Enterprise Control Room public workspace.

Certified 11.x

The following 11.x bots are supported for migration to A2019:


• 11.1.1
• 11.2.1
• 11.3.0
• 11.3.1
• 11.3.1.2
• 11.3.2
• 11.3.2.1
• 11.3.2.2

Related reference
Bot Scanner overview
The Bot Scanner enables you to analyze the bots created in Enterprise Control Room 11.x/10.x and
generates reports.

Bot Scanner overview


The Bot Scanner enables you to analyze the bots created in Enterprise Control Room 11.x/10.x and
generates reports.
The Bot Scanner enables you to identify if you are ready for migration from version 11.x/10.x to A2019 or
not. If not, the Bot Scanner identifies the reasons why the bots cannot be migrated.
The Bot Scanner scans the bots (.atmx files) at the location you specify and generates a summary report
that provides the following information:
• The number of bots scanned
• The commands and variables that are used in the scanned bots and supported in A2019

It generates the summary report in HTML format and a separate report for each bot in XML format.
The objective of the Bot Scanner is to get information about the Automation Anywhere components
used by the customers and accordingly prioritize support for the same in migrating the customer to
A2019.

System requirements

Hardware

Processor 2.66 GHz or higher (64-bit)


RAM 1 GB or higher
Disc space 20 MB

© 2020 Automation Anywhere. All rights reserved.     167


    Automation Anywhere - Install and upgrade Enterprise A2019

Software requirements
• Operating systems: Windows 7 or later (32-bit and 64-bit)

Related tasks
Using Bot Scanner
The Bot Scanner enables you to analyze the bots created in Enterprise Control Room 11.x/10.x and
generates reports.
Related reference
Analyze reports
You can analyze the report generated by the Bot Scanner to get information about the bots that can be
migrated.

Using Bot Scanner


The Bot Scanner enables you to analyze the bots created in Enterprise Control Room 11.x/10.x and
generates reports.
1. Download the Bot Scanner version 1.3.0 from the Automation Anywhere Support site.
a) Open the Automation Anywhere Downloads page.
b) On the Downloads page, click Automation Anywhere Enterprise A2019 setup file.
c) Click Installation Setup, and then click aae-bot-scanner-1.3.0.

2. Extract the files from the zip file you have downloaded.
The extracted folder contains the following files and folders:
• jre: Contains Java 11 runtime files.
• aae-bot-scanner-1.3.0.jar: The Bot Scanner that evaluates the bots.
• process.txt: Use this file to run the Bot Scanner utility after updating information in the file.

3. Open the process.txt file and update the following values:


• SOURCE FOLDER: Replace the text with the location of the folder that contains the bots that you
want to evaluate.

Recommendation: Create a copy of the repository folder and provide the location of the copied
folder instead of the actual repository folder.
• OUTPUT FOLDER: Replace the text with the location where you want to save the generated
report.

Note: Ensure that you specify the location of the source folder and output folder in double quotes.
For example, java -Dbots-folder="C:\TaskBots" -Doutput-folder="C:\Output Report" -jar "%~dp0aae-
bot-scanner-1.3.0.jar"

4. Save the process.txt file as a batch file (process.bat).


5. Open the Microsoft command prompt.
6. Drag the process.bat file into the Microsoft command prompt.
The utility starts analyzing the bots available at the location you have specified in the process.bat
file. After successfully analyzing the bots, the utility creates a summary report and reports for each
bot in the output location you have specified.
7. After the execution is completed, follow the steps provided in the Microsoft command prompt to
open the summary.html file.

© 2020 Automation Anywhere. All rights reserved.     168


    Automation Anywhere - Install and upgrade Enterprise A2019

Analyze reports
Related reference
Bot Scanner overview
The Bot Scanner enables you to analyze the bots created in Enterprise Control Room 11.x/10.x and
generates reports.
Analyze reports
You can analyze the report generated by the Bot Scanner to get information about the bots that can be
migrated.

Analyze reports
You can analyze the report generated by the Bot Scanner to get information about the bots that can be
migrated.
The Bot Scanner provides the following key information about the bots:
• Number of bots you have
• Commands and variables that are used in the bots
• Frequency of the commands used in your bots
• Percentage of commands used in the bots that are supported for migration in A2019

Important: Automation Anywhere Enterprise A2019 is updated frequently in order to achieve 100%
functional equivalency with Automation Anywhere Enterprise 11.x. The percentage of commands and
variables that are supported for migration in A2019 will increase until it reaches 100% over the next
upcoming releases. That is, for every function you do in 11.x, an equivalent capability is in A2019.
Most of the 11.x features are available as is; however, some features are implemented differently to
support client-less (web) operations. For these features, you have to change the way bots are written.

The Bot Scanner is designed to scan bots created using both 10.x and 11.x versions of Enterprise client.
It scans only .atmx files--all other files including .mbot files (MetaBot) are skipped. The total file count
includes the number of files that were skipped and not scanned.
The reports are available at the output location you specified in the process.bat file. The Bot Scanner
generates a summary report and a separate report for each bot that it scanned.
A raw-data folder is created that contains the reports (in XML format) for each bot scanned. Our
engineers can use these reports for further analysis, if required. No personally identifiable information (PII)
is included in the summary report or the individual reports of the scanned bots.
If you choose to share the reports with us to help improve the product, compress the files in the
OUTPUT FOLDER and coordinate with your Customer Success Manager (CSM) or Partner Enablement
Manager (PEM). No data is automatically shared with Automation Anywhere.
The reports are available at the output location you have specified in the process.bat file. The Bot
Scanner generates a summary report and a separate report for each bot that it analyzed.
The system creates a raw-data folder that contains the failure and success folders to store the
reports for each bot. The reports are stored in these folders based on the evaluation of a bot. If a bot can
be migrated to A2019, the report for that bot is stored in the success folder. Similarly, the reports for the
bots that cannot be migrated to A2019 are stored in the failure folder.
The summary report provides information about the bots that can be migrated and the bots that cannot
be migrated.

© 2020 Automation Anywhere. All rights reserved.     169


    Automation Anywhere - Install and upgrade Enterprise A2019

Summary report for all bots

The summary report provides the following information:


• Summary section: Provides information about the total number of bots scanned. The section also
provides information about the commands that are used in the scanned bots and supported for
migration in A2019 (in percentage).
For example, the Bot Scanner has scanned 10 bots and the bots use 50 commands. Of the 50
commands, if A2019 supports 45 commands, the commands available in A2019 is 90%.
• Separate tables are included for:
• Migration of commands and variables that are supported in A2019.
• Migration of commands and variables that are not supported in A2019.

Frequency of usage is the number of times a command is used in all the bots scanned.

The following image shows a sample summary report:

© 2020 Automation Anywhere. All rights reserved.     170


    Automation Anywhere - Install and upgrade Enterprise A2019

© 2020 Automation Anywhere. All rights reserved.     171


    Automation Anywhere - Install and upgrade Enterprise A2019

Report for an individual bot

The report for each bot provides information about its dependencies, variables, and commands used.
The following image shows a sample report for a bot:

The following table describes the various attributes available in the XML report shown in the previous
image:
Node Attribute Description

Stat -- Provides information about the number of dependencies, error, and


warnings.
-- dependenciesSpecifies the number of dependencies for the bot. The ucount indicates
the number of unique dependencies and the count indicates the total
number of dependencies.
-- error Specifies the number of errors for the bot. The ucount indicates the
number of unique errors and the count indicates the total number of
errors.

© 2020 Automation Anywhere. All rights reserved.     172


    Automation Anywhere - Install and upgrade Enterprise A2019

Node Attribute Description

Command -- Provides information about the various commands and actions used in
the bot.
-- command Specifies the action being performed for the command.
target-
action
-- name Specifies the name of the command.
-- line Specifies the line number where the command is available in the bot.
-- grp Specifies the command group the command belongs to.
-- api Specifies the name of the API the command uses.
-- msg type Provides information about the message type. The error type indicates
that the command cannot be migrated to A2019, and an info type
indicates that the command can be migrated but some of its attributes
will be changed during migration.
-- review Provides information about whether the command has to be reviewed.
This attribute is always true for error type messages, which indicates
that migration of that command to A2019 is not yet supported. For info
type messages, if the attribute is true, you must review the value in the
category attribute. You can decide whether you want to take any
action on the migrated bot based on the value available in the category
attribute.

-- category Provides information about the command or variable for which the
message is displayed.
Variables Provides information about the system variables used by the bot.
-- variable Specifies the name of the variable.
name
-- type Specifies the type of variable.
-- value type Specifies the type of value provided for that variable.

Prerequisites for migrating to A2019


Migrating to A2019 requires certain permissions and setups.
Confirm that you have met the following prerequisites before you initiate a bot migration from the
Enterprise Control Room:

Step 1: Identify bot for migration Use the Bot Scanner to identify the bots that are
ready for migration. See Bot Scanner overview and
Using Bot Scanner .
Step 2: Backup and restore your 11.x database Back up your 11.x database and restore it to the
A2019 staging environment.
Step 3: Copy 11.x Enterprise Control Room Copy 11.x files and folders that are needed in the
repository A2019 environment. See Copy 11.x information to
A2019.

© 2020 Automation Anywhere. All rights reserved.     173


    Automation Anywhere - Install and upgrade Enterprise A2019

Step 4: Install A2019 On-Premises Enterprise Install A2019 On-Premises Enterprise Control
Control Room in custom mode to a staging Room in custom mode to a staging environment.
environment During the installation, configure the A2019 On-
Premises Enterprise Control Room to use the
restored 11.x database. For example, if your 11.x
database name is "AAE-Database", then point your
A2019 Enterprise Control Room to that database.
This configuration upgrades the 11.x database to
A2019.
Step 5: Update Enterprise Control Room access Run the following SQL commands to update the
URL and repository path access URL and repository path:
• To update access URL: update
CONFIGURATION set value = A2019
Control Room URL where category
= 'CR_setup_general' and config_key =
'AccessUrl'

Note: Do not include '/' at the end of the


access URL that you provide in the above
command.
• To update repository path: update
CONFIGURATION set value = A2019 Control
Room repository path where category
= 'CR_setup_general' and config_key =
'RepositoryPath'

Step 6: Unlock Credential Vault in A2019 Paste the CredentialVault.dat file you have copied
in the Step 3 in the '..\Server Files\' folder of your
A2019 Enterprise Control Room repository. This file
unlocks the Credential Vault in A2019.
Step 7: Install license for A2019 Enterprise Control Launch the A2019 Enterprise Control Room and
Room install the required license. See Install a license.
Step 8: Copy 11.x repository to A2019 repository 1. Create the 'Automation Anywhere/Bots' folder
at C:\ProgramData\AutomationAnywhere
\Server Files\Default location.
2. Unzip the 11.x repository you have copied in
the bots folder of A2019.
3. Navigate to A2019 > Bots > My Bots page and
verify that all the 11.x folders and .amtx files are
available.

Step 9: Create users for migration Create users who will migrate bots from the
Enterprise Control Room. Grant these users the
following permissions and folder permissions for
the Bots>My Tasks folder. The AAE_Admin role
has these permissions by default.
• View migration: Allows the user to view
migration information and access the post-
migration reports.

© 2020 Automation Anywhere. All rights reserved.     174


    Automation Anywhere - Install and upgrade Enterprise A2019

• Manage migration: Allows the user to migrate


bots using the migration wizard.
• Update migration status: Allows the bot runner
user to migrate the bot and udpate the bot
migration status in Enterprise Control Room.
The Run-as user you select during the bot
migration must have this permission.
• Register device: Allows the user to register their
local device.
• View packages: Allows the user to view
packages only.

Step 10: Install bot agent on the device that you


want to use for migration.

Related concepts
Migration to Enterprise A2019
The migration feature enables you to convert and migrate bots created using the Enterprise client version
11.x to A2019. The migration capability is available in A2019 from Build 2079 onwards for On-Premises
deployment.
Related tasks
Migrating a bot
The bot migration process converts a 11.x bot in .atmx format to the .bot format used in A2019 and
uploads the migrated bot to the Enterprise Control Room public workspace.

Copy 11.x information to A2019


11.x server repository files and the credential vault file are needed in the A2019 environment. The most
efficient way to get this data is to copy them from the 11.x environment into A2019.
The following table shows information that needs to be copied from 11.x.

11.x Environment A2019 Environment

Copy all files and folder in Paste them into

\ProgramData\AutomationAnywhere \ProgramData\AutomationAnywhere
\Server Files\Default\0\Automation
. Anywhere\Bots

If you do not see the necessary directories


within ProgramData\AutomationAnywhere in
A2019, manually create them.

Copy the CredentialVault.dat file, which Paste it to the same location in the A2019
by default is contained in environment.

\ProgramData\AutomationAnywhere
\Server Files\

Related concepts
Prerequisites for migrating to A2019

© 2020 Automation Anywhere. All rights reserved.     175


    Automation Anywhere - Install and upgrade Enterprise A2019

Migrating to A2019 requires certain permissions and setups.

Migrating a bot
The bot migration process converts a 11.x bot in .atmx format to the .bot format used in A2019 and
uploads the migrated bot to the Enterprise Control Room public workspace.
You must be assigned the View Migration and Manage Migration permissions or the AAE_Admin role to
access the Migration area.
1. Log in to your A2019 staging environment from a machine with the Bot agent installed.
2. Click Administration > Migration.

Important: The Migration option is available for On-Premises deployment only.

3. Click Migrate bots.


4. Provide information on the General page.
The default migration name shows the name of the user who is logged in, current date, and time
stamp.
Option Action

Name Enter a migration name or use the default one.


The default migration name shows the name of
the user who is logged in, current date, and time
stamp.
Description Enter a description for the migration.
Overwrite Select this option to overwrite an existing bot if a
bot with the same name exists in the folder.
Do not overwrite Selecting this option does not migrate the bot if
a bot with the same name exists in the folder.
5. Click Next.
6. Click Bots > My Tasks.
7. Select the bots you want to migrate and click the right-pointing arrow.
The Last Migrated column indicates when the bot was migrated previously. N/A means the bot has
not been migrated before.
8. Click Next.

© 2020 Automation Anywhere. All rights reserved.     176


    Automation Anywhere - Install and upgrade Enterprise A2019

9. Select one or more Bot Runner from the Bot Runner list and click the right arrow.
Bot Runner users can be of two types:
• The Bot Runner user who is creating this migration instance. This user must have a Bot Runner
license, the Update migration status permission, and auto-login credentials configured on their
device.
This Bot Runner type has the device name displayed in the Device column.
• Run-as users to perform the migration on their device. These users must have the following
permissions and configurations:
• View bots with Checkin and Checkout permissions on the relevant folders
• View package permission
• Register device permission
• Update migration status permission
• Run-as user selected
• The user profile for the Run-as user must have a device added, auto-login credentials
configured on the device, a Bot Runner license, and be in a role with the above permissions.

Run-as users have "Picked at run time" displayed in the Device column.

When you select multiple Bot Runner users, the following rules apply:
• Bots are distributed across selected Bot Runner users in a round-robin method.
• The first Bot Runner user on the selected list is the first one used.
• A parent bot and its dependencies are assigned to a single Bot Runner user.

10. Click Next.


11. Review the dependent TaskBots on the Bot and Dependent Bots page before you migrate them.
A2019 does not currently support MetaBots.
Dependent bots are migrated before the primary bot.
The table shows the primary bot at the bottom and its dependencies above. For example, the
following information means that Sample05.atmx has a dependency on Sample04.atmx, and
Sample04.atmx has a dependency on the MessageBox.atmx.
Type Name Path

TaskBot (atmx) MessageBox.atmx Bots\MyTasks


\MessageBox.atmx
TaskBot (atmx) Sample04.atmx Bots\MyTasks
\Sample04.atmx
TaskBot (atmx) Sample05.atmx Bots\MyTasks
\Sample05.atmx

12. Click Migrate Bot.


After a successful migration, the system uploads the migrated bot to the public workspace of the
Enterprise Control Room (in the same folder in which the .atmx file is available).
The All migrations page shows the current status of the migrated bot and other related information.
You can also click the View migration icon associated with each migration instance to see additional

© 2020 Automation Anywhere. All rights reserved.     177


    Automation Anywhere - Install and upgrade Enterprise A2019

information, such as any unsupported commands or attributes associated with the migrated bot and
its dependencies.
You can see in-process migration activities from the Activity > In progress page.

Note: Bots that failed during the migration process are not uploaded to the Enterprise Control
Room.

Verifying the bot migration


Related reference
Migration reports
Use the reports to analyze the status of individual bot migrations and identify any unsupported
commands or attributes associated with the migrated bot and its dependencies. You must have the "View
migration" permission to access these reports.

Verifying the bot migration


It is important that you verify the migration completion and the migrated bot runs successfully in the
A2019 environment. The bot may have converted to .BOT, but it could contain errors that prevent it from
running successfully.
1. Log in to your A2019 environment from a machine with the Bot agent installed using a bot creator
account with a Bot Runner license and the "View Migration" permission.
2. Verify that the migration completed successfully by clicking Administration > Migration.
3. Confirm that your migration instance has the "successful" status (indicated by the green checkmark)
and the Migrated Item column shows "1" to indicate that 1 bot was migrated. If the Migrated Item
column shows "0", your bot has not migrated successfully and will not be available on the My Bots
page.
If your migration instance stays in the "in-progress" status for an extended time period, confirm the
following:
• Dependent bots are TaskBots; A2019 does not support MetaBots at this time.
• You selected one user to run the bot. This current migration release supports one user only.

4. Verify that the bot runs successfully by clicking Bots > My bots.
5. Navigate to the migrated bot.
For example, if you migrated a bot from the "My Tasks" folder, then navigate to the same folder to
find your migrated .BOT bot.
6. Click the bot and fix any errors.
7. Run the bot to confirm that all errors have been fixed.

Related concepts
Migration to Enterprise A2019

© 2020 Automation Anywhere. All rights reserved.     178


    Automation Anywhere - Install and upgrade Enterprise A2019

The migration feature enables you to convert and migrate bots created using the Enterprise client version
11.x to A2019. The migration capability is available in A2019 from Build 2079 onwards for On-Premises
deployment.

Export to CSV
You can select one or more migration bot instance on the Migrations page for export to CSV format.
The export process exports all data (including hidden data columns), but only for the current page. If you
have migration instances on additional pages, you must navigate to those pages to export that data.
To export migration data to CSV:
1. Click Administration > Migrations.
2. Select the migration instances you want export.
3. Click the Export checked items to CSV icon.
4. Open the CSV file to see the exported data.

Migration reports
Use the reports to analyze the status of individual bot migrations and identify any unsupported
commands or attributes associated with the migrated bot and its dependencies. You must have the "View
migration" permission to access these reports.
Access the reports from Administration > Migrations > View migration icon associated with the migrated
bot instance. The Migration Results page shows information relevant to the parent bot.
The Bot migration results page shows parent and dependent bots information, including the migration
status and reason for any failed migration. Click the View migration issues icon associated with the bot to
see any unsupported commands or attributes.

Package mapping for migration


Some packages and actions map directly from 11.x to A2019 while others behave differently or contain
configuration changes.
In A2019, the single dollar sign ($) is reserved for Automation Anywhere Enterprise use, so all user entries
of a single dollar sign are automatically replaced with two dollar signs ($$). For example, if you have a text
field, "Pay $5.00", we convert that field to read "Pay $$5.00" in A2019 for it to display properly to users.

Packages available with the 1610 build of A2019

The following table lists the packages available for migration in the 1610 build and how they map to
A2019. N/A means there are no changes.

Package/ How it differs from 11.x What you need to do


Command

Clipboard N/A N/A


Comment N/A N/A

© 2020 Automation Anywhere. All rights reserved.     179


    Automation Anywhere - Install and upgrade Enterprise A2019

Package/ How it differs from 11.x What you need to do


Command

Database 11.x uses ODBC drivers and A2019 uses JDBC drivers. Using different
drivers requires
The SQL Query action is called Read from in A2019.
you to evaluate the
If you encounter an unsupported connection string in migrated command
A2019, the reasons may vary based on your environment. and provide the
More details are available as part of the migration process. correct JDBC
Contact Technical Support if you need assistance resolving connection string
the issue. and drive.
See Database package for detailed information about this The action name
package in A2019. change is mapped
automatically and
does not require
user updates.

Delay "Delay in Milliseconds" and "Delay in Seconds" options (11.x) N/A – the migration
have changed to radio option within the Time unit area process maps the
(A2019). See Delay package for information on other actions fields automatically.
in this package.
File and This package has been split into two separate packages -- N/A – the migration
Folder File package (see File package) and Folder package (see process maps the
Folder package). fields automatically.
The following File related actions have changed in A2019:

11.x A2019

Copy Files Copy


Create Files Create
Delete Files Delete
Open Files Open
Print Files Print
Rename Files Rename
Unzip Files Unzip
Zip Files Zip

The following Folder related actions have changed in A2019:

11.x A2019

Copy Folder Copy


Create Folder Create
Delete Folder Delete
Open Folder Open
Rename Folder Rename

© 2020 Automation Anywhere. All rights reserved.     180


    Automation Anywhere - Install and upgrade Enterprise A2019

Package/ How it differs from 11.x What you need to do


Command

Insert This package is called "Simulate Keystrokes" in A2019. N/A – the migration
Keystrokes process maps
The following keystroke conventions have changed:
the convention
11.x A2019 changes
automatically.
[PAGE UP] [PAGE-UP]
[NUM LOCK] [NUM-LOCK]
[SCROLL LOCK] [SCROLL-LOCK]
[PAGE DOWN] [PAGE-DOWN]
[CAPS LOCK] [CAPS-LOCK]
[UP ARROW] [UP-ARROW]
[LEFT ARROW] [LEFT-ARROW]
[RIGHT CLICK] [MENU]
[RIGHT ARROW] [RIGHT-ARROW]
[DOWN ARROW] [DOWN-ARROW]
[ALT GR DOWN] [ALT-GR DOWN]
[ALT GR UP] [ALT-GR UP]
[$] [DOLLAR]

In 11.x, the delay time is divided by the total characters and


applied between each character stroke. In A2019, the delay
you specify applies to the time between each keystroke.
See Simulate Keystrokes package for information on this
package.

Launch This command is part of the Browser package in A2019. N/A – the migration
Website process maps the
Microsoft Edge is not yet supported in the Launch Website
fields automatically.
action in A2019. Commands with Edge selected or the
“Override default browser” option unselected in the legacy
product is automatically changed to use Default Browser
upon migration.
See Browser package for information on this package.

Log to file N/A N/A


Message box N/A N/A
Open This command is part of the Application package in A2019. N/A – the migration
program file process maps the
See Application package for information on this package.
fields automatically.
Play sound A2019 supports only .mp3 and .wav file types as of this N/A – the migration
release. process maps the
fields automatically.

© 2020 Automation Anywhere. All rights reserved.     181


    Automation Anywhere - Install and upgrade Enterprise A2019

Package/ How it differs from 11.x What you need to do


Command

Screen This package is called "Screen" in A2019. N/A – the


Capture migration process
In A2019, the window area is measured using width/height
recalculates the
and not right/bottom as in 11.x.
measurements
See Screen package for information on this package. automatically.

Variable This command has become multiple packages in A2019.


Operation
In 11.x, this command was performing assignment operation
for all the supported datatypes. A2019 has built a dedicated
Assign action for each data type. The migration process
handles the mapping of the corrected packages and action
based on the assignment that the respective variable
operation is performing.
Some common assignment operations are:
• String > Assign
• Numeric > Assign
• List > Assign
• Datatable > Assign
• Datetime > Assign

Window In A2019, it is called Window package. N/A


action
XML The following actions have changed: N/A – the migration
process maps the
11.x A2019 fields automatically.
End XML session End session
Start XML session Start session
Delete Node/Attribute Delete node
Update Node/Attribute Update node
Get nodes action with the Get single node action
"Single Nodes" option selected
Get nodes action with the Get multiple node
"Multiple Nodes" option selected action

See XML package for information on other actions within


this package.

Additional packages available with the 2079 build of A2019

The following table lists the packages available for migration in the 2079 build and how they map to
A2019. N/A means there are no changes. A2019.

© 2020 Automation Anywhere. All rights reserved.     182


    Automation Anywhere - Install and upgrade Enterprise A2019

Package How it differs from 11.x What you need to do

CSV/TXT This A2019 package and its associated Open, Read, and
Close actions replace the 11.x "Read from CSV/Text"
package.
Email A2019 supports multiple email sessions. This means 11.x N/A – the migration
email commands are now converted into the following process maps
A2019 commands: Connect, Disconnect, and respective the information
actions such as Loop for email, Delete message, or Delete automatically.
all messages.
The "Save Attachment" option in 11.x is added as a dedicated
action (Save Attachment) within the Loop action.

Error This command is called "Error handler" in A2019. N/A – the migration
Handling process maps
Begin and End actions are Try and Catch block in A2019.
the information
All options related to the Begin Error Handling action are
automatically.
migrated to individual actions in the Catch block. Currently,
we support only the Log Data To File option, which is
converted to the Log to file action.

Excel The 11.x Excel functionalities are migrated to the Excel N/A – the migration
Advanced command in A2019. process maps
the information
In 11.x, data returned by Get Multiple Cells and Get All Cells automatically.
are returned to Loop > Each Row in an Excel Dataset action.
In A2019, the functionalities of Get Multiple Cell and Get All
Cells are available in Loop, so values from Get Multiple Cell
and Get All Cells are migrated to the loop instead of actual
commands.
The system variable $Excel Column$is a user variable
defined in the Loop action.
The system variable $Dataset Column$ is no longer
needed and will be converted into a user variable durtion
migration.
The following table shows action name changes:
11.x A2019

Save Spreadsheet Save workbook


Open Spreadsheet Open
Close Spreadsheet Close

FTP/SFTP This package behaves the same in A2019. N/A

© 2020 Automation Anywhere. All rights reserved.     183


    Automation Anywhere - Install and upgrade Enterprise A2019

Package How it differs from 11.x What you need to do

If (Variable In 11.x, the following operators can be used in an "If" N/A – the migration
condition) package: =, <>, Include, Does Not Include, >=, <= ,> , and < process maps
the information
A2019 handles the following conditions as a String
automatically.
operation:
• =
• <>
• Include
• Does not Include

A2019 handles the following conditions as a Numeric


operation:
• >=
• <=
• >
• <

OCR A2019 supports only the ABBYY OCR engine. N/A – the migration
process maps
Advanced settings in the OCR command are not needed in
the information
A2019.
automatically.
PDF The 11.x PDF to Image action is called Extract Image in N/A – the migration
A2019. process maps
the information
automatically.
PGP Support for encrypting or decrypting multiple files using Wait on migrating
wildcard characters is not yet supported in A2019. Bots bots that use
using this PGP package functionality will migrate with errors. wildcard characters
We recommend that you do not migrate bots that are using for encrypting or
this PGP package functionality. decrypting multiple
files.
Prompt The Prompt > For Value action in A2019 was Excel > Prompt N/A – the migration
for Value in 11.x. process maps
the information
automatically.
Run Script This command has become two packages, JavaScript and You need to upload
VBScript, in A2019. the script file
and reference it
A2019 supports the ‘Nashhorn JS’ JavaScript engine which
manually.
supports ECMAScript 5 and ECMAScript 6 standards.
Support of WScript in JavaScript is not yet available.

© 2020 Automation Anywhere. All rights reserved.     184


    Automation Anywhere - Install and upgrade Enterprise A2019

Package How it differs from 11.x What you need to do

Task Bot This package is called "Task" in 11.x. The package


and option
The 11.x "Repeat until I stop" option is called "Do not repeat"
name changes
in A2019.
do not require
If the path specified in the Run Task action was built using a user interaction;
variable in11.x or if the child bot is not available in the A2019 the migration
Enterprise Control Room as a dependency, then you must process maps
fix the bot accordingly. the information
automatically.
Terminal Encrypt text is not supported in the Send Text and Set Field N/A
Emulator actions for A2019. Automation Anywhere recommends that
you use Credential Vault instead of of plain text.
A2019 does not support legacy technology and by default
supports all capabilities of Advance Technology of the 11.x
bots.
The following features are not yet supported in A2019:
• SSH1
• Session sharing. Without session sharing, you should
close each session within the same session.

Additional packages available with Build 2545 for A2019

A2019 has a new package called Legacy Support. This package provides the additional support needed
during migration and includes the following new expression. The Legacy Support package is for use
during migration; we do not recommend using this package for new bot development. This package has
the following expressions:
• ParseLegacyKeys – Ensures that the 11.x key strokes of the 11.x bots stored in variables are
successful upon execution. This expression converts them into equivalent A2019 key strokes during
the execution.
• ParseVariableOperation – Parses the expression provided in the 11.x variable operation
command. This exression ensures that A2019 returns the same output as 11.x bots upon execution.

The following table lists the packages available for migration in this build and how they map to A2019. N/
A means there are no changes. A2019.

© 2020 Automation Anywhere. All rights reserved.     185


    Automation Anywhere - Install and upgrade Enterprise A2019

Package How it differs from 11.x What you need to do

If (additional This release adds support for the following conditions within
condition the While option:
support)
• Application Running
• Application Not Running
• File Date
• File Exists
• File Does Not Exist
• File Size
• Folder Exists
• Folder Does Not Exist
• Ping Successful
• Ping Unsuccessful

If (Image The If command with the Image Recognition condition N/A – the migration
Recognition in 11.x can become one of the following actions in A2019 process maps
condition) based on the selected options: the information
automatically.
• If > Image file is found in image file – Created if Image1
has the "From File" option selected and Image2 has the
"From File" option selected 11.x.
• If > Image file is found in a window – Created if Image1
has the "From File" option selected and Image2 has the
"From Window" option selected 11.x.
• If > Window is found in image file – Created if Image1
has the "From Window" option selected and Image2 has
the "From File" option selected 11.x.
• If > Window is found in a window – Created if Image1
has the "From Window" option selected and Image2 has
the "From Window" option selected 11.x.

See If package .

Image The 11.x Image Recognition package is split into Find file N/A – the migration
Recognition image inside window image and Find window image inside process maps
another window image actions in A2019. the information
automatically.
In A2019, Advance is the default comparison mode and
actions with the Gray-Scale, Normal, or Monochrome
option selected are migrated as Advance. The migration
process maps the information automatically and does not
impact related bots.
See Image Recognition package.

© 2020 Automation Anywhere. All rights reserved.     186


    Automation Anywhere - Install and upgrade Enterprise A2019

Package How it differs from 11.x What you need to do

Loop (Image The Loop command with the Image Recognition condition N/A – the migration
Recognition in 11.x can become one of the following actions in A2019 process maps
condition) based on the selected options: the information
automatically.
• Loop > Image file is found in image file – Created if
Image1 has the "From File" option selected and Image2
has the "From File" option selected 11.x.
• Loop > Image file is found in a window – Created if
Image1 has the "From File" option selected and Image2
has the "From Window" option selected 11.x.
• Loop > Window is found in image file – Created if Image1
has the "From Window" option selected and Image2 has
the "From File" option selected 11.x.
• Loop > Window is found in a window – Created if Image1
has the "From Window" option selected and Image2 has
the "From Window" option selected 11.x.

Loop This release adds support for the following conditions within N/A
(additional the While option:
condition
• Application Running
support)
• Application Not Running
• File Date
• File Exists
• File Does Not Exist
• File Size
• Folder Exists
• Folder Does Not Exist
• Ping Successful
• Ping Unsuccessful

See Loop package.

Object This command becomes Recorder > Capture action in N/A – the migration
Cloning A2019. process maps
the information
See Using the Capture action.
automatically.
SOAP Web This package behaves the same in A2019. N/A
Service
See SOAP web service package.

Variable mapping for migration


Some variables map directly from previous product versions to A2019 while others behave differently or
contain configuration changes.

© 2020 Automation Anywhere. All rights reserved.     187


    Automation Anywhere - Install and upgrade Enterprise A2019

Variables available with build 1610 of A2019

The following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.

Variable How it differs from 11.x What you need to do

Clipboard In 11.x this variable is represented as N/A – information is mapped


$clipboard$. In A2019, it is represented as automatically during migration.
$Clipboard:Clipboard$.
System The following syntaxes for the system variable N/A – information is mapped
have changed in A2019. automatically during migration.

11.x A2019

$Day$ $System:Day$
$Month$ $System:Month$
$Year$ $System:Year$
$Hour$ $System:Hour$
$Minute$ $System:Minute$

See System variables for more information.

List In A2019, the List sub-type has dedicated String, Automation Anywhere will
Numeric, Boolean, and Datetime datatypes. convert the String value to
After you migrate the bot, Automation Numeric if an attribute of an
Anywhere creates a list of the String datatype. action accepts Numeric values
during the migration.
List variables outside the loop can be accessed
by index. For example, However, we cannot determine
the actual value type for
$listVariable[0]$ some of the complex legacy
commands, like variable
where 0 represents the first value in the list. operations, so you must review
the bot after migration to take
corrective steps.

Value In A2019, we have String, Numeric, Boolean Automation Anywhere will


and Datetime as core data types instead of convert the String value to
generic type Value. All variables of type Value Numeric if an attribute of an
are created as String in A2019 upon migration. action accepts Numeric values
during the migration.
However, we cannot determine
the actual value type for
some of the complex legacy
commands, like variable
operations, so you must review
the bot after migration to take
corrective steps.

© 2020 Automation Anywhere. All rights reserved.     188


    Automation Anywhere - Install and upgrade Enterprise A2019

Additional variables available with build 2079 of A2019

The following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.

Variable How it differs from 11.x What you need to do

System In 11.x, these were system variables; they are user N/A – information is
variables defined variables in A2019. mapped automatically
during migration.
• $Dataset Column$ – Defined in Loop > For each
row in a SQL query dataset
• $Extension$ – Access the value by using the
"extension" key
• Email related variables – The following 11.x system
variables are user defined variables in A2019
and should be declared in the Email package
> Loop action: $Email Cc$, $Email From$,
$Email Message$, $Email Received Date$, $Email
Received Time$, $Email Subject$, and $Email To$
• $FileName$ – Defined in Loop > For each file in
folder. Access the value by using the "Name" key.
• $FolderName$ – Defined in Loop > For each
folder in folder
• $XML Data Node$ – Defined in Loop > Each node
in XML dataset

The 11.x "Filedata Column" system variable (used


in the the Loop action when interating CSV/Text
rows) has been deprecated in A2019. Automation
Anywhere creates a user variable during the
migration process that works as the Filedata Column.
Additionally, A2019 does not remove the leading
spaces from the value retrieved from "Filedata
Column" in the loop by defafult.
The following additional system variables are
supported in A2019:
• Machine – Returns the machine name of the
device on which the bot is executed.
• MiliSecond – Returns the value that is copied to
the clipboard.s

© 2020 Automation Anywhere. All rights reserved.     189


    Automation Anywhere - Install and upgrade Enterprise A2019

Variable How it differs from 11.x What you need to do

Array In 11.x, you can declare an Array variable by referring N/A – information is
to a text or CSV file. In A2019 mapped automatically
during migration.
• This variable is called Table.
• You must use the CSV/TXT package to read and
load the respective data table variable in the bot
• bots add Open, Get Multiple Cells, and Close
actions to the Excel Advance package and
populate the table variable.

The index position starts with 1 in legacy. In


A2019, the Table variable starts with 0. For
example, $arrayVariable(1,1)$ becomes
$arrayVariable[0][0]$ in A2019.

Additional variables available with Build 2545 for A2019

The following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.

Variable How it differs from 11.x What you need to do

List In 11.x, index position is not required to fetch the list


item from a list variable inside a loop. A2019 uses the
index position of the list to fetch the list item.
In A2019, an empty list variable used outside a loop
returns a run time error, where as in 11.x the bot
returns an empty value and executes without error.
See Loop package.

© 2020 Automation Anywhere. All rights reserved.     190


    Automation Anywhere - Install and upgrade Enterprise A2019

Variable How it differs from 11.x What you need to do

System $Counter$ system variable is deprecated in A2019. N/A – information is


variables The migration process creates a user defined variable mapped automatically
and modifies the bot to ensure it provides the same during migration.
output as the 11.x bot.
If a variable is defined at the index position for the
following system variables, you might need to fix the
migrated bots because the migration process could
not determine if the variable contains an index or
column name. The migration process defaults to a
column name in the variable, but if it is an index, you
must change it accordingly.
• $Filedata Column$
• $Dataset Column$
• $XML Data Node$
• $Excel Column$

The following additional system variables are


supported in A2019:
• $ArrayColumns($arrayVariable$)$ becomes
$arrayVariable.DataTable:columnCount$ in A2019
• $ArrayRows($arrayVariable$)$ becomes
$arrayVariable.DataTable:rowCount$ in A2019
• $AAControlRoom$ becomes
$System:AAControlRoom$ in A2019
• $RAMUsage$ becomes $System:RAMUsage$ in
A2019
• $TotalRAM$ becomes $System:TotalRAM$ in
A2019
• $OSName$ becomes $System:OSName$ in
A2019. 11.x returns the Microsoft Windows 10 Pro
64-bit value; A2019 returns Windows 10 64-bit.
• PDF – In A2019, this system variable is part of the
dictionary variable returned in the respective PDF
command. See Using dictionary variable for PDF
properties.
• $Excel Cell Row$ is the Get row number action in
A2019.
• $Excel Cell Column$ is the Get column name
action in A2019.

Specific to the $Excel Cell Row$ and $Excel Cell


Column$:

Use Case 11.x A2019

• Excel is When the When the


opened with active cell active cell
or without selected is F10, selected is F10,
"contains the system the system
header" returns A as cell returns F as
checked column value
containing
10 rows.
• Set active
cell as F10 © 2020 Automation Anywhere. All rights reserved.     191
• A loop is
    Automation Anywhere - Install and upgrade Enterprise A2019

© 2020 Automation Anywhere. All rights reserved.     192


    Automation Anywhere - Build

Build
This collection of topics will get you started automating tasks and processes as quickly as possible.
Related tasks
Register a device
Related reference
Actions palette content for bot creation
Use actions to build an automation workflow and to instruct a bot what to do. In Enterprise A2019, the
available actions are located in the Actions palette in the Bot editor.
Variables and credentials
Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).
Related information
Training - Hello A2019 Bot: Getting Started with Building Bots

Get started building bots


Create and edit bots in the cloud-based Bot editor.

Build a Go be Great bot


Build a basic bot using a Message Box action and a variable. Follow these steps to create your first bot
that prints the message, Go be great!, the Automation Anywhere version of Hello World!
To build a bot you must already have done the following:
• Register device and install Bot agent
• Set device credentials

Actions used in this bot:


Message box action
If you have already completed the steps in Create your first bot, skip to step 6.
1. Open a new bot.
a) From Automation Anywhere web interface, select Bots > My bots.
b) Click Create TaskBot.
c) Enter a bot name.
d) Accept the default folder location \Bots\.
To change where your bot is stored, click Choose and follow the prompts.
e) Click Create and Edit.

© 2020 Automation Anywhere. All rights reserved.     193


    Automation Anywhere - Build

2. Insert a Message box package action.


a) Click Actions.
b) Search for the Message Box package.
Click in the Actions search box and type the word, message. Click the arrow to expand the
Message Box options.
c) Double-click or drag the Message Box action to the Bot editor (open space to the right).
A dialog box to configure the action opens.

3. Specify the conditions for the Message Box action.


a) In the Enter the message box window title field, type My first bot!.
b) In the Enter the message to display field, type Go be great!.
c) Accept the defaults in the Scrollbar after lines field and Close message box after check box.
d) Click the Apply button to save your message edits.
The Message Box action is added to the flowchart in the Bot editor.

4. Click Save.
Your bot is now ready to run.
5. Test your bot.
Click Run at the top right.
The bot generates a pop-up Message box with the text Go be great!.
In the following steps, you configure a variable and insert it into the Message box.
6. Create a variable.
a) Click Variables.
The Variables accordion menu is located below the Actions menu.
b) Click the Create variable icon.
c) Enter vHelloWorld in the name field.
d) Check the Use as output option.
e) Type Say Go be Great! with a variable in the Default value field.
f) Click Create.

7. Assign the vHelloWorld variable to the Enter the message to display field.
a) Click the Message Box action icon.
A dialog box to configure the action opens.
b) Delete the text from the Enter the message to display field.
c) Either press the F2 key or click the Insert variable icon.
The Insert variable icon is located on the right side of the text field.
d) Select vHelloWorld from the drop-down list.
e) Click Yes, insert.

8. Click Apply.
9. Click Save.
10. Click the Run icon.
The bot generates a pop-up Message box with the text Say Go be Great! with a variable.

© 2020 Automation Anywhere. All rights reserved.     194


    Automation Anywhere - Build

After you successfully run your bot, progress to Build a basic bot that uses a desktop application.
Related reference
Variables panel

Build a basic bot that uses a desktop application


Build a bot that uses a conditional statement to verify that the calculator is open, then uses the calculator
to multiply two numbers. This example uses the If, Message box, Simulate keystrokes, and Window
actions.
Here are the minimum prerequisites for this bot:
• Access to a Control Room
• Your local host is a registered device in the Control Room
• The calculator application is open on your desktop

Actions used in this bot:


• If
• Message box
• Simulate Keystrokes
• Window

1. Open a new bot.


a. From Automation Anywhere web interface, select Bots > My bots.
b. Click Create TaskBot.
c. Enter a bot name and click Create and Edit.

2. Insert an conditional sequence that verifies that the calculator is open and activates the window.
a. Double-click or drag the If action.
b. Select Window exists from the Condition drop-down list.
c. Select Calculator from the Window drop-down list.
d. Click Apply.
The Calculator window is saved to the variable window-1.
e. Drag the Message box action into the If container.
f. In the Enter the message to display field, enter The calculator is running.
g. Click Apply.
h. Drag the Window > Activate action into the If container below the Message box action.
i. In the Window field, insert the window-1 variable.
j. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     195


    Automation Anywhere - Build

3. Insert an alternative sequence that opens the calculator.


a. Double-click the If > Else action.
b. Click Apply.
c. Drag the Message box action into the Else container.
d. In the Enter the message to display field, enter The calculator is not running.
e. Click Apply.
f. Drag the Application > Open program/file action into the If container below the Message box
action.
g. In the Location of the program/file field, enter C:\Windows\System32\calc.exe.
h. Click Apply.

4. Insert the Simulate keystrokes action to perform the calculation.


a. Drag the Simulate keystrokes action below the If and Else containers
b. In the Window field, insert the window-1 variable.
c. In the Keystrokes field, enter 5*5=.
d. In the Delay field, enter 500.
e. Click Apply.

5. Click Save to save the bot.


6. Run the bot.
When the bot runs, the The calculator is running message appears, then the Calculator
window activates, and the calculation is performed.
7. Close the Calculator and run the bot again.
When the bot runs, the The calculator is not running message appears, then the Calculator
window opens, and the calculation is performed.

If the bot does not input all of the numbers into the calculator, try increasing the keystrokes delay.

Build a hello world bot with a Python function


Create a bot that calls a Python function to say hello world.
Have the latest version of Python 3.x installed on your device.
Here is a Python script with one simple function. This script is used in this task.

#!/usr/bin/python

# Function definition is here


def printme( str ):
print(str)
return str

Actions used in this TaskBot:

© 2020 Automation Anywhere. All rights reserved.     196


    Automation Anywhere - Build

• Python Script
• Open
• Close
• Execute function

• Message box

1. Log into your Enterprise Control Room and navigate to BOTS > My bots.
2. Click the Create TaskBot icon.
3. Type pythonhelloworld.bot in the Name field.
4. Click Create & edit.
5. Click the Variables tab on the left.
The acordian menu opens and the Create variable icon appears at the top.
6. Click Create variable.
7. Enter vArgument in the Name field.
8. Enter Hello world! in the Default value field.
9. Click Create.
10. Click the Actions tab.
11. Double click Python Script > Open.
12. In the Python Script: Open edit frame, select Manual input.
13. Copy and paste the following text into the Enter script here field.

def printme( str ):


print(str)
return str

14. Click Apply.


15. Double click Execute function.
16. Type printme in the Enter name of function to be executed field.
17. Select the vArgument variable from the Arguments to the function drop-down list.
18. Create the variable vPythonHello for the Assign the output to variable field.
19. Click Apply.
20. Double click Message box > Message box.
21. In the Enter the message to display field, select and insert the variable vPythonHello.
22. Select the Close message box after checkbox. Leave the default of 5 seconds in the field.
23. Click Apply.
24. Double click Python Script > Close.
25. Click Save in the top right corner.

Click the Run icon to see your bot run.

© 2020 Automation Anywhere. All rights reserved.     197


    Automation Anywhere - Build

Bot editor for creating bots


The Bot editor enables users to create and edit bots from any device, and from anywhere the user can
access a web browser. Because Enterprise A2019 is web-based, there is no separate client to download.
Access the Bot editor by logging in to Enterprise A2019.

Overview

The Bot editor is a web-based environment and includes the following features:
• Universal Recorder to simplify capturing processes
• Flow and list views for bot creation
• Powerful bot code management
• Python and JavaScript actions support inline scripting without linking, with drag-and-drop integration
• Rich variable passing, with no cross-language mapping required

Accessing the Bot editor

To access the Bot editor, you must start creating or modifying a bot.
Go to My Bots in the Enterprise Control Room
• To create a bot, click the Create TaskBot icon on the top-right of the page.
• To modify a bot, click the bot from the list.

Video: Get started with the Bot editor

Related tasks
Run bot now
Run bots from the In progress, My devices, and My bots pages.
Related reference
Editing bots
Edit bot logic using the Bot editor to add, modify, or delete actions and automation steps.

Actions palette content for bot creation


Use actions to build an automation workflow and to instruct a bot what to do. In Enterprise A2019, the
available actions are located in the Actions palette in the Bot editor.

Actions, packages, and dependencies

Actions are grouped into packages. For example, the Excel advanced package contains Excel-related
actions, such as Open workbook, Go to cell, and Delete cell, that you can insert in to the Bot editor to
automate a spreadsheet process.
Learn more about managing packages in Managing packages. Developers can learn more about creating
packages in Automation Anywhere Enterprise Package Development Kit.
After an action from a package is used in a bot, that package becomes a dependent file of that bot. Learn
more about managing botsand package dependencies in Bot dependencies.

© 2020 Automation Anywhere. All rights reserved.     198


    Automation Anywhere - Build

Working with actions

Actions in the Bot editor are configurable. Double-click the action to see the fields and features that you
can configure. Double-click or drag an action to insert it into the automation workflow.
Features in the Bot editor include:

View action View the action-related information.


Edit action Open configurable fields in the action string.
Copy action Duplicate the action.
Cut action Remove the action from the bot code.
Delete action Delete the action from the bot code.

Note: Use the mouse to roll over each icon to identify the specific functions.

Resources

To learn more, see Training - Install and upgrade actions without reinstallation. This course introduces
you to packages, benefits, and installation.

Note: You must log in with a registered A-People Community account to access course.

Video: How to use actions

Related reference
Bot editor for creating bots
The Bot editor enables users to create and edit bots from any device, and from anywhere the user can
access a web browser. Because Enterprise A2019 is web-based, there is no separate client to download.
Access the Bot editor by logging in to Enterprise A2019.

Analyze package
Use the Analyze package to launch or end the transaction analytics of an application or file.

Actions in the Analyze package

The Analyze package includes the following actions:

Action Description

Close Closes the transaction.


• In the Transaction name field, enter the transaction name.
• In the Dictionary variable, select the following options:
• All user-defined variables: Tag all user-defined variables.
• prompt-assignment - String: Tag the variables to use for
assignments.

© 2020 Automation Anywhere. All rights reserved.     199


    Automation Anywhere - Build

Action Description

Open Opens the transaction.


• In the Transaction name field, enter the transaction name.

Application package
Use the Open Program/File action in the Application package to launch an application or a file. This
action supports .exe, .bat, script files, or shortcut paths.

Actions in the Application package

The Application package includes the following action:

Action Description

Open program/file Opens an application or file.


• Enter the name of the application or file, or
insert a variable. For example, chrome.exe.

Note: You can also enter the full file path in


this field.
• Optional: If you did not enter the full file path
in the previous field, enter the Start in path.
For example, C:\Program Files
(x86)\Google\Chrome\Application\
• Optional: In the Parameters field, further
specify the program to open.
For example, if you are using the command
line, enter the arguments in this field.

Conditions in the Application package

Use the following conditions inside an If loop to control the flow of execution in an automation task:

© 2020 Automation Anywhere. All rights reserved.     200


    Automation Anywhere - Build

Condition Description

File • File date


Use this condition to verify the date and
time that the specified file was created or
modified. Specify a date range using the Is
within last, Is between, or Is before options.
For the Is within last option, specify the
number of days or time (in hours, minutes,
and seconds). Enter the amount of time (in
seconds) to wait for this condition to be true.
• File exists and File does not exist
Use these conditions to execute an action
based on whether a file exists. For example,
if a data file exists, format the file and upload
it to a database.
• File size
This condition verifies if the specified file is
larger, smaller, not the same, or the same as
the size you specify.
Enter the amount of time (in seconds) to
wait for this condition to be true.

See If package .

AWS Comprehend NLP package


The AWS Comprehend NLP package contains actions that enable you to connect to and consume the
Amazon Comprehend API to identify the language, sentiment, key phrases, and entities.

Before you start

You require the following information for an existing AWS account to use these actions:
• Access key and Secret key: Credentials that authenticate Automation Anywhere Enterprise with your
AWS account.
See Access Keys (Access Key ID and Secret Access Key).
• Region: Specifies the AWS service endpoint.
See AWS Service Endpoints.

Actions in the AWS Comprehend NLP package

Action Description

Detect language Identifies the language of the provided content and returns it in ISO
639-1 language code. The output is stored in a string variable. This action
supports over 100 languages. For the full list, see Detect the Dominant
Language.

© 2020 Automation Anywhere. All rights reserved.     201


    Automation Anywhere - Build

Action Description

Get key phrases Identifies the main points and returns a list of key phrases. For example, if
the input text is about a basketball game, this action returns the names of
teams, the name of the venue, and the final score.
Get named entities Identifies the entities in the provided content such as people, places,
organizations, date/time, quantities, branded products, and book titles.
The output is stored in a dictionary variable, where each name is a key,
and the corresponding entity is the value.

Get sentiment Analyzes the provided content and returns the overall sentiment and
scores for all possible sentiments. An example output of the dictionary
values:
POSITIVE {Positive: 0.66238534,Negative:
0.0013064129,Neutral: 0.33621928,Mixed: 8.892125E-5}
The output is stored in a dictionary variable containing two keys and their
corresponding values: sentiment and score.

Boolean package
The Boolean package contains actions that enable you to do various operations on Boolean values.

Actions in the Boolean package

The actions in the Boolean package accept a variable as an input and assign the output to a variable.
These actions enable you to compare two Boolean values, convert a Boolean value to a string or
numeric value, and convert a string value to a Boolean value.
The Boolean package includes the following actions:

Action Description

Assign Assigns a constant value (True or False) or a user-defined value to a


Boolean value.
• Select the source Boolean variable or value.
• Select the variable to use to store the output from the Destination
Boolean variable list.
The output is stored in a Boolean variable.

Compare to Compares two Boolean values and assigns the output to a numeric
variable.
• Select the Boolean variables to compare from the Select the first
Boolean variable and Select the second Boolean variable lists.
• Select the variable to use to store the output from the Assign the
output to number variable list.
The output is stored in a number variable.

© 2020 Automation Anywhere. All rights reserved.     202


    Automation Anywhere - Build

Action Description

Equal to Verifies whether the two Boolean values are equal or not, and assigns
the output to a Boolean variable.
• Select the variables that contain the Boolean values to verify from
the Select the first Boolean variable and Select the second Boolean
variable lists.
• Select the variable to use to store the output from the Assign the
output to number variable list.
The output is stored in a number variable.

Invert Converts a Boolean value to the opposite value (True to False and
False to True), and assigns the output to a variable.
• Select the Boolean value to convert. Choose from False, True, or a
Variable.
• Select the numeric variable to use to store the converted value
from the Assign the output to variable list.

To number Converts a Boolean value to a numeric value. This action converts


True to 1 and False to 0.
• Select the Boolean variable to convert from the Select Boolean
variable list.
• Select the numeric variable to use to store the converted value
from the Assign the output to variable list.

To string Converts a Boolean value to a string value.


• Select the Boolean variable to convert from the Select Boolean
variable list.
• Select the string variable to use to store the converted value from
the Select the string variable to store the result list.

Compare results for the Compare to action


The following table illustrates how two Boolean values are compared using the Compare to action and
their output:

Boolean value 1 Boolean value 2 Compare result


True True 0
True False 1
False True -1
False False 0

© 2020 Automation Anywhere. All rights reserved.     203


    Automation Anywhere - Build

Compare results for the Equal to action


The following table illustrates how two Boolean values are compared using the Equal to action and their
output:

Boolean value 1 Boolean value 2 Equal result


True True True
True False False
False True False
False False True

Browser package
The Browser package contains actions that enable you to download files, find broken links, and launch a
website. This package supports Internet Explorer, and Google Chrome browsers.

Actions in the Browser package

The Browser package includes the following actions:

Action Description

Download files Downloads and saves files from URLs.


• Specify the URL of the file you want to download.
• In the Save to location field, enter the location where you want to
save the file.

Find broken links See Using Find broken links action.


Launch website Launches the browser.
• In the URL field, specify the website you want to open.
• Select your browser from Default Browser, Internet Explorer, or
Google Chrome.

Note: Ensure that Internet Explorer or Google Chrome is set as the


default browser. If any browser that is not listed is set as the default
browser for the device, the bot might encounter an error. When using
commands such as OCR and Image Recognition, the browser must finish
rendering before the commands execute.

Using Find broken links action


The Find broken links action enables you to find links that are not working on a specific page or an entire
website.
Follow these steps to find broken links:
1. In the Actions palette, double-click or drag the Find broken links action from the Browser package.
2. In the Page or URL field, enter the URL of the page or website.

© 2020 Automation Anywhere. All rights reserved.     204


    Automation Anywhere - Build

3. In the Scope option, choose either check only this page or check the whole site.
4. In the Save list to location field, specify the location of the CSV file.
5. Select the Append to already existing csv file check box if you want to append the data to an existing
CSV file.
6. Select an option from the Encoding list to specify the encoding that is applied on the file.
7. In the Number of parallel threads field, enter the number of processes you want to run
simultaneously.
A higher number of parallel threads results in faster execution.

Note: The maximum value you can provide in the field is 99.

8. In the Time out field, specify the maximum time the system must wait to receive a response from
each URL link.
9. Click Apply.

Bot migration package


The Bot migration package contains the Migrate bot action that enables you to migrate a bot from 11.x to
A2019.
Certified 11.x

Action in the Bot migration package

The Bot migration package includes the following action:

Action Description

Migrate bot Migrates the version 11.x bot file to A2019 format and uploads the
migrated file to the specified location in your private repository with the
same name as .atmx file. This action only migrates the bot you specify,
but does not migrate its dependencies.
• Use the Control Room file, Desktop file, or Variable tab to specify the
location of the bot you want to migrate.
• In the Output folder path field, specify the location where you want to
save the bot file that is migrated to A2019 format.
The system does not upload the bot if it fails during the migration
process. The system creates an XML report at the same location that
provides information that helps you to troubleshoot if the system
encounters an error while migrating the bot file.
• Select the Overwrite the file if exists check box to overwrite an existing
bot file.

Note: You can only migrate bot (.atmx) files; migration of MetaBot
(.mbot) files is not supported.

© 2020 Automation Anywhere. All rights reserved.     205


    Automation Anywhere - Build

Clipboard package
The Clipboard package contains actions that enable you to store a value in a string variable, use a stored
value in another application, and clear values from the clipboard.

Actions in the Clipboard package

The Clipboard package includes the following actions:


Action Description

Clear Clears the clipboard. This action will remove any value that is stored in
the clipboard.
Copy from Copies the value that is stored in the clipboard and uses it in a String
variable that you select from the Assign the output to variable list.
Copy to Stores a value in the clipboard. You can either enter the value or specify
the variable that contains the value in the Value field.

CSV/TXT package
The CSV/TXT package contains actions that enable you to open a CSV or text file, read data from that
file, and assign the data to a Table variable. This package supports files encoded in ANSI, Unicode, UTF-8,
or Win1251, and can process up to one million records.
Perform the following actions within the CSV/TXT package as part of using the set of available actions:
1. Open the file to be used in the automation. See Using the Open action for CSV/TXT file.
2. Use the Read action to retrieve values from a CSV or TXT file and store them in a Table variable. See
Using Read action.

Note: You can use this action in a Loop action to read data from each row in the file and assign it to
a record variable. See Using Read action in loop.

3. After you have automated the CSV/TXT-related tasks, close the file using the Close action. Enter the
session name that was used to open the file with the Open action.

Related reference
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
User-defined variables

© 2020 Automation Anywhere. All rights reserved.     206


    Automation Anywhere - Build

User-defined variables are created as you build bots. Use them to store values that can be input into
a field (window title, login credential, or file path) or to accept an output (values read from a file or a
boolean return). Unlike System variables, you can edit the values of a User-defined variable.

Using the Open action for CSV/TXT file


Use the Open action to open a CSV or text file from a folder in Automation Anywhere Enterprise, your
local device, or a location available in a file variable. This action enables you to specify the delimiter used
in the file, whether to trim the spaces, and the encoding applied on the file.
To open a CSV or text file, do the following:
1. Double-click or drag the Open action from the CSV/TXT node in the Actions palette.
2. Select any of the following options to specify the location of the CSV or text file to open:
• From 'My Bots': Enables you to select a file that is available in a folder within Automation
Anywhere Enterprise.
• From local device: Enables you to select a file that is available on your device.
• Select an existing file variable: Enables you to specify the file variable that contains the location of
the file to open.

3. Select the Contains header check box if the file contains a header row and you want to retrieve
values from that row.
4. Select any of the following options to specify the Delimiter used in the file:
• Comma
• Tab
• Regional list separator: Enables you to specify the delimiter as defined in the regional settings.
Automation Anywhere Enterprise supports the default regional list separators of English, German,
French, Italian, and Spanish.
For example, semi-colon (;) will be used as a list separator if the regional settings are configured
to German.
You can configure the regional settings with the globe icon at the top-right of the page.
• Newline
• Other: Enables you to specify a delimiter other than the options listed above.

5. Select the Trim leading spaces and Trim trailing spaces check boxes to trim additional leading and
trailing spaces from the data.
6. Select an option from the Encoding list to specify the encoding that is applied on the file.
7. Click Apply.

Use the Read action to retrieve the table values and assign them to a variable in order to perform
operations with the data. Do one of the following:
• Using Read action in loop
• Using Read action

Using Read action


Use the Read action to retrieve values from a CSV or TXT file and insert them into a Table variable in
order to perform operations with the data values.
To retrieve values from a CSV/TXT file, do the following:
1. Double-click or drag the Read action from the CSV/TXT node in the Actions palette.

© 2020 Automation Anywhere. All rights reserved.     207


    Automation Anywhere - Build

2. Enter the name of the session that you have used to open the CSV or text file in the Open action.
3. Select a Table variable from the Assign value to the variable list.
Create a variable if it does not already exist.
4. Click Apply.

Perform operations with the values in the Table variable using the Data Table package.

Using Read action in loop


Use the Read action within a Loop action to read the data of each row available in a CSV or text file.
To use a Read action in a Loop action, do the following:
1. Double-click or drag the Loop action from the Loop package in the Actions palette.
2. Select the For each row in CSV/TXT option from the Iterator list.
3. Enter the name of the session that you have used to open the CSV or text file in the Open action.
4. Select a Record variable from the Assign the current row to this variable list.
5. Click Apply.

Database package
Databases support internal operations of an enterprise by storing a variety of data, such as sales
transactions, product catalogs, inventories, and customer profiles. Use the Database package to connect
to a database, begin a transaction, manipulate the stored data by retrieving, inserting, updating, deleting,
and exporting it to a CSV file.

Before you start

Perform the following actions within the Database package as part of using the set of available actions:
1. Establish a connection with the database server using the Connect action.
2. Initiate the database transaction using the Begin database transaction action.
This action ensures that all records are updated or deleted in their entirety, and prevents accidental
updates or deletions of incomplete data if the bot encounters an error when executing a query.
3. After you have automated the database task, end the database transaction using the End database
transaction to commit the changes.
4. Every set of database actions ends with the Disconnect action to terminate the connection to the
database server.

Actions in the Database package

The Database package includes the following actions:

Action Description

Connect See Using Connect action for database.


Begin database Starts a database transaction. In the Session name field, enter the name
transaction of the session you used to connect to the database server in the Connect
action.

© 2020 Automation Anywhere. All rights reserved.     208


    Automation Anywhere - Build

Action Description

End database Commits all the database commands within the database transaction.
transaction In the Session name field, enter the name of the session you used to
connect to the database server in the Connect action.
Disconnect Disconnects from a database. In the Session name field, enter the name
of the session you used to connect to the database server in the Connect
action.
Read from See Using Read from action.
Run stored procedure See Using Run stored procedure action.
Manage stored Creates, updates, and deletes a stored procedure within the specified
procedure database.
• In the Session name field, enter the name of the session you used to
connect to the database server in the Connect action.
• In the Enter full command field, enter the command to create, update,
or delete the stored procedure.
• In the Timeout for the query in seconds field, specify the time within
which the statement execution should stop, even if the execution is
not completed.

Insert/Update/Delete Executes an INSERT, UPDATE, or DELETE statement from the database.


• In the Session name field, enter the name of the session you used to
connect to the database server in the Connect action.
• In the Statement field, enter the SQL statement to insert, update, or
delete the records.
• In the Timeout for the query in seconds field, specify the time within
which the statement execution should stop, even if the execution is
not completed.

Related reference
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
Variables and credentials
Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).

Using Connect action for database


Use the Connect action to establish a connection with a database server that you want to use to
automate database-related tasks. This must be the first action you use to automate a database-related
task.
Specify the details of a database server and associate it with a session name. Use the session name
provided in this action in the other actions so that you do not have to provide the details of the database
server in those actions..
To establish a connection with a database server, do the following:
1. Double-click or drag the Connect action from the Database package in the Actions palette.

© 2020 Automation Anywhere. All rights reserved.     209


    Automation Anywhere - Build

2. Enter a unique name for the session in the Session name field.
3. Select the Default or User defined connection option.
a) If you select the Default option, you can directly enter the connection string for any of the
supported database types.
To ensure a more secure automation, use a Credential Vault variable for the connection string.
b) If you select the User defined option, select the database type from the available options and
complete the following fields based on the selection:
Database Type Options

Microsoft SQL Server, • Server name: Enter the name of the database
PostSQL server you want to connect to.
• Database name: Enter the database name.
• Username: Enter the username you want to
use to access the database server. To ensure
a secure user name, select a Credential Vault
variable. Otherwise, enter a value.
• Password: Enter the password for the
username you have provided. To ensure a
secure password, select a Credential Vault
variable. Otherwise, enter a value.
• Instance name: Enter a name for this
connection instance.

MySQL Same options as in the Microsoft SQL Server


database type.

Also, enter the port number. The default port


number is 3306.
Microsoft Access, SQLite Select the database file path from:
• My bots folder
• local device
• existing file variable

Oracle • Server name: Enter the name of the Oracle


server you want to connect to.
• Oracle system id (sid): Enter the system ID.
• Username: Enter the username you want to
use to access the Oracle server. To ensure a
secure user name, select a Credential Vault
variable. Otherwise, enter a value.
• Password: Enter the password for the
username you have provided. To ensure a
secure password, select a Credential Vault
variable. Otherwise, enter a value.
• Port: Enter the port number. The default port
number is 1521.

4. Select a driver file from the My bots folder, the local device, or a file variable.

© 2020 Automation Anywhere. All rights reserved.     210


    Automation Anywhere - Build

5. Click Apply.
6. Click Save to save the automation.

To use Windows NT authentication for connecting to the Microsoft SQL Server, do the following:
1. Download the latest JDBC driver from Microsoft.
2. Unzip the package and upload the mssql-jdbc-7.2.2.jre8.jar file to the control room
repository.
3. Copy the auth\x64\sqljdbc_auth.dll from the zip package to C:\Windows\System32
to ensure this drive supports Windows authentication. This is to enable Windows authentication
because the JDBC driver cannot perform that by default.
4. Create an automation task to connect to the database by providing the following information:
• Select the connection option as Default.
• Enter the connection string as jdbc:sqlserver://
localhost;databaseName=Test;integratedSecurity=true;
• Select Use Specific database.
• Browse to the drive file uploaded from My bots.

5. Click Apply and Save the automation.

Using Run stored procedure action


Stored procedures are a set of SQL statements that are created and stored in the database. These SQL
statements might be complex and required to be run multiple times. Use the Run stored procedure
action to execute existing stored procedures.
To automate a task of executing a stored procedure, do the following:
1. Enter a unique name for the session in the Session name field.
You do not have to provide the details of the database server here because you have already
associated those details with the session name when using the Connect action.
2. Enter the name of the stored procedure.
3. Enter the input parameter value if the stored procedure accepts parameters.
4. Enter the output parameter value if the stored procedure returns a value.
5. Enter the maximum number of records to retrieve.
You can limit the results of the execution.
6. Type a time-out value.
When the specified time expires, the statement execution stops even if the execution is not
completed.
7. Select Export data to CSV to save the retrieved files.
a) Select whether to export the CSV file with or without a header.
b) Select the file path from the My bots folder, the local device, or an existing file variable.
c) Select the CSV file encoding to be either ANSI, UNICODE, or UTF8.
d) Specify whether to overwrite the file or append the data to the existing file if a CSV file with the
same name exists.

8. Click Apply.
9. Click Save to save the automation.

© 2020 Automation Anywhere. All rights reserved.     211


    Automation Anywhere - Build

Using Read from action


Use the Read from action to retrieve records from the database and save the retrieved data in a CSV file.
This action enables you to retrieve up to one million records from the database
To automate a task of selecting and saving a set of records, do the following:
1. Enter a unique name for the session in the Session name field.
You do not have to provide the details of the database server here because you have already
associated those details with the session name when using the Connect action.
2. Enter the SELECT statement.
3. Enter the maximum number of records to retrieve.
4. Type a time-out value.
When the specified time expires, the statement execution stops even if the execution is not
completed.
5. Select Export data to CSV to save the retrieved files.
a) Select whether to export the CSV file with or without a header.
b) Select the file path from the My bots folder, the local device, or an existing file variable.
c) Select the CSV file encoding to be either ANSI, UNICODE, or UTF8.
d) Specify whether to overwrite the file or append the data to the existing file if a CSV file with the
same name exists.

6. Click Apply.
7. Click Save to save the automation.

Data Table package


A Table variable holds columns and rows of data captured with the Universal Recorder or read from an
Excel or CSV file, or a database. The Data Table package contains actions that enable you to perform
various operations on the values of Table variables. Use these actions to join or merge content, search
for specific values, insert rows and columns, remove duplicate rows, and write values to a file.

Before you start

Perform the following actions within the Data Table package as part of using the set of available actions:
1. Create a Table variable.
2. Assign values to the Table variable. See Using Read action.
3. Use the actions in the Data Table package to automate a task. The actions enable you to perform
the following to manipulate the values in the Table variable:
• Insert or delete columns and rows
• Merge or join two tables
• Retrieve the number of rows and columns
• Search for a value
• Remove duplicate content
• Update a cell value
• Write the contents of the variable to a CSV or TXT file

© 2020 Automation Anywhere. All rights reserved.     212


    Automation Anywhere - Build

4. After you have automated the table-related tasks, optionally use the Write to file action to write the
Table variable to a specified file.

Actions in the Data Table package

The Data Table package includes the following actions:

Action Description

Assign Assigns the value of the source table to the destination table. Select the
source Table variable and the destination Table variable.
Clear content Clears the contents of the specified table.
Delete column Deletes a specific column.
• Select the Table variable name from the drop-down list.
• Specify the column name or column index to delete.

Note: The index count starts from 0.

Delete row Deletes a specific row.


• Select the Table variable name from the drop-down list.
• Specify the row name or row index to delete.

Note: The index count starts from 0.

Get number of columns Retrieves the number of columns and assigns it to a Number variable.
You have the option to select the non-empty columns or include all the
columns in the selection.
Get number of rows Retrieves the number of rows and assigns it to a Number variable. You
have the option to select the non-empty rows or include all the rows in
the selection.
Insert column Inserts a column from one table to another table.
• Select the Table variable name from the drop-down list.
• Select where to insert the column: first index, last index, or enter the
column index number.

Note: The index count starts from 0.


• Select the source Table variable from the drop-down list.
• Enter the name or index number of the column to insert.

Insert row Inserts a row into the table.


• Select the Table variable name from the drop-down list.
• Select where to insert the row: first index, last index, or enter the row
index number.

Note: The index count starts from 0.

© 2020 Automation Anywhere. All rights reserved.     213


    Automation Anywhere - Build

Action Description

Join See Using Join action.


Use the Join type output examples to help you decide whether to use
the Join or Merge action.

Merge See Using Merge action.


Use the Merge output example to help you decide whether to use the
Join or Merge action.

Remove duplicate rows Deletes duplicate rows (if any exist). Select the Table variable name from
the drop-down list.
Search for a value Searches for a specific value in the table, returns the cell numbers in
which the value occurs, and assigns the cell numbers to a List variable.
• Select the Table variable name from the drop-down list.
• Enter the value to search for.
• Select Match case to ensure the case matches the value searched.

Set cell value Updates the value of a specific cell.


• Select the Table variable name from the drop-down list.
• Enter the row index. For example, to set a value to the first row, enter
0.
• Select whether to specify the column by Name or Index.
• If you select to specify by name, enter the column name.
Capitalization is not important.
• If you select to specify by index, enter the column index. For
example, to set a value to the first column, enter 0.

• Enter the value to set.

Sort Sorts the table data by a column. This action enables you to sort
numeric and text data.
• Select the Table variable name from the drop-down list.
• Specify the column name or column index to sort by.
• Select the order in which to sort: ascending or descending.

Write to file See Using Write to file action.

Example

Extract table data from web pages Use the Capture action to extract a table from a
website, and actions in the Data table package to
clean the data, then save it to a CSV file.

Using Join action


Use the Join action to combine content from two Table variables. This action enables you to combine
content based on the shared values of a specific column in the tabless and store the content into a third
Table variable or one of the two source tables.

© 2020 Automation Anywhere. All rights reserved.     214


    Automation Anywhere - Build

To join the content from two Table variables, do the following:


1. Double-click or drag Data table > Join.
2. Select the first Table variable to use from the Enter first data table name list.
3. Enter the name of the column from the first Table variable that contains the data to join.
4. Select the second Table variable to use from the Enter second data table name list.
5. Enter the name of the column from the second Table variable that contains the data to join.
6. Select an option to specify the type of join. For more information, see Join type output examples.
• inner join: Returns only the records that have matching values in the selected columns in both
tables.
• left outer join: Returns all records from the first table, and the matched records from the second
table.
• right outer join: Returns all records from the second table, and the matched records from the first
table.
• full outer join: Returns all records when there is a match in either left or right table.

7. Select the table variable to store the combined values from the Enter name of data table in which to
join list.
8. In the Assign value to variable list, select a string variable.

Join type output examples


Select a join type option based on your desired output. Use the examples below to guide your selection.

Inner join

Returns only the records that have matching values in the selected columns in both tables.
For example, if you have a table of employees and their departments, and a table of employees and their
pay rates, this option will return a table of the employees that exist in both tables, and their departments
and pay rates.
Table 1: Employees and Departments
Employee Department

John 101
Jill 102
Mike 103
Betty 104
Cindy 105

Table 2: Employees and Pay rates


Employee Pay rate

John 50
Betty 50
Mike 40
Jill 35

© 2020 Automation Anywhere. All rights reserved.     215


    Automation Anywhere - Build

Employee Pay rate

Dan 45

Table 3: Employees, Departments, and Pay rates


Employee Department Pay rate

John 101 50
Jill 102 35
Mike 103 40
Betty 104 50

Left outer join

Returns all records from the first table, and the matched records from the second table.
Using the example Tables 1 and 2, this option returns the following table:
Table 3: Employees, Departments, and Pay rates
Employee Department Pay rate

John 101 50
Jill 102 35
Mike 103 40
Betty 104 50
Cindy 105

Right outer join

Returns all records from the second table, and the matched records from the first table.
This option returns the following table:
Table 3: Employees, Departments, and Pay rates
Employee Department Pay rate

John 101 50
Betty 104 50
Mike 103 40
Jill 102 35
Dan 45

© 2020 Automation Anywhere. All rights reserved.     216


    Automation Anywhere - Build

Full outer join

Returns all records when there is a match in either left or right table.
This option returns the following table:
Table 3: Employees, Departments, and Pay rates
Employee Department Pay rate

John 101 50
Jill 102 35
Mike 103 40
Betty 104 50
Cindy 105
Dan 45

Using Merge action


Use the Merge action to append the content from the second Table variable to the first Table variable,
and store the merged content into a third Table variable or one of the two source Table variables. Use
this action when the two source tables contain identical column headers. To combine Table variables
containing different column headers, use the Join action.
To merge the content, do the following:
1. Double-click or drag Data table > Merge.
2. Select the first Table variable you want to use from the Enter first data table name list.
3. Select the second Table variable you want to use from the Enter second data table name list.
4. Select the Table variable that you want to use to store the merged data from the Enter name of data
table in which to merge list.
5. Click Apply.

For more information, see Merge output example

Merge output example


The Merge action appends the content from the second Table variable to the first Table variable, and
store the merged content into a third Table variable or one of the two source Table variables. This action
is best used when the two source Table variables contain identical column headers.
For example, if you have a table of employees hired in September and a table of employees that were
hired in October, this option will return a table of all the employees, with the October hires appended
below the September hires.
Table 1: Employees hired in September
Employee Department Pay rate

John 101 50
Jill 102 35

© 2020 Automation Anywhere. All rights reserved.     217


    Automation Anywhere - Build

Table 2: Employees hired in October


Employee Department Pay rate

Mike 103 40
Betty 104 50

Table 3: All employees


Employee Department Pay rate

John 101 50
Jill 102 35
Mike 103 40
Betty 104 50

Using Write to file action


Use the Write to file action to write the data from a Table type variable to a CSV or TXT file.
To write data into a file, do the following:
1. Double-click or drag Data table > Write to file.
2. Select the Table variable that contains the data to write from the Data table name list.
3. Specify the location of the file in which to write the data in the Enter file name field.
4. Select the Create folders/files if it doesn't exist check box to create the file or folder that you
specified in the Enter file name field.
5. Select an option to specify what to do when writing data in an existing file:
• Append to the existing file
• Override existing file

6. Select an option from the Row delimiter list to specify the delimiter to use for rows.
7. Select an option from the Column delimiter list to specify the delimiter to use for columns.
8. Select an option from the Encoding list to specify the encoding to apply on the file.
9. In the Assign value to variable list, select a string variable.

Extract table data from web pages


Use the Capture action to extract a table from a website, and actions in the Data table package to clean
the data, then save it to a CSV file.
To extract table data from a web page, do the following:
1. Open the webpage that contains the table.
a. Double-click or drag the Browser > Launch website action.
b. Enter the destination URL.
c. Click Apply.

2. Capture the table values.


a. Double-click or drag the Recorder > Capture action.

© 2020 Automation Anywhere. All rights reserved.     218


    Automation Anywhere - Build

b. Select the above window title from the Window drop-down list.
c. Click Capture object.
d. Hover over the table until an orange outline appears, then click.
e. Return to the Enterprise Control Room.
f. Verify that the captured Control Type is a Table.
g. Select Get table from the Actions dop-down list.
h. Select Create variable and name it table.
i. Click Apply.

The following variables are generated: table and window-1.


3. Close the browser window.
a. Double-click or drag the Window > Close action.
b. Click F2 and select variable window-1.
c. Click Apply.

4. Remove the third column.


a. Double-click or drag the Data Table > Delete column action.
b. Select table from the Data table name drop-down list.
c. Enter 2 in the Column index field to delete the third column.
d. Click Apply.

5. Save the values to a CSV file.


a. Double-click or drag the Data Table > Write to file action.
b. Select table from the Data table name drop-down list.
c. Enter the file name and file path: C:\Users\<your user>\Desktop\tableFile.csv.
d. Select the Create folders/files if it doesn't exist option.
e. Select the Override existing file option.
f. Select the new line row delimiter option.
g. Select the comma column delimiter option.
h. Select the UTF-8 encoding option.
i. Click Apply.

6. Click Save.

Datetime package
A datetime value consists of a date, time, and time zone. Automation Anywhere Enterprise stores
datetime values in a Datetime variable. The Datetime package contains actions that enable you to
perform various operations on datetime values. You can use these actions to manipulate and compare
values in the Datetime variables.

© 2020 Automation Anywhere. All rights reserved.     219


    Automation Anywhere - Build

Actions in the Datetime package

The actions in the Datetime package accept a variable as an input and assign the output to a variable.
These actions enable you to compare two Datetime values, add to or subtract from a Datetime value,
and convert a Datetime value to a string value.
The Datetime package includes the following actions:

Action Description

Add See Using the Add action.


Assign See Using the Assign action.
Is after Compares two Datetime variables and verifies if
the value of the source variable is after the value
available in the comparison variable, and stores
the output to a Boolean variable.
• Select the source variable from the Source
date and time variable list, and select the
variable you want to compare with from the
Date and time variable to be compared to
list.
• Select the Datetime variable from the Assign
the output to a variable list to specify the
variable you want to use to assign the
output.
For example, if the value in the source
variable is after the value in the comparison
variable, the system stores 'True' as the
output in the Boolean variable. If the value
in the source variable is not after the value
in the comparison variable, the system
stores 'False' as the output in the Boolean
variable.

© 2020 Automation Anywhere. All rights reserved.     220


    Automation Anywhere - Build

Action Description

Is before Compares two Datetime variables and verifies if


the value of source variable is before the value
available in the comparison variable, and stores
the output to a Boolean variable.
• Select the source variable from the Source
date and time variable list, and select the
variable you want to compare with from the
Date and time variable to be compared to
list.
• Select the Datetime variable from the Assign
the output to a variable list to specify the
variable you want to use to assign the
output.
For example, if the value in the source
variable is before the value in the
comparison variable, the system stores
'True' as the output in the Boolean
variable. If the value in the source variable
is not before the value in the comparison
variable, the system stores 'False' as the
output in the Boolean variable.

Is equal Compares two Datetime variables and verifies if


the value of the source variable is equal to the
value available in the comparison variable, and
stores the output to a Boolean variable.
• Select the source variable from the Source
date and time variable list, and select the
variable you want to compare with from the
Date and time variable to be compared to
list.
• Select the Datetime variable from the Assign
the output to a variable list to specify the
variable you want to use to assign the
output.
For example, if the value in the source
variable is equal to the value in the
comparison variable, the system stores
'True' as the output in the Boolean
variable. If the value in the source variable
is not equal to the value in the comparison
variable, the system stores 'False' as the
output in the Boolean variable.

Subtract See Using the Subtract action.


To string See Using the To string action.

© 2020 Automation Anywhere. All rights reserved.     221


    Automation Anywhere - Build

Using the Add action


Use the Add action to increase the value in the Datetime variable by a specified time value and unit. For
example, you can use this action to increase the Datetime variable value by three hours or by three days.

To add a value to a Datetime variable, do the following:


1. Double-click or drag the Add action from the Datetime node in the Actions palette.
2. Select an option from the Source date and time variable list to specify the variable that contains the
value to which you want to add the time unit.
3. Enter the value you want to add in the Time value to add field.
4. Select an option from the Time unit to add list to specify the time unit you want to add.
Choose from the following time unit options:
• Milliseconds
• Seconds
• Minutes
• Hours
• Days
• Weeks
• Months
• Years

5. Select the Datetime variable from the Assign the output to a variable list to specify the variable to
which you want to assign the output.
6. Click Apply.

To see the output value, convert the value in the Datetime variable to a String variable, then print the
value with the Message Box action. For more information, see Using the To string action and Using the
Message box action.

Using the Assign action


Use the Assign action to assign one or more String variables, a user-entered value, or an existing
Datetime variable into a Datetime variable.
To assign values to a Datetime variable, do the following:
1. Double-click or drag the To string action from the Datetime node in the Actions palette.
2. Select either the Enter the date time or Variable option.
• If you have selected the Enter the date time option, do the following:
a. Enter the date time values or select a String variable.

Note: To enter multiple variables, separate them with single quotation marks. For example,
to input the variables date1 and time1, enter 'date1''time1'.

b. Select the date time format.


Choose from the prebuilt formats or provide a custom format. For more information about
the prebuilt formats, see Date time formats.

• If you have selected the Variable option, select a variable from the Source date time variable list.

3. Select the variable to use to store the output from the Destination Datetime variable list.
4. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     222


    Automation Anywhere - Build

Using the Subtract action


Use the Subtract action to decrease the value in the Datetime variable by a specified time value and unit.
For example, you can use this action to decrease the Datetime variable value by three hours or by three
days.
To subtract a value from a Datetime variable, do the following:
1. Double-click or drag the Subtract action from the Datetime node in the Actions palette.
2. Select an option from the Source date and time variable list to specify the variable that contains the
value from which you want to subtract the time unit.
3. Enter the value you want to subtract in the Time value to add field.
4. Select an option from the Time unit to add list to specify the time unit you want to subtract.
Choose from the following time unit options:
• Milliseconds
• Seconds
• Minutes
• Hours
• Days
• Weeks
• Months
• Years

5. Select the Datetime variable from the Assign the output to a variable list to specify the variable to
which you want to assign the output.
6. Click Apply.

To see the output value, convert the value in the Datetime variable to a String variable, then print the
value with the Message Box action. For more information, see Using the To string action and Using the
Message box action.

Using the To string action


Use the To string action to convert a datetime value to a string value. This action enables you to select a
predefined format or specify a custom format for the output value.
You can select a predefined format for datetime or provide a custom format based on your
requirements. See Date time formats.
To convert a datetime value to string, do the following:
1. Double-click or drag the To string action from the Datetime node in the Actions palette.
2. Select an option from the Source date and time variable list to specify the variable that contains the
datetime value that you want to convert to a string value.
3. Select an option from the Formats list to specify the predefined format in which you want to store
the string value.
4. Select the Custom format to specify a custom format based on your requirement.
5. Select the string variable that you want to use to store the converted value from the Assign the
output to a variable list.
6. Click Apply.

Date time formats


Automation Anywhere Enterprise provides various predefined formats and also allows you to specify a
custom format when you convert a datetime value to a string value.

© 2020 Automation Anywhere. All rights reserved.     223


    Automation Anywhere - Build

The To string action enables you to convert a datetime value to a string value. This action also enables
you to select a predefined datetime format or specify a custom format.

Predefined datetime format

When you convert a datetime value to a string value, the predefined datetime formats are available in the
Formats list. The following predefined datetime formats are available:
• BASIC_ISO_DATE: Converts the datetime value to a yyyymmdd string value.
• ISO_LOCAL_DATE: Converts the datetime value to a yyyy-mm-dd string value.
• ISO_OFFSET_DATE: Converts the datetime value to a yyyy-mm-dd+offset value string value. The
offset value indicates the difference between the local time and UTC in hours and minutes.
• ISO_DATE: Converts the datetime value to a yyyy-mm-dd+offset value or yyyy-mm-dd string
value. The system adds an offset value if it is available.
• ISO_LOCAL_TIME: Converts the datetime value to a hh-mm-ss string value.
• ISO_OFFSET_TIME: Converts the datetime value to a hh-mm-ss+offset value string value. The
offset value indicates the difference between the local time and UTC in hours and minutes.
• ISO_TIME: Converts the datetime value to a hh:mm, hh:mm:ss, or hh:mm:ss+offset value string
value. The offset value indicates the difference between the local time and UTC in hours and minutes.
• ISO_LOCAL_DATE_TIME: Converts the datetime value to a yyyy-mm-ddThh:mm:ss string value.
• ISO_OFFSET_DATE_TIME: Converts the datetime value to a yyyy-mm-ddThh:mm:ss+offset
value string value. The offset value indicates the difference between the local time and UTC in
hours and minutes.
• ISO_ZONED_DATE_TIME: Converts the datetime value to a yyyy-mm-ddThh:mm:ss+offset
value[zone id] string value. The offset value indicates the difference between the local time and
UTC in hours and minutes. The 'zone id' in the format represents the time zone.
• ISO_DATE_TIME: Converts the datetime value to a yyyy-mm-ddThh:mm:ss, yyyy-mm-
ddThh:mm:ss+offset value, or yyyy-mm-ddThh:mm:ss+offset value[zone id] string
value.
• ISO_ORIGINAL_DATE: Converts the datetime value to a yyyy-[day of the year] string value. For
example, if the datetime value is 'January 25, 2018', it is formatted as '2018-25' where '25' indicates the
day of the year.
• ISO_WEEK_DATE: Converts the datetime value to a yyyy-[week of the year]-[day of the
week] string value. For example, if the datetime value is 'January 25, 2018', it is formatted as '2018-
W4-4' where 'W4' indicates that it is the fourth week of the year and '4' indicates the day of that week.
• ISO_INSTANT: Converts the datetime value to a yyyy-mm-ddThh:mm:ss+offset valueZ string
value.
• RFC_1123_DATE_TIME: Converts the datetime value to a [day of the week], [day of the
month] [month in 'MMM' format] [year in 'YYYY' format] hh:mm:ss [offset
id] string value. For example, if the datetime value is '2018-01-25 10:15', it is formatted as 'Thu, 25
December 2018 10:15:00GMT'. The 'GMT' indicates that there is no offset available.

Custom datetime format

Automation Anywhere Enterprise offers predefined conventions that you can use to specify a custom
datetime format. The following conventions are available:
• 'y': Enables you to specify a year as 'yy' or 'yyyy'.
• 'M': Enables you to specify a month as 'MM'.
• 'd': Enables you to specify a day as 'dd'.
• 'h' or 'H': Enables you to specify an hour as 'hh' or 'HH'.
• 'm': Enables you to specify a minute in an hour as 'mm'.

© 2020 Automation Anywhere. All rights reserved.     224


    Automation Anywhere - Build

• 's': Enables you to specify a second in a minute as 'ss'.


• 'S': Enables you to specify a millisecond as 'SSS'.
• 'z': Enables you to specify a time zone such as 'Pacific Standard Time', 'Indian Standard Time', and so
on.
• 'Z': Enables you to specify an offset time for a time zone such as '+0550' for 'Indian Standard Time'.

You can use the above convention to specify the custom format you want to use for converting a
datetime value. Below are some of the examples that use the above convention:

Format Sample output


yyyy-MM-dd 2018-12-25
dd-MM-yyyy 25-12-2018
yyyy-MM-dd HH:mm:ss 2018-25-12 23:50:55
hh:mm:ss.SSS 22:15:35.889
yyyy-MM-dd HH:mm:ss.SSS 2018-25-12 23:50:55.999
yyyy-MM-dd HH:mm:ss.SSS Z 2018-25-12 23:50:55.999 +0530

Delay package
Use the Delay package to add a timed delay to the logic.

Action in the Delay package

The Delay package includes the following action:

Action Description

Delay Adds a timed delay.


• Specify delay for a specific period of time or a randomized period of
time.
• Select the time unit in seconds or miliseconds.
• Use random delay when bots run simutaneously on several machines.
• Use random delay to reduce the amount of requests made to a
database or the FTP server.

Video: Using the Delay actions

© 2020 Automation Anywhere. All rights reserved.     225


    Automation Anywhere - Build

Dictionary package
The Dictionary package contains actions that enable you to do various operations on dictionary-type
values.

Dictionary data type

A dictionary is a collection of key-value pairs, in which each key has a value. It is similar to an entry in a
dictionary where each word has a corresponding definition or explanation. The key is similar to the word
and the definition or explanation is similar to its value. The properties of dictionary entries are as follows:
• Keys are unique within each dictionary variable. If you try to duplicate a key, you will overwrite its
value.
• Key names cannot be changed.
• Keys are case-sensitive and cannot contain a dollar sign ($).
• Keys do not have leading or trailing whitespaces.

Each key-value pair in a dictionary is separated by a colon. The key-value pairs are separated from each
other by commas. An example of a dictionary is as follows:

invoice = {'CustomerID': 9876, 'Location': 'XYZ', 'Amount': 12,34,567}

In the example, 'CustomerID', 'Location', and 'Amount' are keys and the corresponding value assigned to
each key is separated by a colon.

Working with variables of dictionary data type

A dictionary variable can hold values of boolean, number, or string data subtype. When initializing a
dictionary variable, you can select the Any data subtype in order to hold any of the three data subtypes.
You can manually enter values by creating a new variable or selecting an existing one from the Variables
menu, and then clicking Add.
Use a dictionary variable to hold email or PDF properties.

Actions in the Dictionary package

The following actions are available:


Action Description

Assign Assigns the value of the source dictionary to the destination dictionary
variable.
Select the source dictionary variable from the drop-down list. Select a
variable or create one to hold the output.

Get Verifies if a key exists in a dictionary variable and returns the


corresponding value.
• Select the dictionary variable from the drop-down list.
• Enter the key name.
• Select a variable or create one to hold the output.

© 2020 Automation Anywhere. All rights reserved.     226


    Automation Anywhere - Build

Action Description

Put Assigns a value to a key in the dictionary. If the key is already associated
with a value, that value is reassigned to a variable.
• Select the dictionary variable from the drop-down list.
• Enter the key name.
• Select the new value to associate with the key.
• Select the variable to hold the previous value.

Remove Removes a value from the specified key. The removed value is assigned
to a variable selected from the Assign removed item to variable list.
• Select the dictionary variable from the drop-down list.
• Enter the key name.
• Select the variable to hold the removed value.

Size Retrieves the number of entries in the dictionary specified in the


Dictionary variable field and assigns the output to a number variable
selected from the Assign the output to variable list.

DLL package
A dynamic-link library (DLL) file contains a shared library of functions that can be used by Windows
programs. The DLL package uses a .dll file as reference and call functions from the bot.

Before you start

Perform the following actions within the DLL package as part of using the set of available actions:
1. Use the Open action to specify the location of the .dll file you want to use and session name. Use
this same session name for the other actions. The .dll referenced is automatically added as a bot
dependency.
2. Use the Run function action to run a function from the .dll and save its output value as a variable.
3. After running the required functions, close the .dll reference. It is important to close the .dll
reference to free the memory of the operating system.

Note: Windows and appropriate versions of Microsoft .NET Framework are available on the devices
running the DLLs.

Note: There might be instances where a DLL refers another DLL. In such cases, you must upload the
another DLL to the Cloud Control Room and add it as bot dependency manually. The bot encounters an
if the supporting DLL is not added as a bot dependency.

Actions in the DLL package

The DLL package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     227


    Automation Anywhere - Build

Action Description

Close Closes the current session. In the Session name field, enter the name of
the session.
Open Opens the reference file.
• In the Session name field, enter the name of the session.
• In the File path field, specify the location of the path.

Note: The DLL package supports only DLLs written in C#.

Run function See Using Run function action.

Using Run function action


Use the Run function action to run a function within the .dll file and specify the parameters to pass a
function and store the output as a variable.
Use a dictionary variable to pass the parameters to a function. The dictionary key contains the parameter
name to pass to a function.
Follow these steps to run a function:
1. In the Actions palette, double-click or drag the Run function action from the DLL package.
2. In the Session name field, enter the name of the session.
3. In the Enter the namespace field, specify the namespace.
You can specify any of the namespaces defined in the DLL file.

Note: Ensure that the value you have provided in the field is correct.

Important: This field is case-sensitive.

4. In the Enter the class name field, specify the name of the class.
You can specify the name of any classes available in the namespace.

Important: This field is case-sensitive.

5. In the Enter the name of function to be executed field, specify the name of the function to execute.
Ensure that the name you have provided is correct and available in the class specified in the previous
step.

Important: This field is case-sensitive.

6. Optional: In the Parameters to the function list, select the dictionary variable that contains all the
parameters needed by the function.

Note: Use the dictionary subtype Any to enable the bot to pass parameters of different data types to
the function including boolean, numeric, and string.

Use name of the parameter as a dictionary key and its value as a dictionary value. For example,
you have a function ReturnSum that returns sum of two numeric values and want to pass Param1
and Param2 as its parameters. In the dictionary variable, you must specify Param1 and Param2 as
dictionary key and their values as the dictionary values.
7. Optional: In the Assign output to variable list, select a variable to use to store the output of the
function.

© 2020 Automation Anywhere. All rights reserved.     228


    Automation Anywhere - Build

You can use dictionary, string, numeric, boolean, or datetime variable types to store the output
based on the type of output the function returns.
8. Click Apply.
9. Click Save.

Email package
The Email package contains actions to automate email-related tasks through Exchange Web Services
(EWS), Microsoft Outlook, and other email servers. You can use these actions for sending, receiving, and
modifying messages, folders, and the status of messages.
The Email package supports EWS, POP3, SMTP, and IMAP protocols and enables you to perform the
following tasks:
• Manage and organize email messages and folders.
• Download attachments from emails to specific folders on devices.
• Extract data from emails to variables, to use as extracted data in other applications. For example, you
can extract data from a sender's email and store it in a Microsoft Excel spreadsheet.

Note: If you want to automate an email-related task on a device using Microsoft Outlook, ensure that
the Outlook application is open.

Before you start

Perform the following actions within the Email package as part of using the set of available actions:
1. Establish a connection with an email server using the Connect action.
Establish a connection unless you use the Forward, Reply, and Send actions. While establishing the
connection, specify the details and session name of the email server. Use this same session name for
the other actions.
2. Use the actions to automate a task.
3. After you have automated all the email-related tasks, terminate the connection to the mail server
using the Disconnect action.

Important: You must enable POP settings to automate an email-related task on the Gmail server using
the POP3 protocol.
See Read Gmail messages using POP.

Actions in the Email package

Note: Some of the actions must be used within a Loop action. See Using Email action in loop.

The Email package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     229


    Automation Anywhere - Build

Action Description

Change status Changes the statuses of emails to read or unread. Use this action within a
Loop action.
• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• Select the Read or Unread option to change the status of the email.

Check if folder exists Checks whether a folder with the name you specified exists in the email
server.
• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• In the Folder name field, enter the name of the folder you want to
check.

Note: This field is not case sensitive.


• In the Select the destination boolean variable list, select a Boolean
variable to store the output of the existing folder. The output is either
True (file exists) or False (does not exist).

Connect See Using the Connect action .


Delete Deletes the most recent email from the inbox. Use this action within a
Loop action. In the Session name field, enter the name of the session you
used to connect to the email server in the Connect action.
Delete all Deletes read, unread, or all emails from the mail server.
• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• Select the All, Read, or Unread option to specify the type of email you
want to delete.

Note: For an email server using the POP3 protocol, this action deletes
all the email messages.

Disconnect Terminates the connection established with the email server. In the
Session name field, enter the name of the session you used to connect
to the email server in the Connect action.
Forward See Using the Forward action.

© 2020 Automation Anywhere. All rights reserved.     230


    Automation Anywhere - Build

Action Description

Move all Moves an email from one folder to another in the email server.
• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• In the Destination folder path in mailbox field, provide the path to the
location where you want to move the email.
• Select which emails to move: All, Read, or Unread.
• In the From a specific folder field, specify the folder from which to
move the emails. For example, Inbox/project1.

Note: For an email server using the POP3 protocol, you can retrieve
only from the Inbox.
• Optional: Specify any of the following conditions:
• When subject contains: Enter keywords separated with a semi-
colon.
• From specific senders: Enter senders' email addresses separated
with a semi-colon.
• When received date is on or after or When received date is before:
Select a datetime variable from the list.

Reply See Using Reply action.


Save all attachments Saves attachments from all emails on the email server to a specified
folder.

Note: If connected to an Outlook server, images embedded in the


emails are downloaded along with attachments.

• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• Select which emails to save: All, Read, or Unread.
• In the Save attachments to folder field, specify the location to save the
attachments.

Note: This field is not case sensitive.


• Overwrite file(s): select this option to overwrite an existing file with the
same name. If this option is not selected, the downloaded attachment
is saved with the same filename suffixed with a numeric value; it does
not overwrite the existing file.

© 2020 Automation Anywhere. All rights reserved.     231


    Automation Anywhere - Build

Action Description

Save attachments Saves attachments from one email to a specified folder. Use this action
within a Loop action.

Note: If connected to an Outlook server, images embedded in the


emails are downloaded along with attachments.

• In the Save attachments to folder field, specify the location to save the
attachments.

Note: This field is not case sensitive.


• Overwrite file(s): select this option to overwrite an existing file with the
same name. If this option is not selected, the downloaded attachment
is saved with the same filename suffixed with a numeric value; it does
not overwrite the existing file.

Save email Saves an email message as an EML file to a folder. Use this action within a
Loop action.
• In the Session name field, enter the name of the session you used to
connect to the email server in the Connect action.
• In the Save emails to folder field, specify the location to save the
email.

Note: This field is not case sensitive.


• Overwrite file(s): select this option to overwrite the existing file
with the same name. If this option is not selected, the downloaded
attachment is saved with the same filename suffixed with a numeric
value; it does not overwrite the existing file.

Send See Using the Send action.

Related reference
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
Variables and credentials
Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).

Using the Connect action


Use the Connect action to establish a connection with an email server. This is the first action you must
use to automate an email-related task.
This action enables you to specify the details and session name of the email server. Use this same session
name for the other actions.
To establish a connection with an email server, follow these steps:
1. In the Actions palette, double-click or drag the Connect action from the Email package.
2. In the Session name field, enter the name of the session you used to connect to the email server in
the Connect action.

© 2020 Automation Anywhere. All rights reserved.     232


    Automation Anywhere - Build

3. In the Outlook,Email server, or EWS option, specify whether you want to establish a connection with
Microsoft Outlook or a mail server.
• If you have selected the Outlook option, you do not need to provide any additional details.
• If you have selected the Email server option, complete the following fields:

Note: For information about the host and port to be used for the various mail servers, see
Configuring email server.

• Host: Enter the name of the mail server you want to connect.

Note: This field is not case sensitive.


• Port: Enter the port you want to use to establish the connection.
• Username: Enter the username you want to use to access the mail server.
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the password as a Credential or String.
• Use secure connection (SSL/TLS): Select this option if you want to use a secure connection
with the mail server.
• Protocol: Select the IMAP or POP3 option to specify the protocol used for the mail server.

• If you have selected the EWS option, complete the following fields:
• Username: Enter the username you want to use to access the mail server.
For example, [email protected]
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the username as a Credential or String.
• Optional: Domain name:
• If you are an Office 365 customer and leave this field blank, Automation Anywhere
Enterprise uses smtp.office365.com to connect to the server.
• If you are an Office 365 customer and have entered a domain name in the username field,
you must enter smtp.office365.com into this field.
• If you are not an Office 365 customer, enter your company domain name. Otherwise
Automation Anywhere Enterprise uses the domain name you provided in the Username
field.

• Exchange Version: Select the version your organization is using.

4. Click Apply.
5. Click Save.

Configuring email server


The details regarding the mail server you provide when establishing a connection varies based on the
email server you are connecting to.
The following table provides information about the host name and the port you must use when
establishing a connection to the specified mail server:

Server For reading or fetching emails For sending emails

© 2020 Automation Anywhere. All rights reserved.     233


    Automation Anywhere - Build

Microsoft Outlook/Microsoft Host: outlook.office365.com Host: outlook.office365.com,


Office 365
Port: 993 Port: 993
Host:smtp.office365.com
Port: 587

Gmail Host: imap.gmail.com Host: smtp.gmail.com


Port: 993 Port: 587

Yahoo Host: imap.mail.yahoo.com Host: smtp.mail.yahoo.com


Port: 993 Port: 465 or 587

MSN Host: imap-mail.outlook.com Host: smtp-mail.outlook.com


Port: 993 Port: 465 or 587
For POP3:
Host: pop-mail.outlook.com
Port: 993

Additional configuration for Gmail and Yahoo

If you are using a Gmail or Yahoo account to automate an email-related task, ensure that the option to
allow access for less secured apps is enabled. This is required to enable a TaskBot to send email using a
Gmail or Yahoo account.
To enable access for less secure apps:
1. Log in to your Gmail or Yahoo account.
2. Go to account settings.
3. Enable the option to allow less secure apps.

Using the Forward action


Use the Forward action to forward emails and attachments to one or more recipients. To forward emails
as plain text or HTML through Exchange Web Services (EWS), Microsoft Outlook, or other email servers,
use this action within a Loop action.
To forward emails, follow these steps:
1. In the Actions palette, double-click or drag the Forward action from the Email package.
2. In the To address field and the optional Cc and Bcc fields, enter the email addresses of the
recipients.

Note: The To address, Cc, and Bcc fields are not case sensitive.

3. Optional: In Attachment, select the attachment from a location:


• Control Room file: Enables you to select an attachment that is available in a folder.
• Desktop profile: Enables you to select an attachment that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the attachment.

4. Select the Validate if attachment is missing check box to verify that the attached file exists.

© 2020 Automation Anywhere. All rights reserved.     234


    Automation Anywhere - Build

If the file does not exist (for example, if it was moved or deleted), the email is not sent and an error
message appears.
5. In the Plain text or HTML options, select the format that you want to forward emails.
6. Optional: Enter the content you want to send along with the email in the Message field.
The email will be appended to the message you have specified.
7. Optional: Select the Include Go Green message at the end of the email check box.
The Go Green message appends the following text to the bottom of the email body: Please
consider the environment before printing. Let's Go Green!
8. Select the Email server, EWS or Outlook option from the Send email via list to specify whether to
send the emails using Microsoft Outlook or a mail server.
• If you have selected the Outlook option, you do not need to provide any additional details.
• If you have selected the Email server option, complete the following fields:

Note: For information about the host and port to be used for the various mail servers, see
Configuring email server.

• Email server host: Enter the host you want to connect.

Note: If you use the host Outlook.office365.com, there is a limit of 30 messages sent per
minute and 10,000 recipients per day.
• Email server port: Enter the port you want to use to establish the connection.
• Use secure connection (SSL/TLS): Select this option if you want to use a secure connection
with the mail server.
• My server requires authentication: Select this option if the server requires credentials for
access.
• Username: Enter the username you want to use to access the mail server.
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the password as a Credential or String.

• If you have selected the EWS option, complete the following fields:
• Username: Enter the username you want to use to access the mail server.
For example, [email protected]
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the username as a Credential or String.
• Optional: Domain name:
• If you are an Office 365 customer and leave this field blank, Automation Anywhere
Enterprise uses smtp.office365.com to connect to the server.
• If you are an Office 365 customer and have entered a domain name in the username field,
you must enter smtp.office365.com into this field.
• If you are not an Office 365 customer, enter your company domain name. Otherwise
Automation Anywhere Enterprise uses the domain name you provided in the Username
field.

• Exchange Version: Select the version your organization is using.

9. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     235


    Automation Anywhere - Build

10. Click Save.

Using Reply action


Use the Reply action to send a response to an email with the same subject. To send a reply to emails as
plain text or HTML through Exchange Web Services (EWS), Microsoft Outlook, or other email servers, use
this action within a Loop action. This action does not include any files attached to the original email.
Follow these to reply to an email:
1. In the Actions palette, double-click or drag the Reply action from the Email package.
2. In the Cc and Bcc fields, enter the email address of additional recipients.

Note: The Cc and Bcc fields are not case sensitive.

3. Optional: In Attachment, select the attachment from a location:


• Control Room file: Enables you to select an attachment that is available in a folder.
• Desktop profile: Enables you to select an attachment that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the attachment.

4. Select the Validate if attachment is missing check box to verify that the attached file exists.
If the file does not exist (for example, if it was moved or deleted), the email is not sent and an error
message appears.
5. In the Plain text or HTML options, select the format that you want to forward emails.
6. Optional: Enter the content you want to send along with the email in the Message field.
The email will be appended to the message you have specified.
7. Optional: Select the Include Go Green message at the end of the email check box.
The Go Green message appends the following text to the bottom of the email body: Please
consider the environment before printing. Let's Go Green!
8. Select the Email server, EWS or Outlook option from the Send email via list to specify whether to
send the emails using Microsoft Outlook or a mail server.
• If you have selected the Outlook option, you do not need to provide any additional details.
• If you have selected the Email server option, complete the following fields:

Note: For information about the host and port to be used for the various mail servers, see
Configuring email server.

• Email server host: Enter the host you want to connect.

Note: If you use the host Outlook.office365.com, there is a limit of 30 messages sent per
minute and 10,000 recipients per day.
• Email server port: Enter the port you want to use to establish the connection.
• Use secure connection (SSL/TLS): Select this option if you want to use a secure connection
with the mail server.
• My server requires authentication: Select this option if the server requires credentials for
access.
• Username: Enter the username you want to use to access the mail server.
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the password as a Credential or String.

© 2020 Automation Anywhere. All rights reserved.     236


    Automation Anywhere - Build

• If you have selected the EWS option, complete the following fields:
• Username: Enter the username you want to use to access the mail server.
For example, [email protected]
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the username as a Credential or String.
• Optional: Domain name:
• If you are an Office 365 customer and leave this field blank, Automation Anywhere
Enterprise uses smtp.office365.com to connect to the server.
• If you are an Office 365 customer and have entered a domain name in the username field,
you must enter smtp.office365.com into this field.
• If you are not an Office 365 customer, enter your company domain name. Otherwise
Automation Anywhere Enterprise uses the domain name you provided in the Username
field.

• Exchange Version: Select the version your organization is using.

9. Click Apply.
10. Click Save.

Using the Send action


Use the Send action to send an email. This action enables you to send an email to one or more
recipients from Microsoft Outlook or a mail server, attach files, and select to send the email in plain text
or HTML format.
The Send action enables you to attach multiple files of various formats to an email. There is no restriction
on the type of file you can attach or its size. However, restrictions implemented by the mail server you
are using to send an email apply. For example, a task will fail if the files you have attached to the email
you are sending do not adhere to the restrictions applied by the mail server.
To send an email from a Gmail or Yahoo account, enable access to a less secure app for that account.
See Configuring email server.
1. In the Actions palette, double-click or drag the Send action from the Email package.
2. In the To address field and the optional Cc and Bcc fields, enter the email addresses of the
recipients.

Note: The To address, Cc, and Bcc fields are not case sensitive.

3. In the Subject field, enter the subject for the email.


4. Optional: In Attachment, select the attachment from a location:
• Control Room file: Enables you to select an attachment that is available in a folder.
• Desktop profile: Enables you to select an attachment that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the attachment.

5. Optional: Select the Validate if attachment is missing check box to verify that the attached file exists.
If the file does not exist (for example, if it was moved or deleted), the email is not sent and an error
message appears.
6. In the Plain text or HTML options, select the format that you want to forward emails.
7. Optional: Enter the content you want to send along with the email in the Message field.
The email will be appended to the message you have specified.

© 2020 Automation Anywhere. All rights reserved.     237


    Automation Anywhere - Build

8. Optional: Select the Include Go Green message at the end of the email check box.
The Go Green message appends the following text to the bottom of the email body: Please
consider the environment before printing. Let's Go Green!
9. Select the Email server, EWS or Outlook option from the Send email via list to specify whether to
send the emails using Microsoft Outlook or a mail server.
• If you have selected the Outlook option, you do not need to provide any additional details.
• If you have selected the Email server option, complete the following fields:

Note: For information about the host and port to be used for the various mail servers, see
Configuring email server.

• Email server host: Enter the host you want to connect.

Note: If you use the host Outlook.office365.com, there is a limit of 30 messages sent per
minute and 10,000 recipients per day.
• Email server port: Enter the port you want to use to establish the connection.
• Use secure connection (SSL/TLS): Select this option if you want to use a secure connection
with the mail server.
• My server requires authentication: Select this option if the server requires credentials for
access.
• Username: Enter the username you want to use to access the mail server.
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the password as a Credential or String.

• If you have selected the EWS option, complete the following fields:
• Username: Enter the username you want to use to access the mail server.
For example, [email protected]
Choose the username as a Credential or String.
• Password: Enter the password for the username you have provided.
Choose the username as a Credential or String.
• Optional: Domain name:
• If you are an Office 365 customer and leave this field blank, Automation Anywhere
Enterprise uses smtp.office365.com to connect to the server.
• If you are an Office 365 customer and have entered a domain name in the username field,
you must enter smtp.office365.com into this field.
• If you are not an Office 365 customer, enter your company domain name. Otherwise
Automation Anywhere Enterprise uses the domain name you provided in the Username
field.

• Exchange Version: Select the version your organization is using.

10. Click Apply.


11. Click Save.

© 2020 Automation Anywhere. All rights reserved.     238


    Automation Anywhere - Build

Using Email action in loop


You must use certain Email actions within a Loop action.
To use an Email action within a loop, follow these steps:
1. Double-click or drag the Loop action from the Loop package in the Actions palette.
2. Select the For each mail in mail box option from the Iterator list.
3. In the Session name field, enter the name of the session you used to connect to the email server in
the Connect action.
4. In the ALL, READ, or UNREAD options, specify the type of email to retrieve from the email server.

Note: For an email server that uses the POP3 protocol, all emails are retrieved.

5. Specify the folder from which you want to retrieve the emails.
• Microsoft Outlook and Yahoo: You can specify the name of the folder.
For example, Inbox, Sent, Inbox/Sales, Inbox/IT and so on. The Sales and IT folders in
this example are user-created folders and not available by default.
• Gmail: To retrieve emails from the default folders, you must use [Gmail]/FOLDERNAME, except
for the Inbox folder.
For example, [Gmail]/Draft, [Gmail]/Important, [Gmail]/Trash, and so on. To retrieve
email from the folders you have created and the Inbox folder, you must specify the folder names
as they are. For example, if you have created folders called Bank and Sports in your Gmail,
specify Bank and Sports without the [Gmail] prefix to retrieve emails from these folders.

6. In the When subject contains field, specify a value to retrieve emails containing the value you
specified in their subject.
7. In the From specific senders field, specify the email addresses to retrieve the emails.
8. In the When received date is on or after list, select an option to retrieve specific emails on or after a
certain date.
9. In the When received date is on or before list, select an option to retrieve specific emails on or
before a certain date.
10. In the Assign the current value to variable list, select or create a dictionary variable.
The dictionary variable stores the properties of each email. See Using dictionary variable for email
properties.
11. Click Apply.

Insert a Message Box action into the Loop container to print the subject of each email. Use the
following message body, substituting the generic variable name for the one you use in step 10.
$dictionaryVar{emailSubject}$

Using dictionary variable for email properties


When you automate an email-related task, Automation Anywhere Enterprise retrieves various properties
of an email and stores the values of these properties in a dictionary variable. These properties are stored
in a dictionary variable when you use an email action within a loop action.
Some of the email properties that Automation Anywhere Enterprise retrieves are its subject, recipients,
senders, message, and received date and time. The email properties are stored in a dictionary variable
within the following dictionary keys:
• emailSubject
• emailFrom

© 2020 Automation Anywhere. All rights reserved.     239


    Automation Anywhere - Build

• emailTo
• emailCc
• emailBcc
• emailMessage
• emailReceivedTime
• emailReceivedDate

The system automatically associates the properties of an email with the appropriate dictionary keys. You
can use the values stored in these dictionary keys in another task, store them in a database, or for any
other purpose. These keys are available in the system and you must use them as specified above. For
example, if you have created a dictionary variable 'Test' and want to display the subject and sender of
an email in a message prompt, you must enter Test{emailSubject} and Test{emailFrom} in the
appropriate fields.
If you press F2 to use a variable in a field, you must select Test from the Choose a variable list and enter
emailSubject in the Dictionary key field in the Insert a variable dialog box to store the subject of an
email in that field. Similarly, you can enter emailFrom in the Dictionary key field to use the email address
of the sender of an email in a field.
The dictionary key variable is required for all email-related tasks you automate from Microsoft Outlook
and any mail server if you want to use the email properties. You can use the dictionary key variable for
the following Email actions:
• Change status
• Delete
• Forward
• Reply
• Save attachments
• Save email

Note: The time required to save an email varies based on the size of the attachments available in that
email.

Error handler package


The Error handler package contains actions that enable you to easily handle exceptions that a bot
encounters and transfers control to the other actions within that bot.
The Error handler actions enable you to separate the actions that you want to use to perform a task or
to handle an exception. Handling exceptions ensures that a bot completes a task when it encounters an
error.

Actions in the Error handler package

The Error handler package includes the following actions:

Action Description

Try Enables you to specify the actions that might encounter an error and
must be monitored for any exceptions. Add all the actions that you want
to use to automate a task within this action. When any of these actions
encounter an error, the system passes the control to the Catch action.

© 2020 Automation Anywhere. All rights reserved.     240


    Automation Anywhere - Build

Action Description

Catch Enables you to specify actions that you want to run when any of the
actions added in the Try action encounters an error. You can use this
action more than once in a bot to handle various exceptions. This
enables you to run a different set of actions based on the exception
encountered.
Finally Enables you to specify the actions that you want to run without regard to
whether an exception is encountered or not.
Throw Enables you to throw an exception and display a custom message when
the bot encounters an error. Specify the message you want to display in
the Please enter exception message field.

Example

You have created a bot to read data from a Microsoft Excel file and store it in a database. The bot might
encounter an error if the required file is not available or while updating a table in the database. You want
to handle the following exceptions that the bot might encounter:
• Exception 1:
• The Microsoft Excel spreadsheet from which you want to extract data is not available.
• How to handle: Use another file that contains the same data.

• Exception 2:
• The table that you want to use to store the data is not available in the database.
• How to handle: Display a message that the required table is not available.

Regardless of whether the bot encounters an error or not, you must terminate the connection you have
established with the database.
Based on the above example, perform the following to handle the mentioned exceptions:
1. Add all the actions that are required for reading the data from the Microsoft Excel spreadsheet and
storing the extracted data into a table in the database within the Try action.
2. Add the actions that you want to run for the following exceptions within the Catch action:
a. For Exception 1: Add the actions to use the alternate file that contains the same data.
b. For Exception 2: Add the Message box action to display a relevant message.

3. Add the required action to terminate the connection with the database within the Finally action.

Video: Using Error Handling

Excel basic package


The Excel basic package contains actions that enable you to automate many of the repetitive tasks in
XLSX workbooks. You use these actions when Microsoft Excel is not available on the device that you
want to use to automate Microsoft Excel-related tasks.

© 2020 Automation Anywhere. All rights reserved.     241


    Automation Anywhere - Build

Note: This package supports files up to 7 MB in size. The XLS and CSV formats are not supported and
you cannot set a value in the XFD column of a spreadsheet.

Choosing the Excel package in Enterprise A2019

Enterprise A2019 includes packages to support three types of Microsoft Excel usage. For optimal results,
use the package that corresponds to the type of Excel that is available on the device you are running bots
on.
• No Excel installed: If you do not have Microsoft Excel installed on the device on which you are
running bots to automate Excel-related processes, use the Excel basic package.
• Desktop Excel installed: If you have a desktop version of Microsoft Excel installed on your computer,
use the Excel advanced package in your bots.
• Online Office 365 Excel only: If you are using Microsoft Excel 365 on a web browser, use the Office
365 Excel package for automating tasks related to Excel.

Before you start

Perform the following actions within the Excel basic package as part of using the set of available actions:
1. Open the Microsoft Excel spreadsheet that you want to read data from using the Open action.
You must associate the details of the file you want to use with a session name, and use the session
name in the other actions in the Excel basic package, so that you do not have to provide the details
of the file in those actions again. See Using Open action.
2. Use the different actions available in the Excel basic package to automate the Microsoft Excel-related
tasks.
3. After you have automated all the Microsoft Excel-related tasks, close the spreadsheet using the Close
action.

Actions in the Excel basic package

The Excel basic package includes the following actions:

Action Description

Switch to sheet Switches to another sheet in a Microsoft Excel file.


• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Sheet by Index (numerical value) or Sheet by Name option
to specify how to activate the sheet.

Close Closes the current workbook and provides an option to Save changes
when closing the file. Enter the name of the session used to open the
current workbook with the Open action.

Note: This action terminates the process for the session.

© 2020 Automation Anywhere. All rights reserved.     242


    Automation Anywhere - Build

Action Description

Delete cell Deletes the Active cell or a Specific cell from the current worksheet or a
CSV file.
• Select the Shift cells left or Shift cells up option to specify whether to
shift the cell one position to the left or up after the cell is deleted.
• Select the Entire row or Entire column option to specify whether to
delete the entire row or column of the cell.

Find See Using Find action.


Get multiple cells Retrieves the values from cells in a Microsoft Excel spreadsheet and
stores them in a table variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Multiple cells or All cells option to specify whether to
retrieve the values from a range of cells or all the cells.

Get single cell Retrieves the values from a single cell in a Microsoft Excel spreadsheet
or a CSV file and stores them in a string variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Active cell or Specific cell option to specify whether to
retrieve the values from the active cell or a specific cell.

You can use the output value to Perform an if condition based on cell
value.
Go to cell Moves the cursor to a specific cell in a Microsoft Excel spreadsheet or a
CSV file.
• Enter the name of the session used to open the current workbook
with the Open action.
• In the Active cell list, select the specific cell to which the cursor
should be moved.

Open Reads data from a Microsoft Excel spreadsheet. See Using Open action.

Note: This action does not open a Microsoft Excel spreadsheet. It only
enables a task to read data from the spreadsheet.

Replace See Using Replace action.


Save workbook Saves a Microsoft Excel spreadsheet to a specified location.
Set cell Sets the value you have specified in a cell in a Microsoft Excel
spreadsheet. Select the Active cell or Specific cell option to specify
whether to set the value in the active cell or a specific cell.

© 2020 Automation Anywhere. All rights reserved.     243


    Automation Anywhere - Build

Excel advanced package


The Excel advanced package contains actions that enable you to automate many of the repetitive tasks
when working with Microsoft Excel spreadsheets. You can automate tasks related to the workbook,
worksheet, rows, columns, and cell operations. You can use these actions when Microsoft Excel is
installed on the device that you want to use to automate the Microsoft Excel-related tasks.
Actions in the Excel advanced package support Microsoft Office 2000 through Microsoft Office 2016
and .xls, .xlsx, .xlam, .xltm, .xltx, and .xlsm formats. You can also use some of the actions with the .csv
format. See CSV operations.
See Example: Migrate data from Excel to a database.

Choosing the Excel package in Enterprise A2019

Enterprise A2019 includes packages to support three types of Microsoft Excel usage. For optimal results,
use the package that corresponds to the type of Excel that is available on the device you are running bots
on.
• No Excel installed: If you do not have Microsoft Excel installed on the device on which you are
running bots to automate Excel-related processes, use the Excel basic package.
• Desktop Excel installed: If you have a desktop version of Microsoft Excel installed on your computer,
use the Excel advanced package in your bots.
• Online Office 365 Excel only: If you are using Microsoft Excel 365 on a web browser, use the Office
365 Excel package for automating tasks related to Excel.

Before you start

Perform the following actions within the Excel advanced package as part of using the set of available
actions:
1. Open the Microsoft Excel spreadsheet that you want to use to automate the Microsoft Excel-related
tasks. Use the Open action to open the spreadsheet. See Using Open action.
2. Use the different actions available in the Excel advanced package to automate the Microsoft Excel-
related tasks.
3. After you have automated all the Microsoft Excel-related tasks, close the spreadsheet using the Close
action.

Actions in the Excel advanced package

The actions in the Excel advanced package enable you to perform the following operations:

Action Description

Cell operations Perform operations such as extracting data from cells, deleting values
from a cell, moving a cursor to a specific cell, and finding and replacing
content. See Cell operations.
Row and column Perform operations such as inserting new rows and columns, and hiding
operations and unhiding rows and columns. See Row and column operations.
Table operations Perform operations such as sorting and filtering data in a table, inserting
and deleting columns, and getting the table range. See Table operations.

© 2020 Automation Anywhere. All rights reserved.     244


    Automation Anywhere - Build

Action Description

Workbook operations Perform operations such as opening a workbook, appending data,


protecting and unprotecting a workbook, and converting a Microsoft
Excel workbook to a PDF file. See Workbook operations.
Worksheet operations Perform operations such as creating and deleting a worksheet,
appending data, and hiding and unhiding a worksheet. See Worksheet
operations.

Video: Using the Excel advanced package

Related tasks
Using Find action
Use the Find action to find a particular string in a Microsoft Excel spreadsheet or a CSV file.

Workbook operations
A workbook is a file that contains one or more worksheets. The Excel advanced package contains various
actions that you can use to automate workbook-related tasks.

Workbook actions in the Excel advanced package

The Excel advanced package includes the following actions:

Action Description

Append workbook Adds all the worksheets from the specified workbook to the end of the
currently open workbook.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the workbook from which you want to append the worksheets
in the Append from workbook field.
• If the workbook is protected, select the Password is required check
box and enter the password in the To open field.

Close Closes the current workbook and provides an option to Save changes
when closing the file.
• Enter the name of the session used to open the current workbook
with the Open action.

Convert excel to PDF Converts the entire workbook, specific worksheets in a workbook, or a
CSV file to a PDF file.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify whether you want to convert the Entire excel file, Active sheet,
or Specific sheet to a PDF file.
• Enter a name for the PDF file in the Select PDF file name field.
• Specify the location where you want to save the file in the Select PDF
storage location field.

© 2020 Automation Anywhere. All rights reserved.     245


    Automation Anywhere - Build

Action Description

Create workbook Creates a Microsoft Excel workbook or a CSV file.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the location where you want to save the workbook in the File
path field.
• Specify the name of the worksheet and passwords to open and edit
the workbook.

Open See Using Open action.


Protect workbook Protects the workbook and its structure using a password. Protecting a
workbook prevents other users from opening the workbook without the
password, and protecting the structure of a workbook prevents other
users from adding, moving, deleting, hiding, and renaming worksheets
within that workbook.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Protect workbook and Protect workbook structure check
boxes and provide a password in the respective fields.

Save workbook Saves the current workbook. Enter the name of the session used to open
the current workbook with the Open action.
Unprotect workbook Unprotects a workbook and its structure. Unprotecting a workbook
removes the restriction applied on opening the workbook, and
unprotecting the structure of a workbook removes the restriction applied
on modifying the structure of the workbook. Unprotecting allows other
users to open the workbook, add, move, delete, hide, and rename
worksheets within the workbook.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Unprotect workbook and Unprotect workbook structure
check boxes and provide a password to unprotect the workbook
structure.

Using Open action


Use the Open action to open a Microsoft Excel spreadsheet or a CSV file. This action enables you to
specify whether to open the spreadsheet in read-only mode or read-write mode, a password to open the
spreadsheet, and so on.
To open a Microsoft Excel spreadsheet, do the following:
1. Double-click or drag the Open action from the Excel node in the Actions palette.
2. Specify a name for the session in the Session name field.
3. Select from where you want to open the Microsoft Excel spreadsheet:
• From 'My bots': Enables you to open a Microsoft Excel spreadsheet from an existing bot.
• From local device: Enables you to open a Microsoft Excel spreadsheet from a local device.
• Select an existing file variable: Enables you to open a Microsoft Excel spreadsheet using a file
variable.

© 2020 Automation Anywhere. All rights reserved.     246


    Automation Anywhere - Build

4. Select the Specific sheet name option and specify the name of the sheet to activate when the
Microsoft Excel spreadsheet opens.
5. Select Read-only mode or Read-write mode to open the Microsoft Excel spreadsheet in read-only or
edit mode respectively.
6. Select the Password is required check box if a password is required to open or edit the Microsoft
Excel spreadsheet.
7. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.
• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

8. Select the Sheet contains a header check box if the Microsoft Excel spreadsheet contains a header
row.
9. Select the Load Add-ins check box if you want to load the add-ins available in the Microsoft Excel
spreadsheet.
10. Click Apply.

Worksheet operations
The Excel advanced package contains various actions that you can use to automate worksheet-related
tasks.

Worksheet actions in the Excel advanced package

The Excel advanced package includes the following actions:

Action Description

Access password Accesses a password-protected worksheet in the current workbook.


protected worksheet
• Enter the name of the session used to open the current workbook
with the Open action.
• Enter the password to access the worksheet.

Append worksheet See Using Append worksheet action.


Create worksheet Creates a worksheet in the current workbook.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify either an index number in the Sheet by Index field or a
name in the Sheet by Name field for the worksheet. The index
number is the number assigned to a worksheet. For example, if
you want to perform an operation on the worksheet at the third
position in the workbook, enter 3 in the field.

© 2020 Automation Anywhere. All rights reserved.     247


    Automation Anywhere - Build

Action Description

Delete worksheet Deletes a spreadsheet from the current workbook.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify either an index number in the Sheet by Index field or a
name in the Sheet by Name field for the worksheet. The index
number is the number assigned to a worksheet. For example, if
you want to perform an operation on the worksheet at the third
position in the workbook, enter 3 in the field.

Note: You can delete a worksheet only if the workbook contains


more than one worksheet.

Get current worksheet Gets the name of the current worksheet and assigns it to a string
name variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select a string variable that you want to use to store the name of
the worksheet from the Assign the output to variable list.

Get worksheet as data Gets data from a worksheet and saves it in a table variable.
table
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify either an index number in the Sheet by Index field or a
name in the Sheet by Name field for the worksheet. The index
number is the number assigned to a worksheet. For example, if
you want to perform an operation on the worksheet at the third
position in the workbook, enter 3 in the field.
• Select a table variable that you want to use to store the data from
the worksheet from the Assign value to the variable list.

Get worksheet names Gets the names of all the worksheets and assigns them to a list
variable of string data type.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select a string variable that you want to use to store the name of
the worksheet from the Assign the output to variable list.

Hide worksheet Hides a worksheet from the current workbook.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the name of the worksheet to hide in the Enter worksheet
name to hide field.

Note: You can hide a worksheet only if the workbook contains


more than one worksheet.

© 2020 Automation Anywhere. All rights reserved.     248


    Automation Anywhere - Build

Action Description

Password protect Protects a worksheet with a password. You can also specify the
worksheet operations to restrict on the worksheet.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the password you want to use to protect the worksheet
and select the check boxes for the operation that you want to
restrict on the worksheet. For example, select the Delete row and
Delete column check boxes to restrict a user from deleting a row
or column from the worksheet.

Rename worksheet Renames a worksheet in the current workbook.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the index number or name of the worksheet to rename in
the Sheet by Index or Sheet by Name field.
The index number is the number assigned to a worksheet. For
example, if you want to perform an operation on the worksheet at
the third position in the workbook, enter 3 in the field.

Note: You cannot rename the worksheet if a worksheet with the


same name already exists in the workbook.
• Enter the new worksheet name that is under 31 characters.

Retrieve sheets count Gets the number of sheets available in the current workbook and
stores it in a number variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the appropriate option to specify whether to include the
hidden worksheet or not and assign the count to a variable.

Run macro Runs a macro in a worksheet.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the name of the macro you want to run and its arguments.

Switch to sheet Activates a particular sheet in a Microsoft Excel file.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify whether to activate the Sheet by Index (numerical value) or
Sheet by Name.

Unhide all worksheets Unhides all worksheets in the current workbook. Enter the name of
the session used to open the current workbook with the Open action.

© 2020 Automation Anywhere. All rights reserved.     249


    Automation Anywhere - Build

Action Description

Unhide worksheet Unhides a specific worksheet in the current workbook.


• Enter the name of the session used to open the current workbook
with the Open action.
• Enter the name of the worksheet you want to unhide.

Write data table to Writes data available in a data table variable in a worksheet.
worksheet
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the data table variable that contains the data you want to
write in a worksheet.
• Specify whether you want to write data in the currently Active
worksheet or Specific worksheet.
• Specify the address of the cell that you want to use as the starting
point of the data in the Specify the first cell field.

Using Append worksheet action


Use the Append worksheet action to append a worksheet from another workbook to the current
workbook.

Note: If the current workbook already has a worksheet with the same name, you must rename the
worksheet being appended.

To append a worksheet, do the following:


1. Double-click or drag the Append worksheet action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select an option to specify the location of the spreadsheet from which you want to append the
worksheet:
• From 'My bots': Enables you to open a Microsoft Excel spreadsheet from an existing bot.
• From local device: Enables you to open a Microsoft Excel spreadsheet from a local device.
• Select an existing file variable: Enables you to open a Microsoft Excel spreadsheet using a file
variable.

4. Select the Password is required option if the Microsoft Excel spreadsheet requires a password to
open it.
5. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.
• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

6. Select the Enter worksheet name or Enter worksheet index option to specify the name or number of
the worksheet that you want to append.
7. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     250


    Automation Anywhere - Build

Row and column operations


The Excel advanced package contains various actions that you can use to automate tasks related to the
row and column operations in a Microsoft Excel spreadsheet.

Row and column actions in the Excel advanced package

The Excel advanced package includes the following actions:

Action Description

Get Column Retrieves the column that contains the specific cell and stores it to a
string variable. This action supports .xlsx and .xlxm files.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the From active cell or From specific cell option to specify the
cell location.
• Select a string variable from the Save the column name to variable
list.

Get Row Retrieves the row that contains the specific cell and stores it to a string
variable. This action supports .xlsx and .xlxm files.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the From active cell or From specific cell option to specify the
cell location.
• Select a string variable from the Save the row name to variable list.

Hide row(s)/column(s) Hides rows or columns in the current worksheet.


in selection
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the appropriate option to specify whether to hide one or
more rows and columns.

Insert/Delete Row(s)/ See Using Insert or Delete actions for rows and columns .
Column(s)
Read column Extracts data from a column and stores it in a list variable of string data
type.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the From active cell or From specific cell option to specify the
starting point. You can also select the Read full column option to
extract data for the entire column.
• Select a list variable of string data type that you want to use to store
the extracted values.

© 2020 Automation Anywhere. All rights reserved.     251


    Automation Anywhere - Build

Action Description

Read row Extracts data from a row and stores it in a list variable of string data type.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the From active cell or From specific cell option to specify the
starting point. You can also select the Read full row option to extract
data for the entire row.
• Select a list variable of string data type that you want to use to store
the extracted values.

Remove blank rows Removes blank rows from the current worksheet. You can specify the
range from which you want to delete the blank rows.
Select cell(s)/row(s)/ See Using Select action for cells, rows, and columns.
column(s)
Unhides row(s)/ Unhides the hidden rows or columns in the current worksheet.
column(s) in selection
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the appropriate option to specify whether you want to unhide
a row or column and which row or column to unhide.

Using Insert or Delete actions for rows and columns


Use the Insert or Delete actions to create or remove rows or columns from the current worksheet or
CSV file.
To insert or delete rows or columns in a worksheet, do the following:
1. Double-click or drag the Insert or Delete action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the Row operations if you want to insert or delete rows from the spreadsheet.
a) Select the Insert Row at option to insert a row and specify the location where you want to insert
the row in the field.
b) Select the Delete Row(s) at option to delete rows. You must specify the row number you want
to delete in the field. For example, if you want to delete the tenth row in the worksheet, you
must enter 10 in the field. If you want to delete the first five rows, you must enter 1:5 in the
field.

4. Select the Column operations if you want to insert or delete columns from the spreadsheet.
a) Select the Insert Column at option to insert a column and specify the location where you want
to insert the column in the field.
b) Select the Delete Column(s) at option to delete columns. You must specify the address of the
column you want to delete in the field. For example, if you want to delete column 'D' in the
worksheet, you must enter D in the field. If you want to delete the first five columns, you must
enter A:E in the field.

5. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     252


    Automation Anywhere - Build

Using Select action for cells, rows, and columns


Use the Select action to select cells, rows, or columns.
To select cells, rows, or columns do the following:
1. Double-click or drag the Select cell, row, or column action from the Excel node in the Actions
palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select an option from the Select list to specify whether you want to select a cell, row, or column.
a) If you have selected the Cell option, select any of the following options:
• Active cell: Enables you to select the active cell from the worksheet.
• Specific cell: Enables you to select the cell you have specified in the field.
• Cell range: Enables you to select all the cells in the range you have specified in the field.
• All cells in the sheet: Enables you to select all the cells in the worksheet.

b) If you have selected the Column option, select any of the following options:
• Column of active cell: Selects the column of the current active cell in the worksheet.
• Specific column: Enables you to select the column you have specified in the field.
• Column range: Enables you to select all the columns in the range you have specified in the
field.

c) If you have selected the Row option, select any of the following options:
• Row of active cell: Selects the row of the current active cell in the worksheet.
• Specific row: Enables you to select the row you have specified in the field.
• Row range: Enables you to select all the rows in the range you have specified in the field.

4. Click Apply.

Cell operations
The Excel advanced package contains various actions that you can use to automate tasks related to cell
operations.

Cell actions in the Excel advanced package

The Excel advanced package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     253


    Automation Anywhere - Build

Action Description

Delete cells Deletes the Active cell or a Specific cell from the current worksheet or
a CSV file.
After deleting the cell, you can:
• Shift cells left: Deletes the specified cell and shifts the cell one
position to the left.
• Shift cells up: Deletes the specified cell and shifts the cell one
position up.
• Entire row: Deletes the entire row that contains the cell you have
specified to delete.
• Entire column: Deletes the entire column that contains the cell
you have specified to delete.

Find next empty cell See Using Find next empty cell action.
Find See Using Find action.
Get cell address Retrieves the location of the active cell and stores it to a string
variable. This action supports .xlsx and .xlxm files.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select a string variable from the Save the cell address to variable
list.

Get cell color See Using Get cell color action.


Get multiple cells Retrieves the values from the cells in a Microsoft Excel spreadsheet
and stores them in a table variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Multiple cells option to retrieve values from a range of
cells, or select All cells to retrieve values from all the cells.

Get number of rows See Using Get number of rows action.


Get single cell Retrieves the values from a single cell in a Microsoft Excel spreadsheet
or a CSV file and stores them in a string variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Active cell option to retrieve the value from the active
cell, or select Specific cell to retrieve the value from a specific cell
in a Microsoft Excel spreadsheet.

You can use the output value to Perform an if condition based on cell
value.

© 2020 Automation Anywhere. All rights reserved.     254


    Automation Anywhere - Build

Action Description

Go to cell Moves the cursor to a specific cell in a Microsoft Excel spreadsheet or


a CSV file.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the option to specify the cell to which the cursor should be
moved, or select an option from the Active cell list.

Go to next empty cell Finds the next empty cell in the current worksheet. You can specify
whether to find the empty cell toward the left, right, up, or down.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Active cell or Specified cell option to specify the cell
from which to start searching for the empty cell. If you have
selected the Specified cell option, specify the address of the cell in
the field.
• Select the left, right, up, or down option to specify the direction in
which to search for the next empty cell.

Read cell formula Gets the formula available in the Active cell or Specified cell and
assigns the output to a string variable. This action returns a blank value
if the specified cell does not contain a formula.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Active cell or Specified cell option to specify the cell
from which to read the formula. If you have selected the Specified
cell option, specify the address of the cell in the field.
• Select a string variable to store the name of the formula from the
Assign the output to variable list.

Replace See Using Replace action.


Set cell Sets a value in the Active cell or Specific cell in a Microsoft Excel
spreadsheet or a CSV file. You can also use this action to set a
formula.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Active cell or Specified cell option to specify the cell
in which to set the value. If you have selected the Specified cell
option, specify the address of the cell in the field.
• Enter the value to set in the Cell value field.

© 2020 Automation Anywhere. All rights reserved.     255


    Automation Anywhere - Build

Action Description

Set cell formula Sets a formula in the active cell or a specific cell in a Microsoft Excel
spreadsheet or a CSV file.
• Enter the name of the session used to open the current workbook
with the Open action.
• Select the Set formula for active cell or Set formula for specified
cell option to specify the cell in which to set the formula. If you
have selected the Set formula for specified cell option, specify the
address of the cell in the field.
• Enter the formula to set in the Enter formula for specific cell field.

Using Find action


Use the Find action to find a particular string in a Microsoft Excel spreadsheet or a CSV file.
To find a value in a Microsoft Excel spreadsheet, do the following:
1. Double-click or drag the Find action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select an option from the From list to specify a starting point of the cell range for search:
• Beginning: Starts the search from the beginning of the spreadsheet.
• End: Starts the search from the end of the spreadsheet.
• Active cell: Starts the search from the active cell in the spreadsheet.
• Specific cell: Enables you to specify the address of the cell from where you want to start the
search.

4. Select an option from the Till list to specify an end point of the cell range for search:
• Beginning: Ends the search at the beginning of the spreadsheet.
• End: Ends the search at the end of the spreadsheet.
• Active cell: Ends the search at the active cell in the spreadsheet.
• Specific cell: Enables you to specify the address of the cell where you want to end the search.

5. Specify the string you want to search in the Find field.


6. Select any of the following search options:
• By rows: Enables you to search by rows.
• By columns: Enables you to search by columns.
• Match by case: Enables you to match case-sensitive content.
• Match entire cell contents: Enables you to find only those cells that contain the string you have
specified in the Find field.

7. Select the list variable of string data type that you want to use to store the output from the Assign
cell addresses variable list.
8. In the Assign value to variable list, select a string variable.

Using Replace action


Use the Replace action to find a particular string and replace it with specific text in a Microsoft Excel
spreadsheet or a CSV file.
To find and replace a value in a Microsoft Excel spreadsheet, do the following:
1. Double-click or drag the Replace action from the Excel node in the Actions palette.

© 2020 Automation Anywhere. All rights reserved.     256


    Automation Anywhere - Build

2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select an option from the From list to specify a starting point of the cell range for search:
• Beginning: Starts the search from the beginning of the spreadsheet.
• End: Starts the search from the end of the spreadsheet.
• Active cell: Starts the search from the active cell in the spreadsheet.
• Specific cell: Enables you to specify the address of the cell from where you want to start the
search.

4. Select an option from the Till list to specify an end point of the cell range for search:
• Beginning: Ends the search at the beginning of the spreadsheet.
• End: Ends the search at the end of the spreadsheet.
• Active cell: Ends the search at the active cell in the spreadsheet.
• Specific cell: Enables you to specify the address of the cell where you want to end the search.

5. Specify the string you want to search in the Find field.


6. Select any of the following search options:
• By rows: Enables you to search by rows.
• By columns: Enables you to search by columns.
• Match by case: Enables you to match case-sensitive content.
• Match entire cell contents: Enables you to find only those cells that contain the string you have
specified in the Find field.

7. Select Replace with and specify the replacement string.


8. In the Assign value to variable list, select a string variable.

Using Find next empty cell action


Use the Find next empty cell action to find the next empty cell in the current worksheet.
To find the next empty cell, do the following:
1. Double-click or drag the Find next empty cell action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the row or column option from the Traverse by section to specify whether you want to find
the empty cell in a row or column.
4. Select the active cell or specific cell option from the Start from section to specify the point from
where you want to start the search.
5. Select the string variable you want to use to store the address of the empty cell from the Assign the
output to variable list.
6. Click Apply.

Using Get cell color action


Use the Get cell color action to get the color of the background or text in a cell. This action retrieves the
color of a cell as RGB values. For example, if the background or text in a cell is of red color, the value
retrieved is 255,0,0.
To get the color of the background or text in a cell, do the following:
1. Double-click or drag the Get cell color action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the Background color option to get the background color of the cell or the Text color option
to get the color of the text.

© 2020 Automation Anywhere. All rights reserved.     257


    Automation Anywhere - Build

4. Select the Active cell option to get the color from the current active cell or the Specific cell option to
get the color from the address of the cell you have specified.
5. Select a variable from the Assign the output to variable list to assign the address of the empty cell to
the variable you have selected from the list.
6. Select the string variable you want to use to store the address of the empty cell from the Assign the
output to variable list.
7. Click Apply.

Using Get number of rows action


Use the Get number of rows action to get the number of rows that contain data.
To get the number of rows that are not empty or contain data, do the following:
1. Double-click or drag the Get number of rows action from the Excel node in the Actions palette.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the Index option to specify the number of the worksheet or the Name option to specify the
name of the worksheet from which you want to get the number or rows.
4. Select the Non-empty rows option to get the number of rows that are not empty or the Total rows
with data option to get the number of rows that contain data.
5. Select the number variable you want to use to store the output from the Assign to variable list.
6. Click Apply.

Perform an if condition based on cell value


Configure a bot to run if the condition for the cell value in an Excel sheet is met. This example
demonstrates how to configure the following two conditions: cell value is equal to and cell value is not
equal to.
1. Create an Excel document with an empty sheet.
2. Configure an Open action from the Excel basic or Excel advanced package to open the Excel sheet.
3. Create a string variable named EmptyString.

At runtime, the bot compares the value of a cell to an empty string variable and prints a message, based
on whether the cell is empty or not.
1. Use the Get single cell action to assign the value of a cell to a string variable.
a) Double-click or drag the Get single cell action from the same package that you used for the
Open action.
b) Provide the session name that you used in the Open action.
c) Select the Active cell option.
d) In the Store cell contents to field, create the variable Output.
e) Click Apply.

© 2020 Automation Anywhere. All rights reserved.     258


    Automation Anywhere - Build

2. Use the If action to configure the conditional statement.


a) Double-click or drag the If action.
b) Select String from the Condition drop-down list.
c) In the Source value field, insert the variable Output.
d) Select the Equals to as the Operator.
e) In the Target value field, insert the variable EmptyString.
f) Click Apply.

3. Insert a Message box into the If container.


a) Drag the Message box action.
b) In the Enter the message to display field, enter Cell is empty.
c) Click Apply.

4. Use the Else and Message box actions to configure the alternative path.
a) Drag the Else action.
b) Drag the Message box action into the Else container.
c) In the Enter the message to display field, enter Cell is not empty.
d) Click Apply.

5. Click Save.
6. Run the bot.
As the bot runs, the message box appears with the message Cell is empty.
7. Enter a value into the Excel sheet and save the sheet.
8. Run the bot.
As the bot runs, the message box appears with the message Cell is not empty.

Table operations
The Excel advanced package contains various actions that you can use to automate tasks related to table
operations in a Microsoft Excel spreadsheet.

Table actions in the Excel advanced package

Note: Ensure that a table is available in the workbook. A worksheet that contains data in various rows
and columns is not considered as a table.

The Excel advanced package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     259


    Automation Anywhere - Build

Action Description

Delete table column Deletes a column in a table.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the Table name from which you want to delete a column.
• Select the Name or Position to specify the name or position of the
column to delete.

Filter table See Using Filter table action.


Get table range Gets the range of a table available in a worksheet and stores the output in
a string variable.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the Table name for which you want to get the range.
• Select the options to specify whether you want to include a header
and pivot table in the range and a variable to store the output.

Insert table column Inserts a column in a table.


• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the Table name in which you want to insert a column.
• Specify the name of the column in the Column name field and the
position where you want to insert the column in the Column position
field.

Sort table Sorts the data in a column of a table. This action enables you to sort
numeric and text data.
• Enter the name of the session used to open the current workbook
with the Open action.
• Specify the Table name for which you want to sort the data.
• Select the Column name or Column position to specify the name or
position of the column.
• Select an appropriate option from the Number or Text list to specify
the sort order.

CSV operations
You can use some of the actions available in the Excel advanced package to perform various operations
on a CSV file.

CSV actions in the Excel advanced package

The following table lists the actions that you can use with a CSV file:

Supported Not Supported


Open Find next empty cell

© 2020 Automation Anywhere. All rights reserved.     260


    Automation Anywhere - Build

Set cell Get cell colour


Go to cell Go to next empty cell
Insert/Delete row column Run macro
Insert/Delete row column Unhide all worksheets
Get cell Hide row/column in selection
Find/Replace Unhide row/column in selection
Convert excel to pdf Access password protected worksheet
Delete cells Protect/Unprotect workbook
Set cell formula Table related commands
Create workbook Create worksheet

You can use the Loop action to retrieve data from each row in a CSV file. You can also use any of the
above action that supports the use of a CSV file within a Loop action.

Note: All the other actions available in the Excel advanced package that are not listed in the above table
cannot be used with a CSV file.

File package
The File package contains actions that enable you to automate various file-related operations such as
creating, opening, copying, deleting, and renaming a file.
Use the actions available in the File package either individually to perform an action one time or in a Loop
action to perform that action for each file available in a folder.

Actions in the File package

Note: You can use the Zip action available in the Folder package to compress a file. See Using Zip
action.

The File package includes the following actions:

Action Description

Copy See Using Copy action for file.


Create Creates a new file.
• In the File field, specify the name including the location to store the
file.
• In the Overwrite an existing file option, select an existing file with the
same name to overwrite it. If existing files are not overwritten, the
Enterprise Control Room appends the name of the new file with a
numeric value.

Delete See Using Delete action for file.

© 2020 Automation Anywhere. All rights reserved.     261


    Automation Anywhere - Build

Action Description

Open Opens an existing file. In the File field, specify the name including the
location to store the file.
Print See Using Print action for file.
Print multiple files See Using Print multiple files action .
Rename See Using Rename action for file.

Related reference
If package
Use the actions in the If package to control the sequence of execution based on certain conditions of a
task.
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
Variables and credentials
Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).

Using Copy action for file


Use the Copy action to copy an existing file. This action enables you to copy a file based on its size and
the date it was created or modified.
To copy an existing file, follow these steps:
1. In the Actions palette, double-click or drag the Copy action from the File package.
2. In the Source file field, specify the name and location of the file.
3. In the Destination file/folder field, specify the name of the file and location.
4. Select the Overwrite existing files check box to overwrite an existing file with the same name at the
specified location.
If this option is not selected, the system appends the name of the copied file with a numeric value.
For example, if you have copied a file named June_Quarter_report.pdf and a file with the same
name exists in the location where you want to save the copied file, the system saves the copied file
as June_Quarter_report_(1).pdf. The numeric value is incremented each time you copy a file
with the same name when the overwrite check box is not selected.
5. Select the Size check box to copy a file based on its size.
a) Select any of the following options from the list:
• Atleast: Copies a file only if the file size is more than the size you have specified.
• Atmost: Copies a file only if the file size is less than the size you have specified.
• Exact: Copies a file only if the file size is the same as the size you have specified.

b) Specify a value in the Size field.

6. Select the Date check box to copy a file based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to copy a file based on the date it was created.
• Modified: Enables you to copy a file based on the date it was modified.

b) Select the Is within last option and specify a value in the field.

© 2020 Automation Anywhere. All rights reserved.     262


    Automation Anywhere - Build

This option enables you to perform the operation on the file if it was created or modified within
the number of days you have specified. For example, if you specify 7 in the field, the system
performs the operation on the file if it was created or modified in the last 7 days.
c) Select the Is between option to specify a period.
This option enables you to specify a Start date and an End date for the period. For example, if
you specify 01/01/19 as the start date and 01/31/19 as the end date of the period, the system
performs the operation on the file if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) Select the Is before option and specify a value in the field.


This option enables you to perform the operation on the file if it was created or modified on or
before the date you have specified.

7. Click Apply.
8. Click Save.

Using Delete action for file


Use the Delete action to delete a file. This action enables you to delete a file based on its size and the
date it was created or modified.
Follow these steps to delete a file:
1. In the Actions palette, double-click or drag the Delete action from the File package.
2. In the File field, specify the name and location of the file.
3. Select the Size check box to delete a file based on its size.
a) Select any of the following options from the list:
• Atleast: Deletes a file only if the file size is more than the size you have specified.
• Atmost: Deletes a file only if the file size is less than the size you have specified.
• Exact: Deletes a file only if the file size is the same as the size you have specified.

b) Specify a value in the Size field.

© 2020 Automation Anywhere. All rights reserved.     263


    Automation Anywhere - Build

4. Select the Date check box to delete a file based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to delete a file based on the date it was created.
• Modified: Enables you to delete a file based on the date it was modified.

b) Select the Is within last option and specify a value in the field.
This option enables you to perform the operation on the file if it was created or modified within
the number of days you have specified. For example, if you specify 7 in the field, the system
performs the operation on the file if it was created or modified in the last 7 days.
c) Select the Is between option to specify a period.
This option enables you to specify a Start date and an End date for the period. For example, if
you specify 01/01/19 as the start date and 01/31/19 as the end date of the period, the system
performs the operation on the file if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) Select the Is before option and specify a value in the field.


This option enables you to perform the operation on the file if it was created or modified on or
before the date you have specified.

5. Click Apply.
6. Click Save.

Using Rename action for file


Use the Rename action to rename a file. This action enables you to rename a file based on its size and
the date it was created or modified.
To rename a file, follow these steps:
1. In the Actions palette, double-click or drag the Rename action from the File package.
2. In the File field, specify the name and location of the file you want to rename.
3. In the New file name field, specify a new name for the file.
4. Select the Size check box to rename a file based on its size.
a) Select any of the following options from the list:
• Atleast: Renames a file only if the file size is more than the size you have specified.
• Atmost: Renames a file only if the file size is less than the size you have specified.
• Exact: Renames a file only if the file size is the same as the size you have specified.

b) Specify a value in the Size field.

5. Select the Date check box to rename a file based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to rename a file based on the date it was created.
• Modified: Enables you to rename a file based on the date it was modified.

b) Select the Is within last option and specify a value in the field.
This option enables you to perform the operation on the file if it was created or modified within
the number of days you have specified. For example, if you specify 7 in the field, the system
performs the operation on the file if it was created or modified in the last 7 days.
c) Select the Is between option to specify a period.

© 2020 Automation Anywhere. All rights reserved.     264


    Automation Anywhere - Build

This option enables you to specify a Start date and an End date for the period. For example, if
you specify 01/01/19 as the start date and 01/31/19 as the end date of the period, the system
performs the operation on the file if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) Select the Is before option and specify a value in the field.


This option enables you to perform the operation on the file if it was created or modified on or
before the date you have specified.

6. Click Apply.
7. Click Save.

Using Print action for file


Use the Print action to print a file. This action enables you to print a file based on its size and the date it
was created or modified.
Follow these steps to print a file:
1. In the Actions palette, double-click or drag the Print action from the File package.
2. In the File field, specify the name and location of the file.
3. Select the Size check box to print a file based on its size.
a) Select any of the following options from the list:
• Atleast: Prints a file only if the file size is more than the size you have specified.
• Atmost: Prints a file only if the file size is less than the size you have specified.
• Exact: Prints a file only if the file size is the same as the size you have specified.

b) Specify a value in the Size field.

4. Select the Date check box to print a file based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to print a file based on the date it was created.
• Modified: Enables you to print a file based on the date it was modified.

b) Select the Is within last option and specify a value in the field.
This option enables you to perform the operation on the file if it was created or modified within
the number of days you have specified. For example, if you specify 7 in the field, the system
performs the operation on the file if it was created or modified in the last 7 days.
c) Select the Is between option to specify a period.
This option enables you to specify a Start date and an End date for the period. For example, if
you specify 01/01/19 as the start date and 01/31/19 as the end date of the period, the system
performs the operation on the file if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) Select the Is before option and specify a value in the field.


This option enables you to perform the operation on the file if it was created or modified on or
before the date you have specified.

5. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     265


    Automation Anywhere - Build

6. Click Save.

Using Print multiple files action


Use Print multiple files to print multiple files based on the size and the date they were created or
modified.
Follow these steps to print multiple files:
1. In the Actions palette, double-click or drag the Print multiple files action from the File package.
2. In the Folder field, specify the name and location of the folder.
3. Optional: In the File type field, specify the file type of your files.
4. Select the Include subfolders check box to include all the subfolders in your selected folder.
5. Select the Size check box to print multiple files based on their size.
a) Select any of the following options from the list:
• Atleast: Prints multiple files only if the file size is more than the size you have specified.
• Atmost: Prints multiple files only if the file size is less than the size you have specified.
• Exact: Prints multiple files only if the file size is the same as the size you have specified.

b) Specify a value in the Size field.

6. Select the Date check box to print multiple files based on the date they were created or modified.
a) Select any of the following options from the list:
• Created: Enables you to print multiple files based on the date they were created.
• Modified: Enables you to print multiple files based on the date they were modified.

b) Select the Is within last option and specify a value in the field.
This option enables you to perform the operation on the files if they were created or modified
within the number of days you have specified. For example, if you specify 7 in the field, the
system performs the operation on the files if they were created or modified in the last 7 days.
c) Select the Is between option to specify a period.
This option enables you to specify a Start date and an End date for the period. For example, if
you specify 01/01/19 as the start date and 01/31/19 as the end date of the period, the system
performs the operation on the files if they were created or modified between this period.

Note: The Start date and End date are included in the period.

d) Select the Is before option and specify a value in the field.


This option enables you to perform the operation on the files if they were created or modified
on or before the date you have specified.

7. Click Apply.
8. Click Save.

Folder package
The Folder package contains actions that enable you to automate folder-related operations.

© 2020 Automation Anywhere. All rights reserved.     266


    Automation Anywhere - Build

Actions in the Folder package

The Folder package includes the following actions:

Action Description

Copy See Using Copy action.


Create Creates a new folder.
• In the Folder field, specify the name and location.
• Select the Overwrite an existing folder check box to overwrite an
existing folder.

Note: If this option is not selected, the system appends the name of
the new folder with a numeric value.

Delete See Using Delete action.


Open Opens a folder at a specific location.
In the Folder field, specify the name and location.

Rename See Using Rename action.


Unzip See Using Unzip action.
Zip See Using Zip action.

Using Copy action


Use the Copy action to copy an existing folder.
1. In the Actions palette, double-click or drag the Copy action from the Folder package.
2. In the Source folder field, specify the name and location.
3. In the Destination folder field, specify the folder name and location to save the copied folder.
4. Select the Overwrite existing files/folders check box to overwrite existing folders with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

5. Select the Size check box to copy a folder based on its size.
a) Select any of the following options from the list:
• Atleast: Copies a folder only if the folder size is more than the size you have specified.
• Atmost: Copies a folder only if the folder size is less than the size you have specified.
• Exact: Copies a folder only if the folder size is the same as the size you have specified.

b) In the Size field, specify the folder size.

6. Select the Date check box to copy a folder based on the date.
a) Select any of the following options from the list:
• Created: Enables you to copy a folder based on the date it was created.

© 2020 Automation Anywhere. All rights reserved.     267


    Automation Anywhere - Build

• Modified: Enables you to copy a folder based on the date it was modified.

b) In the Is within last, specify the value.


This option enables you to perform the operation on the folder if it was created or modified
within the last number of days you have specified. For example, if you specify 7 in the field, the
system performs the operation on the folder if it was created or modified in the last 7 days.
c) In the Is between, specify the period.
This option enables you to specify a Start date and an End date of the period. For example, if
you specify 01/01/19 and 01/31/19 as the start date and end date of the period, the system
performs the operation on the folder if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) In the Is before, specify the value.


This option enables you to perform the operation on the folder if it was created or modified on
or before the date you have specified.

7. Click Apply.
8. Click Save.

Using Delete action


Use the Delete action to delete a folder.
1. In the Actions palette, double-click or drag the Delete action from the Folder package.
2. In the Folder field, specify the name and location.
3. Select the Size check box to delete a folder based on its size.
a) Select any of the following options from the list:
• Atleast: Deletes a folder only if the folder size is more than the size you have specified.
• Atmost: Deletes a folder only if the folder size is less than the size you have specified.
• Exact: Deletes a folder only if the folder size is the same as the size you have specified.

b) In the Size field, specify the folder size.

4. Select the Date check box to delete a folder based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to delete a folder based on the date it was created.
• Modified: Enables you to delete a folder based on the date it was modified.

b) In the Is within last, specify the value.


This option enables you to perform the operation on the folder if it was created or modified
within the last number of days you have specified. For example, if you specify 7 in the field, the
system performs the operation on the folder if it was created or modified in the last 7 days.
c) In the Is between, specify the period.
This option enables you to specify a Start date and an End date of the period. For example, if
you specify 01/01/19 and 01/31/19 as the start date and end date of the period, the system
performs the operation on the folder if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) In the Is before, specify the value.

© 2020 Automation Anywhere. All rights reserved.     268


    Automation Anywhere - Build

This option enables you to perform the operation on the folder if it was created or modified on
or before the date you have specified.

5. Click Apply.
6. Click Save.

Using Rename action


Use the Rename action to rename a folder.
1. In the Actions palette, double-click or drag the Rename action from the Folder package.
2. In the Folder field, specify the name and location.
3. In the New folder name field, specify a new name.
4. Select the Size check box to rename a folder based on its size.
a) Select any of the following options from the list:
• Atleast: Renames a folder only if the folder size is more than the size you have specified.
• Atmost: Renames a folder only if the folder size is less than the size you have specified.
• Exact: Renames a folder only if the folder size is the same as the size you have specified.

b) In the Size field, specify the folder size.

5. Select the Date check box to rename a folder based on the date it was created or modified.
a) Select any of the following options from the list:
• Created: Enables you to rename a folder based on the date it was created.
• Modified: Enables you to rename a folder based on the date it was modified.

b) In the Is within last, specify the value.


This option enables you to perform the operation on the folder if it was created or modified
within the last number of days you have specified. For example, if you specify 7 in the field, the
system performs the operation on the folder if it was created or modified in the last 7 days.
c) In the Is between, specify the period.
This option enables you to specify a Start date and an End date of the period. For example, if
you specify 01/01/19 and 01/31/19 as the start date and end date of the period, the system
performs the operation on the folder if it was created or modified between this period.

Note: The Start date and End date are included in the period.

d) In the Is before, specify the value.


This option enables you to perform the operation on the folder if it was created or modified on
or before the date you have specified.

6. Click Apply.
7. Click Save.

Using Unzip action


Use the Unzip action to extract compressed files and folders from a zip file to a specific location.
1. In the Actions palette, double-click or drag the Unzip action from the Folder package.
2. In the Zip file name with full path field, specify the name and location.
3. In the Extract to path field, specify the location.

© 2020 Automation Anywhere. All rights reserved.     269


    Automation Anywhere - Build

4. Select the Replace existing file check box to overwrite the file.
5. Optional: In the Password to access zip file field, select either Credential to specify a stored
password, or select String to enter a password manually.
6. Click Apply.
7. Click Save.

Using Zip action


Use the Zip action to compress files and folders into a zip file.
1. In the Actions palette, double-click or drag the Zip action from the Folder package.
2. In the Specify file(s)/folder(s) to compress field, specify the location.
3. Optional: In the Specify file type(s) to compress field, specify the extension.
For example, you can specify .txt and .png to compress only text files and PNG images. The system
compresses the entire folder if you do not specify any file type. You can also specify the name of a
file to compress a specific file.
4. In the Specify destination filename and location field, specify the zip file name and location.
5. Select the Update only if newer check box to compress the files only if one or more files were
updated after the last compression.
This option is useful when you are repeatedly compressing the same set of files and storing the
output zip file with the same name at the same location. For example, you compress five PDF files
from the Reports folder on a monthly basis and save the output zip file with the Monthly Report
name in the D: drive. When this option is selected, the system compresses the files only if one or
more PDF files are updated after the last compression.
6. Select the Delete original files check box if you want to delete the original files after they are
included in the zip file.
7. In the Compression list, specify the speed for compression.
8. Optional: In the Password protection field, select Credential to specify a stored password or select
String to enter a password manually.
9. Click Apply.
10. Click Save.

FTP / SFTP package


Use the FTP / SFTP package to automate FTP / SFTP operations.
An FTP/SFTP server hosts the files to share. The client accesses, downloads, or uploads files to the server.
The transfer of data between the client and server is done using a TCP/IP network, which is the standard
protocol of communication over the internet.
• The following are some forms of authentication for an FTP server:
• User credentials: Requires an FTP username and password.
• Anonymous: This form of authentication is enabled on sites where files are available for public
access and the users need not identify themselves to the server.
• Key-based: SFTP authentication is usually done with a private and public key. The key pair is
automatically generated by the computer. The private key is kept with the SFTP client and the
corresponding public key with the SFTP server. When establishing a connection, the client shares
the private key to be matched with the corresponding public key on the server.

• FTP can run in active or passive transfer mode.


• In the active mode, the client informs the server about the port used for listening and starts
listening for incoming data connections from the server.

© 2020 Automation Anywhere. All rights reserved.     270


    Automation Anywhere - Build

• In the passive mode, the client receives a server IP address and server port number from the
server. The client opens a data connection to the server IP address and server port number that are
received. Most organizations prefer the passive mode because it involves less or no alterations to
the firewall settings.

• FTP supports binary and ASCII file transfer types:


• Use the binary option when transferring executable files.
• Use the ASCII option when transferring text files.

Before you start

Perform the following actions within the FTP / SFTP package.


1. Establish a connection with the FTP/SFTP server using the Connect action. When establishing a
connection, associate the FTP/SFTP server details with a session name. Use the same session name
for all corresponding actions.
2. Use the FTP/SFTP actions to automate a task. The actions enable you to perform following tasks:
• Upload, download, delete, or rename files.
• Upload, download, create, or delete folders.
• Navigate to the parent folder or a specific folder.

3. After you have automated the tasks related to FTP / SFTP, terminate the connection to the server
using the Disconnect action.

Note: SFTP with SSH1 protocol is no longer supported by SFTP.

Actions in the FTP / SFTP package

The FTP / SFTP package includes the following actions:


Action Description

Change folder Navigates to either the parent folder or another specific folder on an FTP/
SFTP server.
• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Select either Go to parent folder or Specific folder in Navigate to
options.
If the Specific folder option is selected, enter the complete folder
path.

Connect See Using Connect action for FTP/SFTP .

© 2020 Automation Anywhere. All rights reserved.     271


    Automation Anywhere - Build

Action Description

Create folder Creates a folder in an existing folder on the FTP/SFTP server.


• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Specify the folder name in the Remote folder field with the path to
create a folder on the FTP server.

Note: The system encounters an error if a folder with the same name
exists in the parent folder.

Delete files Deletes files from an FTP/SFTP folder.


• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Specify file names in the Remote files field along with the complete
path, separated by a semicolon.

Delete folder Deletes a folder (including all the subfolders and files within it) from an
FTP/SFTP server.
• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Specify the folder name in the Remote folder field.

Disconnect Terminates the connection to the FTP/SFTP server.


• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.

Get files Downloads files from a remote FTP/SFTP folder to a specific folder on
the client machine.
• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Select files on the remote FTP server that you want to download on
the local system.
• In the Local folder field, enter the name of the folder where you want
to download files from the FTP/SFTP server.
• Select the Transfer Type as Binary or ASCII.
• You can also specify folders based on the date they are created or
modified.

© 2020 Automation Anywhere. All rights reserved.     272


    Automation Anywhere - Build

Action Description

Get folders Downloads a folder from an FTP/SFTP server to a client machine.


• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• Select folders on the remote FTP server that you want to download on
the local system.
Specify filters using wildcard characters to download only specific
types of files.
• In the Local folder field, enter the name of the folder where you want
to download files from the FTP/SFTP server.
• You can also specify folders based on the date they are created or
modified.

Put files Uploads one or more files from the client machine to the FTP/SFTP
server.
• Enter the session name. Use the same session name that you have
provided when establishing a connection with the FTP/SFTP server
using the Connect action.
• Enter all the file names along with their location, separated by a
semicolon.
• Select the Transfer type to be either Binary or ASCII

Put folders Uploads a folder from the client machine to the FTP/SFTP server.
• Enter the session name. Use the same session name that you have
provided when establishing a connection with the FTP/SFTP server
using the Connect action.
• Enter the folder name in the Local folder field which you want to
upload on FTP/SFTP server.
• Specify filters using wild card characters to restrict uploads to specific
types of files.

Rename files Renames files in an FTP/SFTP folder.


• Enter the session name.
Use the same session name that you have provided when establishing
a connection with the FTP/SFTP server using the Connect action.
• In the Remote file field, enter the name of the file that you want to
rename.
• Enter the new name in the New remote file field.

© 2020 Automation Anywhere. All rights reserved.     273


    Automation Anywhere - Build

Using Connect action for FTP/SFTP


Use the Connect action to establish a connection with the FTP/SFTP server that you want to use to
automate tasks. This must be the first action you use to automate an FTP/SFTP-related task.
Specify details of the FTP/SFTP server and associate it with a session name. Use the session name
provided in this action in the other actions so that you do not have to provide details of the server in
those actions.
To establish a connection with an FTP/SFTP server, perform these steps:
1. Double-click or drag the Connect action from the FTP/SFTP node in the Actions palette.
2. Enter a name for the session in the Session name field.
3. Enter the FTP/SFTP server name in the Server name field.
4. Specify the port number.
5. Select one of the following options to specify the server type:
Option Steps

FTP Authentication type: You can either choose to authenticate the user using
User credentials or log in as Anonymous.
If you choose User credentials, complete these fields:
• Username: Select Credential for enhanced security or String:
• Credential: Select the Credential Vault variable to insert the
Username and Password.
• String: Enter the value directly in the field.

Transfer Mode: Select the transfer mode to be Active or Passive.


Transfer type: Select the type to be either Binary or ASCII for transferring
files between the server and client.
Optional: Enter the default directory path on the FTP server.

FTP Secure Authentication type: You can either choose to authenticate the user using
User credentials or log in as Anonymous. If you choose User credentials,
complete these fields:
• Username: Select Credential for enhanced security or String:
• Credential: Select the Credential Vault variable to insert the
Username and Password.
• String: Enter the value directly in the field.

© 2020 Automation Anywhere. All rights reserved.     274


    Automation Anywhere - Build

Option Steps

SSH FTP Select the Private Key File from Control Room file, Desktop file, or
Variable.

Note: Ensure that the SFTP server has a corresponding public key file.

• You can either choose to authenticate the user using User credentials
or log in as Anonymous. If you choose User credentials, complete
these fields:
• With username: To enter the Username, select Credential or String
option.
Credential: Select the Credential Vault variable to insert the
Username.
String: Enter the value directly in the field.
• With username-password: To enter the Username and Password,
select either the Credential or String option.
If you choose to authenticate using the user credentials, insert a
Credential Vault variable for enhanced security or enter the value
directly in the string field.

6. Select Reconnect if connection fails if you want to automatically reconnect:


a) Specify the number of attempts in the Attempts field.
b) Select the time lapse in the Time between attempts field.

7. Click Apply, and then click Save.

If package
Use the actions in the If package to control the sequence of execution based on certain conditions of a
task.
Using the If package actions, you can check if an application is running, a folder or file exists, a variable
matches the specified value, an application window exists, or a machine or server is running, before
executing a set of actions.

Action in the If package

The If package includes the following action:

Action Description

If Specifies a condition and holds a sequence of actions to run, if the


condition is true. See Using If action.
Else if (optional) Specifies an alternative condition to test if the condition specified in
the If action is false. If this alternative condition is true, the botruns the
sequence of actions contained within the Else if action.

© 2020 Automation Anywhere. All rights reserved.     275


    Automation Anywhere - Build

Action Description

Else Specifies the alternative sequence of actions if the condition specified in


the If action and Else if action (if used) is false.

Conditions in the If action

Use the following conditions in the If action to control the flow of execution in an automation task:

Condition Description

Application Use the Application is not running or Application is running condition


to execute actions based on whether an application is running or not
running.
Enter the application path or specify the path using a variable along with
the amount of time to wait (in seconds) for the condition to be true.

Boolean Use the Boolean variable condition to execute actions based on whether
a Boolean variable contains the value True or False.
You can also use this condition to compare the values of two Boolean
variables by selecting the second variable from the Insert a Variable
window.

Dictionary Use this condition to execute actions based on whether the specified key
exists in the dictionary.
File Use the following conditions to execute the action:
• File date
Use this condition to verify the date and time that the specified file
was created or modified. Specify a date range using the Is within last,
Is between, or Is before options. For the Is within last option, specify
the number of days or time (in hours, minutes, and seconds). Enter the
amount of time (in seconds) to wait for this condition to be true.
• File exists and File does not exist
Use these conditions to execute an action based on whether a file
exists. For example, if a data file exists, format the file and upload it to
a database.
• File size
This condition verifies if the specified file is larger, smaller, not the
same, or the same as the size you specify.
Enter the amount of time (in seconds) to wait for this condition to be
true.

Folder Use the Folder exists or Folder does not exist condition to execute an
action based on whether a folder exists.

© 2020 Automation Anywhere. All rights reserved.     276


    Automation Anywhere - Build

Condition Description

Image Recognition Use these conditions to verify whether:


• Image file is found in the Image file or not.
• Image file is found in the Window or not.
• Window is found in the Image file or not.
• Window is found in the Window or not.

List Use the List variable condition to execute actions based on whether the
specified list variable contains a particular value. The value can be of
Number, String, or Boolean data type.
Number Use the Number variable condition to execute actions based on whether
the specified number variable is Equal to or Not Equal to, or is Greater
than or Equal to, or is Lesser than or Equal to a particular value.
Ping Use the Ping is successful or Ping is unsuccessful condition to verify if a
machine or server is running, and execute actions based on the result.
Enter the amount of time (in seconds) to wait for the condition to be true.
Recorder Use this condition to detect an Object in a window. Select a window or
variable to capture the object. Enter the amount of time (in seconds) to
wait for this condition to be true.
String Use the String variable condition to execute actions based on whether
the specified string variable is Equal to or Not equal to, or Includes or
Does not include a particular value.
Window Use the Window exists or Window does not exist condition to verify if a
specific application window is open by entering the Window title or using
a variable. Enter the amount of time (in seconds) to wait for the condition
to be true.

Example

• Build a basic bot that uses a desktop application


An example of how to build a basic TaskBot that uses the If package.

Using If action
Use the If Else If and If Else actions to change the flow of execution in an automation task based on
certain conditions.
To use the actions in the If package, do the following:
1. Double-click or drag the If action from the If package in the Actions palette.
2. Select the required condition from the Condition list.
See If package for a list of available conditions.
3. Drag the actions to be executed if the condition is satisfied within the If condition.
4. Double-click or drag the Else If action from the If package in the Actions palette to include
alternative actions to run if the condition for the If action is false, and if the condition for the Else If
action is true.
5. Drag the actions to be executed if the condition is satisfied within the Else If condition.

© 2020 Automation Anywhere. All rights reserved.     277


    Automation Anywhere - Build

6. Double-click or drag the Else action from the If package in the Actions palette to include actions to
run if the conditions for the If and Else If actions are false.
7. Drag the actions to be executed if the condition is satisfied within the Else condition.
8. Click Apply.

Perform an if condition based on cell value


Configure a bot to run if the condition for the cell value in an Excel sheet is met. This example
demonstrates how to configure the following two conditions: cell value is equal to and cell value is not
equal to.
1. Create an Excel document with an empty sheet.
2. Configure an Open action from the Excel basic or Excel advanced package to open the Excel sheet.
3. Create a string variable named EmptyString.

At runtime, the bot compares the value of a cell to an empty string variable and prints a message, based
on whether the cell is empty or not.
1. Use the Get single cell action to assign the value of a cell to a string variable.
a) Double-click or drag the Get single cell action from the same package that you used for the
Open action.
b) Provide the session name that you used in the Open action.
c) Select the Active cell option.
d) In the Store cell contents to field, create the variable Output.
e) Click Apply.

2. Use the If action to configure the conditional statement.


a) Double-click or drag the If action.
b) Select String from the Condition drop-down list.
c) In the Source value field, insert the variable Output.
d) Select the Equals to as the Operator.
e) In the Target value field, insert the variable EmptyString.
f) Click Apply.

3. Insert a Message box into the If container.


a) Drag the Message box action.
b) In the Enter the message to display field, enter Cell is empty.
c) Click Apply.

4. Use the Else and Message box actions to configure the alternative path.
a) Drag the Else action.
b) Drag the Message box action into the Else container.
c) In the Enter the message to display field, enter Cell is not empty.
d) Click Apply.

5. Click Save.

© 2020 Automation Anywhere. All rights reserved.     278


    Automation Anywhere - Build

6. Run the bot.


As the bot runs, the message box appears with the message Cell is empty.
7. Enter a value into the Excel sheet and save the sheet.
8. Run the bot.
As the bot runs, the message box appears with the message Cell is not empty.

Image Recognition package


The Image Recognition package contains actions that enable you to search for a user interface (UI)
element in an application based on an image to automate a task in that application.

Actions in the Image Recognition package

Use these actions to automate a task when it is not possible to capture UI elements of applications that
are:
• Exposed over Citrix
• Accessed using the Remote Desktop Protocol (RDP)
• Developed using legacy technology

Image recognition is also useful when object-based recognition does not work or is unreliable. For
example, you can use an image to search for the Close button in an application and perform a left-click
operation.
The Image Recognition package contains the following actions:

Action Description

Find file image inside window image See Using Find image in window action.
Find window image inside window See Using the Find window in window action.

Using Find image in window action


Use the Find image in window action to search for a UI element in an application window using a target
image. The target image is an existing image that you can use to search for a UI element. For example,
use an image to search for the Cancel button in an application window.
To find an image inside an application window, follow these steps:
1. Double-click or drag the Find file image inside window image action from the Image Recognition
package in the Actions palette.
2. Specify the application in which you want to find the image:
a) Click the Window tab to select the application window from the list in which you want to find
the image.
You can also provide the title of the application window in the Window title field.
b) Click the Variable tab to use a string variable to specify the title of the application window you
want to use.

© 2020 Automation Anywhere. All rights reserved.     279


    Automation Anywhere - Build

3. Optional: Select the Image Co-ordinates check box to specify the area of the application window in
which you want to find the image.
a) Specify values in the Left, Top, Right, and Bottom fields to specify the area of the application
window that you want to use.

4. In the Wait before capturing the image (ms) field, specify the delay (in milliseconds) before finding
the image.
5. Specify the target image that you want to find in the application window.
• Control Room file: Uses an image file that is available on the Enterprise Control Room.
• Desktop file: Uses an image file that is available on your device.
• Variable: Uses a file variable to specify the location of the image file you want to use.

Note: Images of .jpeg, .jpg, .jpe, .jfif, .bmp, and .gif formats are supported.

6. In the Image occurrence field, enter a value to specify the occurrence of the target image on which
you want to perform the action.
7. In the Match percentage field, specify the acceptable percentage of matching pixels between the
two images.
For example, if you specify 20 in the field as the match percentage, the system considers the images
as matching even if there is up to 80% of pixel mismatch between the two images.
8. Select an option from the Action list to specify the action you want to perform on the matched
image in the application window.
9. Optional: Select the Repeat if image not found check box if you want the system to find the target
image if it is not found.
a) In the Times field, specify the number of times the system must repeat the process to find the
target image.
b) In the Wait between repeats field, specify the time period the system must wait before repeating
the process of finding the target image.

10. Click Apply.

Using the Find window in window action


Use the Find window in window action to search for a UI element in an application window using a
screenshot of a window. This action enables you to capture an image of a UI element in an application
and use the captured image to search for that UI element in another window.
To use an image available in an application window to find an image in another application window,
follow these steps:
1. Double-click or drag the Find window image inside another window image action from the Image
Recognition package in the Actions palette.
2. Specify the application in which you want to find the image:
a) Click the Window tab to select the application window from the list in which you want to find
the image.
You can also provide the title of the application window in the Window title field.
b) Click the Variable tab to use a string variable to specify the title of the application window you
want to use.

3. Optional: Select the Image Co-ordinates check box to specify the area of the application window in
which you want to find the image.

© 2020 Automation Anywhere. All rights reserved.     280


    Automation Anywhere - Build

a) Specify values in the Left, Top, Right, and Bottom fields to specify the area of the application
window that you want to use.

4. In the Wait before capturing the image (ms) field, specify the delay (in milliseconds) before finding
the image.
5. Specify where to obtain the target image. Click one of the following options:
• Captured image
• Enterprise Control Room file
• Desktop file
This action supports .jpg, .jpeg, .jpe, .jfif, .bmp, and .gif file extensions.
• File type variable

If you select Captured image, perform Steps 6 through 8. Otherwise, skip to Step 9.
6. Specify whether to capture the image relative to the screen or window.
Use the Window option when you work with varying screen resolutions (for example, a dual
monitor).
7. Click Capture image to capture the target image.
8. Drag the mouse pointer over an area of the application window.
The captured area appears in the Preview section.
9. In the Image occurrence field, enter a value to specify the occurrence of the target image on which
you want to perform the action.
10. In the Match percentage field, specify the acceptable percentage of matching pixels between the
two images.
For example, if you specify 20 in the field as the match percentage, the system considers the images
as matching even if there is up to 80% of pixel mismatch between the two images.
11. Select an option from the Action list to specify the action you want to perform on the matched
image in the application window.
12. Optional: Select the Repeat if image not found check box if you want the system to find the target
image if it is not found.
a) In the Times field, specify the number of times the system must repeat the process to find the
target image.
b) In the Wait between repeats field, specify the time period the system must wait before repeating
the process of finding the target image.

13. Click Apply.

IQ Bot package
The IQ Bot package enables you to upload and download documents from an IQ Bot server.

Actions in the IQ Bot package

The IQ Bot package includes the following actions:

Action Description

Download all See Download all documents action.


documents

© 2020 Automation Anywhere. All rights reserved.     281


    Automation Anywhere - Build

Action Description

Upload document See Upload document action.

Related tasks
Upload multiple files with IQ Bot using Loop action

Download all documents action


Use the Download all documents to download the extracted results from an server that were created by
running a with the Upload Document .
extracts fields from documents and exports them as CSV files. This can also download any unclassified,
untrained, and invalid documents to your local directory.
Follow these steps to download extracted results from the server:
1. In the palette, double-click or drag the Download all documents from the IQ Bot .
2. In the Learning instance name field, select the name.
3. In the Local output folder field, provide a path to your local folder.
4. In the Document status, select the appropriate status for the documents.
• Success: Documents have been processed and are in .CSV format.
• Invalid: Documents were marked as invalid during the validation process.
• Unclassified: Documents could not be classified.
• Untrained: Documents were classified into new groups during processing and require training.

5. In the Delete files from the server after downloading check box, select the option to delete
documents.
6. Optional: In the Save the response to a variable field, add a variable. For example, select prompt-
assignment - string from the drop-down list.
A variable value in this field provides information on whether the download was successful or failed,
and the reason for the failure.
7. Click Update.
8. Click Save.
9. Click Run now.
10. Click Close.

Note: If the download fails, verify the variable value using a Message Box or Log to File . See the
Save the response to a variable description.

11. Navigate to the local output folder to review the downloaded files.

Upload document action


The Upload Document action enables you to upload a document with . extracts fields from the
document and exports them to CSV files.
• Gain access to an .
• Ensure your local host is a registered device in the .

Use the Upload Document action to upload a single document to the .


Follow these steps to upload a document:
1. In the palette, double-click or drag the Upload Document from the IQ Bot .

© 2020 Automation Anywhere. All rights reserved.     282


    Automation Anywhere - Build

Note: A file size of 50 MB is supported for the upload action.

2. In the Learning instance name field, select the name.


3. In the File path field, specify the location or type of the file.
4. Optional: In the Save the response to variable field, add a variable. For example: select prompt-
assignment - string from the drop-down list.
A variable value in this field provides information about the file upload process: if the upload was
successful or failed, and the reason for the failure.
5. Click Apply.
6. Click Save.
7. Click Run now.
8. Click Close.

To upload multiple files, see Upload multiple files with IQ Bot using Loop action.

JavaScript package
The JavaScript package contains actions to run a JavaScript from a bot.

Before you start

1. Open a JavaScript file, or specify the script you want to run using the Open action. You must
associate the details of the file or script you want to run with a session name. Use this same session
name for other JavaScript actions.
2. Use the Run JavaScript action to run a function within a script or an entire script. You must use the
same JavaScript session name established in the Open action.
3. Close the JavaScript session after running the script.

Actions in the JavaScript package

The JavaScript package includes the following actions:

Note: The Open action must be the first action to use the JavaScript in a task. These actions can run a
JavaScript on Windows, Linux, and UNIX based devices.

Action Description

Close Closes the session.


• Specify the same session name from the Open action.

© 2020 Automation Anywhere. All rights reserved.     283


    Automation Anywhere - Build

Action Description

Open Opens a JavaScript file.


• In the JavaScript session field, specify a session name. Use this same
session name for other JavaScript actions.
• In the JavaScript, choose one of the following options:
• In the Import existing file option, select an existing JavaScript file.
• In the Manual input option, enter the JavaScript.

Run JavaScript Runs a function within the JavaScript.


• In the JavaScript session field, specify a session name. Use the same
session name from the Open action.
• Optional: Specify the function name to run and the arguments to pass
to the function.

Note: You can pass only a list variable as an argument for the
function. You can use the list variable to pass multiple arguments of
different data types such as Boolean, datetime, number, and string.
• Optional: In the Assign the output to variable field, specify the variable.

Resources

To learn more, see Training - Write inline scripts in a bot. This course introduces you to writing inline
scripts within a command.

Note: You must log in with a registered A-People Community account to access course.

Simulate Keystrokes package


Use the Keystrokes package to simulate keystrokes in Chinese (simplified and traditional), English, French,
German, Japanese, Korean, Italian, or Spanish characters.

Action in the Keystrokes package

The Keystrokes package includes the following action:

Action Description

Keystrokes See Using Keystrokes action.

Video: Using Simulate Keystrokes

Related tasks
Build a basic bot that uses a desktop application

© 2020 Automation Anywhere. All rights reserved.     284


    Automation Anywhere - Build

Build a bot that uses a conditional statement to verify that the calculator is open, then uses the calculator
to multiply two numbers. This example uses the If, Message box, Simulate keystrokes, and Window
actions.

Using Keystrokes action


Use the Keystrokes action to simulate keystrokes.
Follow these steps to add a Keystrokes action:
1. In the Actions palette, double-click or drag the Keystrokes action from the Keystrokes package.
2. In the Select window, select an option:
• Window: Captures a window on a desktop.
• Variable: Inserts an existing window variable.

3. In the Window title field, specify the application window title.


4. In the Keystrokes, select a radio button:
• Enter keystrokes here or use the on-screen keyboard: Type or use the keyboard to enter
keystrokes.

• Select a credential: Uses a password stored in the Credential Vault.

5. Optional: In the Delay between each keystroke in ms field, the delay time.

Note: The default is set to 10 milliseconds.

6. Click Apply.
7. Click Save.

List package
The List package contains actions that enable you to perform various operations on a variable of the list
data type.

Working with variables of list data type

A list is a collection of ordered values. The values can be of Boolean, number, or string data subtype.
When initializing a list variable, you can select the Any data subtype in order to hold any of the three data
subtypes. You can manually enter values by creating a new variable or selecting an existing one from the
Variables menu, and then clicking Add.
Common uses of list variables include:
• Sending an email to multiple recipients.
• Searching multiple web addresses.

Actions in the List package

If you are using a List action in a Loop action, you must use the For each item in the list iterator.
The following actions are available in the List package:

© 2020 Automation Anywhere. All rights reserved.     285


    Automation Anywhere - Build

Action Description

Add item Inserts an item into a list variable. You can choose to add the item at the
end of the list or specify a position in the list.
• Select the list variable in which to add an item from the List variable
list.
• Select the variable that contains the value to add from the Item to be
added list.

Note: The variable must be of the same sub-data type as the other list
items.
• Select the To end of list option to insert the item at the end of the list
or select At list index to specify the index in the list where to insert the
item.
The list index starts from 0. The first item in the list is at position '0',
the second item at '1', and so on. For example, to add an item at the
fourth position in a list, enter '3' in the At list index field.

Assign Assigns the value of the source list to the destination list variable.

Note: The source and destination list variables must be of the same sub-
data type.

Select the source list variable from the drop-down list. Select a variable or
create one to hold the output.

Clear Clears all items from the selected list variable.


Get item Retrieves a value at the specified position in a list and stores the output to
a variable.
• Select the list variable from which you want to retrieve a value from
the List variable list.
• Specify the position in the list from where you want to retrieve the
value in the Index number field. The list index starts from 0. The first
item in the list is at position '0', the second item at '1', and so on.
• Select a variable that you want to use to store the output from the
Assign the output to variable list.

Join items Combines all the available values in a list variable and stores the output
to a string variable. You can specify the delimiter you want to use as a
separator in the output.
• Select the list variable that you want to use from the List variable list.
• Specify the delimiter you want to use to separate values in the output
in the Delimiter field.
• Select a variable that you want to use to store the output from the
Assign the output to variable list.

© 2020 Automation Anywhere. All rights reserved.     286


    Automation Anywhere - Build

Action Description

Remove item Removes an item from a list and assigns the output to a variable.
• Select the list variable from which you want to remove an item from
the List variable list.
• Specify the position in the list from where you want to remove the
value in the Index number field. The list index starts from 0. The first
item in the list is at position '0', the second item at '1', and so on.
• Select a variable that you want to use to store the output from the
Assign the output to variable list.

Set item Sets an item at the specific position in a list and stores the output in a
variable.
• Select the list variable in which you want to set a value from the List
variable list.
• Specify the position in the list where you want to set the item in the
Index number field. The list index starts from 0. The first item in the list
is at position '0', the second item at '1', and so on.
• Select a variable that you want to use to store the output from the
Assign the output to variable list.

Size Retrieves the number of items in a list and assigns the output to a number
variable.
• Select the list variable for which you want to retrieve the size from the
List variable list.
• Select a number variable that you want to use to store the output
from the Assigns the number of items to variable list.

Related reference
Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
Variables and credentials
Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).

Log To File package


Use the Log To File package to create a log file with data.
The Log To File package enables the following:
• Verify that a bot ran properly.
• Create a new log file.
• Specify custom text to be included in the log file.
• Add a time stamp to the log file.
• Use a log file as a variable.

Note: The package supports ANSI, Unicode, and UTF8. It can save files as .csv and .txt.

© 2020 Automation Anywhere. All rights reserved.     287


    Automation Anywhere - Build

Actions in the Log To File package

The Log To File package includes the following action:

Action Description

Log to file See Using Log To File action.

Using Log To File action


Using the Log To File action, you can create a log file with data about the events that occur when a
TaskBot runs.
Follow these steps to log text into a file:
1. In the Actions palette, double-click or drag the Log To File action from the Log To File package.
2. In the File path field, specify the file location or variable.
3. In the Enter text to log field, enter the text to log in the file.
4. Select the Append timestamp check box to add a time stamp.
5. In the When logging field, choose Append to existing file to append the log file or Overwrite existing
log file to overwrite the content in the log file.
6. In the Encoding field, specify the value.
7. Click Apply.
8. Click Save.

Loop package
Use the Loop package to run a sequence of actions repeatedly for a specific number of times or until a
specific condition is met.
The Loop package enables you to repeatedly run specific actions within a bot. For example, repeat the
set of actions that read data from each row of a Microsoft Excel file, rename all files in a folder, save
each email in a mailbox, and so on. You can also use the If action within the Loop action to validate a
condition, and based on the outcome of it, skip the current iteration in the loop or even break the loop.
For conditional loops, different actions are taken depending on whether the conditional parameters are
met. For loops that have a specified number of iterations, the loop exits on the last iteration and goes to
the next step in the bot.

Actions in the Loop package

The following Loop actions are available:

Action Description

Loop Repeats the action for a specific number of times based on the option
selected from the Iterator list, or until the condition is met based on the
option selected from the Condition list. See Using Loop action.
Continue Use the Continue action along with the If action to skip the current
iteration and continue with the next iteration in the loop based on the
condition you have specified in the If action. See If package .

© 2020 Automation Anywhere. All rights reserved.     288


    Automation Anywhere - Build

Action Description

Break You can use the Break action along with the If action to terminate the
loop based on the condition you have specified in the If action. When
you terminate the loop, the actions immediately following the Loop
action run. See If package .

Iterator related conditions within the Loop action

Select the Iterator option to specify the number of times the set of actions will be repeated as part of the
Loop action:

Iterator Description

For each row in CSV/ Repeats the set of actions for each row in the specified CSV or text file
TXT and assigns the values in the current row to a Record variable. See Using
Read action in loop.
For each row in Data Repeats the set of actions for each row in the specified table and assigns
Table the values in the current row to a Record variable.
For each row in a SQL Repeats the set of actions for each row in the specified SQL query
query dataset dataset and assigns the values in the current row to a Record variable.
Provide the session name that you have used to establish a connection
with the database.
For each key in the Repeats the set of actions for each key in the specified Dictionary variable
Dictionary and assigns the name of the current key to a variable.
For each value in the Repeats the set of actions for each value in the specified Dictionary
Dictionary variable and assigns the current value to a variable. Since this variable type
can hold various sub-types (String, Number, Boolean, ect), if you quick-
create a variable while configuring the action, the variable is of Any type..
For each mail in Repeats the set of actions for each email in the specified mailbox. See
mailbox Using Email action in loop.
For each row in Repeats the set of actions for each row that contains data in a worksheet
worksheet (Excel basic and assigns the values in the current row to a Record variable. Provide
Basic and Advanced) the session name that you have used to open the Excel basic worksheet.
Specify whether to repeat the actions for all the rows, specified rows, or a
specified cell range.
For each file in folder Repeats the set of actions for each file in the specified folder and assigns
the properties of the current file to a Dictionary variable containing two
keys: the name key holds the file name and the extension key holds the
file extension.
For each folder in Repeats the set of actions for each folder in the specified folder and
folder assigns the current folder name to a String variable.

© 2020 Automation Anywhere. All rights reserved.     289


    Automation Anywhere - Build

Iterator Description

For each item in the Repeats the set of actions for each item in the specified list and assigns
list the current item to a variable. Specify whether to repeat the action for all
items in the list or only for the range of items in the list. Since this variable
type can hold various sub-types (String, Number, Boolean, ect), if you
quick-create a variable while configuring the action, the variable is of Any
type.

Note: The index in a list starts from zero. For example, to repeat the
action for items from the third position to the sixth position of the list,
specify '2' and '5' in the appropriate fields.

For n times Repeats the actions in the container the specified number of times. You
can assign the iteration count to a Number variable.
For each value in Repeats the actions for each value in the specified record and assigns the
record current value to a variable. Since this variable type can hold various sub-
types (String, Number, Boolean, ect), if you quick-create a variable while
configuring the action, the variable is of Any type..
For each meeting in Use this option to repeat the set of actions for each meeting in the
calendar specified calendar. See Using Office 365 Calendar actions in a loop.
For each row in Repeats the set of actions for each row that contains data in a worksheet.
worksheet (Office 365
• Provide the session name that you have used to open the worksheet.
Excel)
• Specify whether to repeat the actions for all the rows or specific rows.
• You can assign the values in the current row to a Record variable.

For each node in a Repeats the set of actions for each node in an XML dataset and assigns
XML dataset the current node to String variable. Provide the session name that you
have used to open the XML file.

While related conditions in the Loop action

Select the While option to use the following conditions:

While Description

Application is or is not Repeat the set of actions based on whether an application is running or
running not. Enter the application path or specify the path using a variable along
with the number of seconds to wait for this condition to be true.
Boolean variable Use this condition to repeat the set of actions based on the value of
a Boolean variable. Use this condition to compare the values of two
Boolean variables by entering or selecting the second variable from the
Select an existing Boolean field.
Dictionary Use this condition to repeat the set of actions based on whether the
selected dictionary variable contains the specified key.

© 2020 Automation Anywhere. All rights reserved.     290


    Automation Anywhere - Build

While Description

File Use the following conditions to execute the action:


• File date
Use this condition to verify the date and time that the specified file
was created or modified. Specify a date range using the Is within last,
Is between, or Is before options. For the Is within last option, specify
the number of days or time (in hours, minutes, and seconds). Enter the
amount of time (in seconds) to wait for this condition to be true.
• File exists and File does not exist
Use these conditions to execute an action based on whether a file
exists. For example, if a data file exists, format the file and upload it to
a database.
• File size
This condition verifies if the specified file is larger, smaller, not the
same, or the same as the size you specify.
Enter the amount of time (in seconds) to wait for this condition to be
true.

Folder does or does Use these conditions to repeat the set of actions based on whether a
not exists folder exists.
List Use this condition to repeat the set of actions based on whether the
specified List variable contains a particular value. The value can be of
Number, String, or Boolean.
Number Use this condition to repeat the set of actions based on whether the
specified Number variable is equal to/not equal to/is greater than or equal
to/is lesser than or equal to a particular value.
Ping is successful/Ping Use these conditions to verify if a machine or server is running, and
is unsuccessful repeat the set of actions based on the result. Enter the number of
seconds to wait for this condition to be true.
String Use this condition to repeat the set of actions based on whether the
specified String variable Equals to/Not equal to/Includes/Does not
include a particular value.
Window exists/ Use these conditions to verify if a specific Windows application is open by
Window does not exist entering the window title or using a Window variable. Enter the number
of seconds to wait for this condition to be true.

Using Loop action


Use the Loop action to repeatedly run a sequence of actions for a specific number of times or until a
condition is met.
To repeatedly run a sequence of actions, do the following:
1. Double-click or drag the Loop action from the Actions palette.

© 2020 Automation Anywhere. All rights reserved.     291


    Automation Anywhere - Build

2. Set the desired conditions for the loop.


Option Action

Select the Iterator option to repeat the sequence Select an option from the Iterator list to specify
of actions for a specific number of times. how many times the sequence of actions is to
be repeated.
See Loop package for the list of available
options.

Select the While option to repeat the sequence a. Select an option from the Condition list to
of actions until a condition is met. specify the condition.
b. Select the Check the condition at the end of
the iteration to validate the condition at the
end of each iteration. This option enables
you to ensure that the set of actions run at
least one time, even if the condition is not
met.

3. Double-click or drag the actions to be repeated within the Loop.


4. Optional: Double-click or drag the Continue action from the Loop package to skip the current
iteration and continue with the next iteration of the loop.
5. Click Apply.

Video: Using the Loop action

Message box package


Use the Message box action from the Message box package to insert a message box that shows a
message when the task runs. For example, you can insert a Message Box action to follow a web form so
that the action displays the message: Web Form Filled and Complete.
For more information, see Using the Message box action.
Use the following examples to learn how to use the Message box action when building automations.
• Build a Go be Great bot
Build a basic TaskBot using a Message Box action and a variable.
• Build a basic bot that uses a desktop application
An example of how to build a basic TaskBot that uses the calculator application.

Using the Message box action


Use the Message box action to insert a message box that shows a message when the task runs.
1. Double-click or drag the Message box action from the Message box package in the Actions palette.
2. Enter a window title for the message box.
3. Enter the message to display.

Note: The single dollar sign ($) is reserved for the Automation Anywhere back-end system. If you
want to display a dollar sign ($) in your message, you must enter two dollar signs ($$). For example, if

© 2020 Automation Anywhere. All rights reserved.     292


    Automation Anywhere - Build

you want to display the message, Pay $5.00, that message must say Pay $$5.00 in A2019 for it to
display properly to users.

4. Specify the number of lines at which to show a scroll bar.


5. Optional: Select the Close message box after option and specify the number of seconds after which
the message box closes automatically.

Important: Select this check box if the bot will run on an unattended machine.

6. Click Apply.

Microsoft LUIS NLP package


The Microsoft LUIS NLP package contains actions that enable you to connect to and consume the
Microsoft Cognitive Services Text Analytics API to identify the language, sentiment, key phrases, and
entities. This package supports the following languages: English, Chinese (Simplified), French, German,
and Spanish.

Before you start

You must have an Azure Cognitive Services resource to use these actions. See Create a Cognitive
Services resource using the Azure portal.
You also require the following in order to use the actions:
• Service Endpoint URL: the endpoint URL that identifies the Azure service.
• Subscription Key: the unique key that authenticates Automation Anywhere Enterprise.

Actions in the Microsoft LUIS NLP package

Action Description

Detect language Identifies the language of the provided content and returns it in ISO
639-1 language code. The output is stored in a string variable.
Get key phrases Identifies the main points and returns a list of key phrases. For example, if
the input text is about a basketball game, this action returns the names of
teams, the name of the venue, and the final score.
Get named entities Identifies the entities in the provided content such as people, places,
organizations, date/time, quantities, branded products, and book titles.
The output is stored in a dictionary variable, where each name is a key,
and the corresponding entity is the value.

Get sentiment Analyzes the provided content and returns a sentiment and score.
• If the score is greater than 0.6, the sentiment is Positive.
• If the score is in the 0.2 through 0.6 range, the sentiment is Neutral.
• If the score is less than 0.2, the sentiment is Negative.

The output is stored in a dictionary variable containing two keys and their
corresponding values: sentiment and score.

© 2020 Automation Anywhere. All rights reserved.     293


    Automation Anywhere - Build

Mouse package
Use the Mouse package to simulate mouse actions.

Actions in the Mouse package

The Mouse package includes the following actions:

Action Description

Click See Using the Click action.


Move See Using the Move action.
Scroll See Using the Scroll action.

Using the Click action


Use the Click action to enable a bot to simulate mouse clicks. This action enables to capture the UI
element such as the screen or window, and to specify the click event and click button.
Follow these steps to add a Click action:
1. In the Actions palette, double-click or drag the Click action from the Mouse package.
2. In the Window title, select an option:
• Screen: Captures coordinate on a screen.
• Window: Captures a window on a desktop.
• Variable: Inserts an existing window variable.

3. In the Window title field, specify the application window title.


4. Select base coordinates relative to the screen or window.
Selecting the window is recommended because screen sizes can change, distorting the captured
coordinates.
5. In the Mouse position field, specify the X and Y coordinates.
6. Click Capture coordinate.
7. In the Button option, specify the button to click.
Choose from Left Button, Right Button, or Middle Button.
8. In the Event option, specify the event.
Choose from Click, Double click, Button up, or Button down.
9. Click Apply.
10. Click Save.

Using the Move action


Use the Move action to simulate moving the mouse pointer from one location to another.
Follow these steps to add a Move action:
1. In the Actions palette, double-click or drag the Move action from the Mouse package.
2. In the Mouse from and Mouse to fields, specify the X and Y coordinates.
3. Click Capture coordinate to capture the starting point location.
4. Click Capture coordinate to capture the end point location.

© 2020 Automation Anywhere. All rights reserved.     294


    Automation Anywhere - Build

5. Optional: In the Delay in milliseconds field, specify the total duration of the movement in
milliseconds.
6. Click Apply.
7. Click Save.

Using the Scroll action


Use the Scroll action to simulate scrolling the mouse wheel up or down.
Follow these steps to add a Scroll action:
1. In the Actions palette, double-click or drag the Scroll action from the Mouse package.
2. In the Select scroll option, select the Up or Down option.
3. In the Number of iterations field, specify the number of times to scroll.
4. Optional: In the Delay in milliseconds field, specify the total duration of the scrolling in milliseconds.
5. Click Apply.
6. Click Save.

Number package
The Number package contains actions that enable you to perform various operations on a Number
variable.

Actions in the Number package

The actions in the Number package accept a variable as an input and assign the output to a variable.
These actions enable you to assign a value to a Number variable, decrement or increment a number, or
convert a Number variable to a String variable.
The Number package includes the following actions:

Action Description

Assign Assigns a specified number to a user-defined


Number variable.
• Enter a number or select a predefined
Number variable.
• Assign the output to a predefined Number
variable.

Decrement Decrements (decreases by set intervals) a


number by a user-specified value.
• Enter a number or select a predefined
Number variable.
• Enter the decrement value or select a
predefined Number variable.
• Assign the output to a predefined Number
variable.

© 2020 Automation Anywhere. All rights reserved.     295


    Automation Anywhere - Build

Action Description

Increment Increments (increases by set intervals) a number


by a user-specified value.
• Enter a number or select a predefined
Number variable.
• Enter the increment value or select a
predefined Number variable.
• Assign the output to a predefined Number
variable.

To string Converts a user-specified number to a string.


• Enter a number or select a predefined
Number variable.
• Enter the amount of digits after the decimal.
• Assign the output to a String variable. You
can use prompt-assignment while building
and testing the bot.

Important: Ensure that you reassign the


values from prompt-assignment to a user-
created variable before deploying the bot
into production.

OCR package
The OCR package contains actions that enable you to extract text from images or applications.
The OCR package enables you to:
• Extract text from a window or a specific area of an application.
• Extract text from images or files stored on a local machine, a website, or the Enterprise Control Room
folder.
• Filter extracted text and store it as a variable.

Note: You can extract text from images in .jpeg, .jpg, .bmp, .gif, and .png formats.

ABBYY FineReader 12 is installed along with A2019 and does not require any additional setup.

Actions in the OCR package

The OCR package includes the following actions:

Action Description

Capture image by path See Using Capture image by path action.


Capture image by url See Using Capture image by URL action.
Capture window See Using Capture window action.

© 2020 Automation Anywhere. All rights reserved.     296


    Automation Anywhere - Build

Action Description

Capture area See Using Capture area action.

Using Capture image by path action


Use the Capture image by path action to extract text from an image on a device or a folder in the
Enterprise Control Room. The extracted text can assigned as a variable.
Follow these steps to use the Capture image by path action:
1. In the Actions palette, double-click or drag the Capture image by path action from the OCR package.
2. In the Image path field, select an option:
• Control Room file: Uses a file that is available on the Enterprise Control Room.
• Desktop file: Uses a file that is available on a device.
• Variable: Uses a file variable to specify the file location.

3. Select the Filter the captured text check box to filter the captured text.
Specify the text to filter out in the Before and After fields. For example, if the extracted text is Name:
ABC Inc. Location:, to retrieve ABC Inc., you must specify Location: in the Before field
and Name: in the After field.
4. Select the Trim the captured text check box to trim the extra spaces.
5. Select the Load Profile check box and select an option to load the locale based on the ABBYY
profile:
• Control Room file: Uses a file that is available on the Enterprise Control Room.
• Desktop file: Uses a file that is available on a device.
• Variable: Uses a file variable to specify the file location.

6. In the Select locale list, select the language of the device.

Note: Currently, only English and Japanese locales are supported. If you have selected an option
from the Select locale list and the Load Profile option, the system considers the locale based on the
Load Profile selection.

7. In the Assign value to variable list, select a string variable.


8. Click Apply.
9. Click Save.

Using Capture image by URL action


Use the Capture image by url action to extract text from an online image. You can filter the extracted text
and assign it to a string variable.
Follow these steps to use the Capture image by url action:
1. In the Actions palette, double-click or drag the Capture image by url action from the OCR package.
2. In the Image url field, specify the URL.

Note: A URL of an image on a shared drive or an FTP server is not supported.

3. Select the Filter the captured text check box to filter the captured text.
Specify the text to filter out in the Before and After fields. For example, if the extracted text is Name:
ABC Inc. Location:, to retrieve ABC Inc., you must specify Location: in the Before field
and Name: in the After field.
4. Select the Trim the captured text check box to trim the extra spaces.

© 2020 Automation Anywhere. All rights reserved.     297


    Automation Anywhere - Build

5. Select the Load Profile check box and select an option to load the locale based on the ABBYY
profile:
• Control Room file: Uses a file that is available on the Enterprise Control Room.
• Desktop file: Uses a file that is available on a device.
• Variable: Uses a file variable to specify the file location.

6. In the Select locale list, select the language of the device.

Note: Currently, only English and Japanese locales are supported. If you have selected an option
from the Select locale list and the Load Profile option, the system considers the locale based on the
Load Profile selection.

7. In the Assign value to variable list, select a string variable.


8. Click Apply.
9. Click Save.

Using Capture window action


Use the Capture window action to extract text from an application window. You can filter the extracted
text and assign it to a string variable.
Follow these steps to use the Capture window action:
1. In the Actions palette, double-click or drag the Capture window action from the OCR package.
2. In the Window title field, select an option:
• Window: Captures a window on a desktop. In the Window title field, specify the application title.
• Variable: Inserts an existing window variable. Click Variable tab to create a new string variable.

3. In the Wait before capturing the image (ms) field, specify the delay time.
4. Select the Filter the captured text check box to filter the captured text.
Specify the text to filter out in the Before and After fields. For example, if the extracted text is Name:
ABC Inc. Location:, to retrieve ABC Inc., you must specify Location: in the Before field
and Name: in the After field.
5. Select the Trim the captured text check box to trim the extra spaces.
6. Select the Load Profile check box and select an option to load the locale based on the ABBYY
profile:
• Control Room file: Uses a file that is available on the Enterprise Control Room.
• Desktop file: Uses a file that is available on a device.
• Variable: Uses a file variable to specify the file location.

7. In the Select locale list, select the language of the device.

Note: Currently, only English and Japanese locales are supported. If you have selected an option
from the Select locale list and the Load Profile option, the system considers the locale based on the
Load Profile selection.

8. In the Assign value to variable list, select a string variable.


9. Click Apply.
10. Click Save.

© 2020 Automation Anywhere. All rights reserved.     298


    Automation Anywhere - Build

Using Capture area action


Use the Capture area action to extract text from a specific area in an application window. You can filter
the extracted text and assign it as a variable.
Follow these steps to use the Capture area action:
1. In the Actions palette, double-click or drag the Capture area action from the OCR package.
2. In the Window title field, select an option:
• Window: Captures a window on a desktop. In the Window title field, specificy the application title.
• Variable: Inserts an existing window variable. Click Variable tab to create a new string variable.

3. Specify the X, Y, Width, and Height coordinates.


4. Click Capture region.
5. In the Wait before capturing the image (ms) field, specify the delay time.
6. Select the Filter the captured text check box to filter the captured text.
Specify the text to filter out in the Before and After fields. For example, if the extracted text is Name:
ABC Inc. Location:, to retrieve ABC Inc., you must specify Location: in the Before field
and Name: in the After field.
7. Select the Trim the captured text check box to trim the extra spaces.
8. Select the Load Profile check box and select an option to load the locale based on the ABBYY
profile:
• Control Room file: Uses a file that is available on the Enterprise Control Room.
• Desktop file: Uses a file that is available on a device.
• Variable: Uses a file variable to specify the file location.

9. In the Select locale list, select the language of the device.

Note: Currently, only English and Japanese locales are supported. If you have selected an option
from the Select locale list and the Load Profile option, the system considers the locale based on the
Load Profile selection.

10. In the Assign value to variable list, select a string variable.


11. Click Apply.
12. Click Save.

Office 365 Calendar package


The Office 365 Calendar package contains actions that enable you to automate meeting-related tasks in
Office 365 Calendar.

Before you start

Perform the following actions within the Office 365 Calendar package as part of using the set of available
actions:
1. Use the Connect action to establish a connection to the Office 365 server.
See Using the Connect action.

© 2020 Automation Anywhere. All rights reserved.     299


    Automation Anywhere - Build

2. Use a combination of actions available in this package to automate tasks.

Note: To use actions from other Office 365 packages, establish a connection using the Connect
action from that package.

3. Use the Disconnect action to terminate the connection.

Actions in the Office 365 Calendar package

The Office 365 Calendar package includes the following actions:

Note: Some of the actions must be used within a Loop action to apply the action to each meeting in the
calendar. See Using Office 365 Calendar actions in a loop.

Action Description

Add attachment Adds one or more attachments to a meeting.


Use this action within a Loop action to repeat
this operation for each meeting in the calendar.
See Loop package.
• Provide the session name that you used in
the Connect action.
• Select the files to attach from the Enterprise
Control Room or your desktop, or insert a
file variable. Separate each file path with a
comma.

Add attendees Adds one or more attendees to a meeting and


specifies whether attendance is optional or
required. During run time, this action triggers
an email notification to meeting attendees. Use
this action within a Loop action to repeat this
operation for each meeting in the calendar. See
Loop package.
• Provide the session name that you used in
the Connect action.
• Enter the attendee emails into the Required
or Optional fields. Separate each email with a
comma.

Cancel meeting Cancels the meeting. During run time, this


action triggers an email notification to meeting
attendees. Use this action within a Loop action
to repeat this operation for each meeting in the
calendar. See Loop package.
Connect Establishes a connection with the Office 365
server using your organization's client ID and
tenant ID, and user credentials.
See Using the Connect action.

Create meeting See Using the Create Meeting action.

© 2020 Automation Anywhere. All rights reserved.     300


    Automation Anywhere - Build

Action Description

Delete attendees Deletes attendees from a meeting. During run


time, this action triggers an email notification
to meeting attendees. Use this action within a
Loop action to repeat this operation for each
meeting in the calendar. See Loop package.
• Provide the session name that you used in
the Connect action.
• Select an option to delete: meeting or
attendees. To delete attendees, provide the
email addresses of the attendees, separated
by commas.

Delete meeting information Deletes information related to a meeting such


as the title or location. Use this action within a
Loop action to repeat this operation for each
meeting in the calendar. See Loop package.
• Provide the session name that you used in
the Connect action.
• Select the meeting information to delete.
The options are:
• Title
• Location
• Agenda
• Reminder
• Recurrence
• Is all day

Disconnect Terminates the connection with the Office 365


server. Enter the session name that you used in
the Connect action. Insert this action at the end
of automation sequences that use actions from
this Office 365 package.
Get available meeting slot(s) See Using the Get available meeting slots
action.

© 2020 Automation Anywhere. All rights reserved.     301


    Automation Anywhere - Build

Action Description

Modify meeting Modifies information for a meeting. Use this


action within a Loop action to repeat this
operation for each meeting in the calendar. See
Loop package.
• Provide the session name that you used in
the Connect action.
• Modify any of the following:
• Meeting start or end date.
• Convert the meeting to all day.
• Revise the meeting title.
• Revise the agenda.
• Update the location.
• Update the reminder.
• Update the recurrence, frequency, start
date, and end date.

Respond to meeting Responds to a meeting as accepted, rejected,


or tentative. You can also add a message to the
response. Use this action within a Loop action
to repeat this operation for each meeting in the
calendar. See Loop package.

Using the Create Meeting action


Use the Create Meeting action to specify a meeting agenda, attachments, attendees, duration, location,
recurrence, and title. During run time, this action sends an invitation email to meeting attendees.
This action uses two Datetime variables to set the meeting start and end. Define the values before
you start. The recurrence option also uses two Datetime variables to set the start and end. For more
information, see User-defined variables.
To create a meeting, do the following:
1. Enter the session name that you used in the Connect action.
2. Enter the calendar name.
This field is case-sensitive.
The prepopulated value is Calendar; this is the default Office 365 setting.
3. Specify the meeting start date and time.
Select a DateTime variable from the drop-down list.
4. Specify the meeting end date and time.
Select a DateTime variable with a value that is the same or after the start time.
5. Optional: Mark the All day meeting option.
For an all day meeting, ensure that there is a one-day difference between the start and end dates.
6. Enter attendee email addresses, separated by commas.
7. Optional: Enter the following details:
• Attach a file from the Enterprise Control Room, Desktop, or insert a File variable.
• Enter a meeting title.
• Enter a meeting location.

© 2020 Automation Anywhere. All rights reserved.     302


    Automation Anywhere - Build

• Enter an agenda.
• Set a reminder.
• Set a recurrence with the following options:
• Select the recurrence type: Daily, Weekly, Monthly, or Yearly.
• For Weekly recurrence, mark the days of the week on which the meeting takes place.
• For Monthly recurrence, either enter the numerical date or select a day.
For example, to schedule a meeting that takes place on the twenty-fifth day of the month
enter 25 in the Specific date field.

Note: If you enter 31 in the Specific date field, for the months with less than 31 days, the
meeting will schedule for the last day of the month.

To schedule it for the last Monday of the month, select Last from the Occurrence drop-
down list and Monday from the Weekday drop-down list.
• For Yearly recurrence, either enter the numerical date and month or select a day and
month.
For example, to schedule a meeting that takes place on March 15, enter 15 in the Specific
Date field and March in the Month field. To schedule it for the second Friday in March,
select Second from the Occurrence drop-down list, select Friday from the Weekday drop-
down list, and March from the Month drop-down list.

• Enter the recurrence frequency.


• Specify the recurrence start by selecting a DateTime variable from the drop-down list.
• If the recurrence has an end date, select a DateTime variable from the drop-down list.

Using the Get available meeting slots action


Use the Get available meeting slots action to retrieve available time slots for attendees in a specified date
and time range. This action supports scheduling across time zones.
This action considers a time slot as available if it is within an attendee's working hours and if the attendee
has not already accepted a meeting for that time. If an attendee tentatively responds or does not respond
to an invitation, this action considers them available.
To retrieve available time slots, perform the following steps:
1. Enter the session name that you used in the Connect action.
2. Enter the email addresses of the attendees, separated by commas.
3. Enter the duration of the meeting in minutes.
4. Specify the range start date and time by selecting a DateTime variable from the drop-down list.
5. Specify the range end date and time by select a DateTime variable with a value that is the same or
after the start time.
6. Optional: Select the Check for timeslots outside working hours option.
7. Select a Table variable from the drop-down list.
8. Click Apply.

Using Office 365 Calendar actions in a loop


You must use certain Office 365 Calendar actions within a Loop action.

© 2020 Automation Anywhere. All rights reserved.     303


    Automation Anywhere - Build

This action uses two Datetime variables to set the meeting start and end. Define the values before you
start. For more information, see User-defined variables.
To use an Office 365 Calendar action within a loop, follow these steps:
1. Double-click or drag the Loop action from the Loop package in the Actions palette.
2. Select the For each meeting in calendar iterator.
3. Enter the session name that you used in the Connect action.
4. Enter the calendar name.
This field is case-sensitive.
The prepopulated value is Calendar; this is the default Office 365 setting.
5. Select whether to loop through All meetings in the calendar or only meetings with the specific title.
6. Specify the meeting start date and time.
Select a DateTime variable from the drop-down list.
7. Specify the meeting end date and time.
Select a DateTime variable with a value that is the same or after the start time.
8. Optional: Enter the location.
9. Optional: Enter the duration in minutes.
10. Optional: Mark the All day meeting option.
For an all day meeting, ensure that there is a one-day difference between the start and end dates.
11. Optional: Enter the meeting owner's email address.
12. Select or create a record variable to hold the output.

Using the Connect action


Use the Connect action to establish a connection with the Office 365 server using your organization's
(client ID and tenant ID) and user credentials. By using this action at the start of an automation sequence,
you have to input the credentials only once to use other actions from this package. All of the fields in this
action accept a credential from the Credential Vault or a user-input value.

Note: The best practice is for a system administrator to perform the following steps.

1. Log in to the Azure portal using your Office 365 credentials.


2. Register your application with the Microsoft identity platform to obtain the client ID and tenant ID.
See Register your app.
3. Grant the required permissions for Microsoft Graph to the application. See Permissions for
application.
4. To add a client secret, you must first subscribe to Azure. See Subscribe to Azure.
5. Add a client secret. See Add a client secret.

To establish a connection to the Office 365 server, follow these steps:


1. In the Actions palette, double-click or drag the Connect action from the package you want to use.
2. In the User session field, enter a name for this session.
Provide this session name in subsequent actions from this package.
3. In the Username and Password fields, enter your user credentials or insert them from the Credential
Vault.

© 2020 Automation Anywhere. All rights reserved.     304


    Automation Anywhere - Build

4. In the Tenant ID field, enter the unique ID for your Office 365 subscription or insert it from the
Credential Vault.
5. In the Client ID field, enter the Office 365 client or insert it from the Credential Vault.
6. In the Client Secret Key field enter your access token or insert it from the Credential Vault.
7. Click Apply.

Permissions for application


After registering the Office 365, you must grant certain permissions to the application. These permissions
are required to enable Office 365 packages to perform various operations.
To grant permissions to an application, see Add permissions.
The following Delegated permissions for Microsoft Graph are required for Office 365 packages:

Common permissions
openid
offline_access
User.ReadWrite.All
Group.Read.All
Group.ReadWrite.All
Excel
File.ReadWrite.All
Sites.ReadWrite.All
One Drive
File.ReadWrite.All
Sites.ReadWrite.All
Calendar
Calendars.Read
Calendars.Read.Shared
Calendars.ReadWrite
Calendars.ReadWrite.Shared

Apart from the above permissions, you can grant additional permissions based on your requirements.
See, Microsoft Graph permission reference.

© 2020 Automation Anywhere. All rights reserved.     305


    Automation Anywhere - Build

Office 365 Excel package


The Office 365 Excel package contains actions that enable you to automate tasks in the online version of
Microsoft Excel.

Choosing the Excel package in Enterprise A2019

Enterprise A2019 includes packages to support three types of Microsoft Excel usage. For optimal results,
use the package that corresponds to the type of Excel that is available on the device you are running bots
on.
• No Excel installed: If you do not have Microsoft Excel installed on the device on which you are
running bots to automate Excel-related processes, use the Excel basic package.
• Desktop Excel installed: If you have a desktop version of Microsoft Excel installed on your computer,
use the Excel advanced package in your bots.
• Online Office 365 Excel only: If you are using Microsoft Excel 365 on a web browser, use the Office
365 Excel package for automating tasks related to Excel.

Before you start

1. Use the Connect action to establish a connection to the Office 365 server.
See Using the Connect action.
2. Use the Open action to select a workbook, or the Create action to create a new workbook.
3. Optional: If the workbook contains more than one worksheet, use the Activate sheet action to
specify which worksheet to use.
4. Use a combination of actions available in this package to automate tasks.

Note: To use actions from other Office 365 packages, establish a connection using the Connect
action from that package.

5. Use the Close action to exit from the workbook.


6. Use the Disconnect action to terminate the connection.

Actions in the Office 365 Excel package


The actions in the Office 365 Excel package enable you to perform the following operations:
Operations Description

Cell Perform operations related to cell and range


operations, such as append, delete, format, get
properties, and insert.
See Cell operations

Row and column Perform operations related to column and row


operations such as autofit, delete, and read.
See Column/Row operations.

© 2020 Automation Anywhere. All rights reserved.     306


    Automation Anywhere - Build

Operations Description

Table Perform operations related to the table


operations such as create, delete, filter, get
properties, rename, and sort. See Table
operations.
Workbook Automate opening, closing, and creating a
workbook.
See Workbook operations.

Worksheet Perform operations related to worksheet


operations, such as activate, delete, find, get
worksheet names, hide, retrieve worksheet
count, and show.
See Worksheet operations.

Cell operations
The Office 365 Excel package contains actions that you can use to automate tasks related to cell and
range operations, such as append, delete, format, get properties, and insert.
The Office 365 Excel package includes the following actions:

Action Description

Delete cell Deletes the Active cell or a Specific cell from the current
worksheet.
• Enter the name of the session used to open the current
workbook with the Open action.
• If you select Specific cell, enter the cell location. For example
A1.
• Select one of the following options:
• Shift cells left: Deletes the specified cell and shifts the cell
one position to left.
• Shift cells up: Deletes the specified cell and shifts the cell
one position up.
• Entire row: Deletes the entire row that contains the cell that
you have specified to delete.
• Entire column: Deletes the entire column that contains the
cell that you have specified to delete.

© 2020 Automation Anywhere. All rights reserved.     307


    Automation Anywhere - Build

Action Description

Delete range Deletes a specific range of cells.


• Enter the name of the session used to open the current
workbook with the Open action.
• Enter the cell range. For example A1:B4. This deletes an area
consisting of the first four rows by the first two columns.
• Use the radio buttons to specify whether to shift the cells up or
left.
• Shift cells up: Deletes the specified cells and shifts the cells
up by the number of rows deleted.
• Shift cells left: Deletes the specified cells and shifts the cells
left by the number of columns deleted.

Format cell See Using the Format cell action.


Get cell Retrieves the value of a cell.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell or Specific cell option and enter the cell
location.
• Assign the output to a String variable. To perform
mathematical operations, convert the string to a number. See
the String > Convert action.

Get cell/text color See Using the Get cell/text color action.
Get multiple cells Retrieves the value(s) of multiple cells within a worksheet and
assigns the output to a variable.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Multiple cells or All cells option. If you select
Multiple cells, enter the cell range, such as A1:D1. This
retrieves the values of the first four cells in the top row.
• Assign the output to a String variable. To convert the string to a
number, see the String > Convert action.

© 2020 Automation Anywhere. All rights reserved.     308


    Automation Anywhere - Build

Action Description

Go to cell Moves the cursor to a specific cell in the worksheet.


• Enter the name of the session used to open the current
workbook with the Open action.
• Select from the following options:
• Specific cell: Moves to the specified cell address.
• One cell to the left: Moves one cell left.
• One cell to the right: Moves one cell right.
• One cell above: Moves one cell up.
• One cell below: Moves one cell down.
• Beginning of row: Moves to the first cell in the same row.
• End of row: Moves to the last cell that contains data in the
same row.
• Beginning of column: Moves to the first cell in the same
column.
• End of column: Moves to the last cell that contains data in
the same column.

Insert cell Inserts a value to the Active cell or a Specific cell in the current
worksheet without overwriting the existing value.
• Enter the name of the session used to open the current
workbook with the Open action.
• If you select Specific cell, enter the cell location. For example
A1.
• After inserting the cell, you can:
• Shift cells down: Shifts the existing values down by the
specified number of rows.
• Shift cells right: Shifts the existing values right by the
specified number of columns.

Insert range Inserts the range into the current worksheet without overwriting
the existing value.
• Enter the name of the session used to open the current
workbook with the Open action.
• Enter the cell range. For example A1:B4. This inserts a range of
cells consisting of the first four rows by the first two columns.
• After inserting the cell, you can:
• Shift cells down: Shifts the existing values down by the
specified number of rows.
• Shift cells right: Shifts the existing values right by the
specified number of columns.

© 2020 Automation Anywhere. All rights reserved.     309


    Automation Anywhere - Build

Action Description

Paste cell Copies a value from a cell and pastes to a specified cell. If there is
a value in the destination cell, this action will overwrite the value.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell or Specified cell option to specify the
cell from which to copy the value. If you have selected the
Specified cell option, specify the address of the cell in the field.
• Enter the destination cell address to paste the value. For
example, B3.

Read cell format Gets the format of the Active cell or Specified cell and assigns the
output to a string variable. This action returns a blank value if the
specified cell does not contain a formula.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell or Specified cell option to specify the
cell from which to read the format. If you have selected the
Specified cell option, specify the address of the cell in the field.
• Select a String variable to store the cell format from the Assign
the output to variable list.

Read cell formula Gets the formula available in the Active cell or Specified cell and
assigns the output to a string variable. This action returns a blank
value if the specified cell does not contain a formula.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell or Specified cell option to specify the
cell from which to read the formula. If you have selected the
Specified cell option, specify the address of the cell in the field.
• Select a string variable to store the name of the formula from
the Assign the output to variable list.

Set cell Sets a value in the Active cell or Specific cell in a Microsoft Excel
spreadsheet or a CSV file. You can also use this action to set a
formula.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell or Specified cell option to specify the cell
in which to set the value. If you have selected the Specified cell
option, specify the address of the cell in the field.
• Enter the value to set in the Cell value field.

© 2020 Automation Anywhere. All rights reserved.     310


    Automation Anywhere - Build

Action Description

Set cell color Sets a color to the background or text of the Active cell or
Specific cell.
• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell, Specified cell, or Cell range option to
specify the cell in which to set the color. If you have selected
the Specified cell option, specify the address of the cell in the
field.
• Select which to apply the color to: the Cell or Text within cell.
• Enter the value to set in the Cell value field. Use either the
color name or the hex value. For a list of color names and
corresponding hex values, see Frequently used cell colors.

Set cell formula Sets the formula of the specified cell.


• Enter the name of the session used to open the current
workbook with the Open action.
• Select the Active cell, Specified cell, or Cell range option to
specify the cell in which to set the color. If you have selected
the Specified cell option, specify the address of the cell in the
field.
• Enter the value to set in the Cell formula field without an "=".

Using the Format cell action


Use the Format cell action to set the format of a cell or group of cells.
To format a cell or group of cells, do the following:
1. Double-click or drag the Format cell action.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the Active cell, Specific cell, or Multiple cells option and provide cell location or cell range, as
necessary.
4. Mark the Font option to modify any of the following:
• Font name
• Font size (between 8 and 72)
• Bold or italicize
• Underline
• Font color (accepts color name or hex value). For a list of color names and corresponding hex
values, see Frequently used cell colors.

5. Mark the Alignment option, then use the drop-down lists to modify the vertical or horizontal
alignment.
6. Mark the wrap text option to expand the cell(s) vertically to show long strings of text.
7. Mark the Merge Type option to select the any of the following operations:
• Merge and center
• Merge across
• Merge cells
• Unmerge

© 2020 Automation Anywhere. All rights reserved.     311


    Automation Anywhere - Build

8. Click Apply.

Frequently used cell colors


The table below contains color names and their corresponding hex values. These are the most frequently
used options for formatting worksheets.

Name Hex

Aqua #00FFFF
Black #000000
Blue #0000FF
Gray #808080
Green #008000
Fuchsia #FF00FF
Lime #00FF00
Maroon #800000
Navy #000080
Olive #808000
Purple #800080
Red #FF0000
Silver #C0C0C0
Teal #008080
White #FFFFFF
Yellow #FFFF00

Using the Get cell/text color action


Use the Get cell/text color action to get the color of the background or text in a cell. This action retrieves
the color of a cell as RGB values. For example, if the background or text in a cell is of red color, the value
retrieved is 255,0,0.
To get the color of the background or text in a cell, do the following:
1. Double-click or drag the Get cell/text color action.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select the Active cell option to get the color from the current active cell or the Specific cell option to
get the color from the address of the cell you have specified.
4. Select the Cell color option to get the background color of the cell, the Text color option to get the
color of the text, or both.
5. Specify whether to retrieve the cell color by name or as an RGB value.
6. Select a variable from the Assign the output to variable list to assign the cell/text color to a List
variable.
7. Click Apply.
If both cell and text colors are retrieved, the List variable contains the cell color at index 0 and text
color at index 1.

© 2020 Automation Anywhere. All rights reserved.     312


    Automation Anywhere - Build

Column/Row operations
The Office 365 Excel package contains actions that you can use to automate tasks related to column and
row operations such as autofit, delete, insert, and read.
The Office 365 Excel package includes the following actions:

Actions Description

Autofit columns Adjusts the width of the columns in the


worksheet in the specified session. Use the
name of the session used to open the current
workbook with the Open action.
Autofit rows Adjusts the height of the rows in the worksheet
in the specified session. Use the name of the
session used to open the current workbook
with the Open action.
Delete row/column See Using Delete action for rows/columns.
Get row count Retrieves the number of rows that contain data
in the worksheet.
• Enter the name of the session used to open
the current workbook with the Open action.
• Assign the output value to a Number
variable. To convert the variable to a String
variable, see the Number > Convert action.

Insert row/column See Using Insert action for rows/columns.


Read column Extracts data from a column and stores it in a
List variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Select the From active cell or From specific
cell option to specify the starting point.
• You can also select the Read full column
option to extract data for the entire column.
• Assign the output value to a List variable.

Read row Extracts data from a row and stores it in a


Record variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Select the From active cell or From specific
cell option to specify the starting point.
• You can also select the Read full row option
to extract data for the entire row.
• Assign the output value to a Record variable.

Using Delete action for rows/columns


Use the Delete action to remove rows or columns from the current worksheet.

© 2020 Automation Anywhere. All rights reserved.     313


    Automation Anywhere - Build

To delete rows or columns in a worksheet, do the following:


1. Double-click or drag Office 365 Excel > Delete.
2. Specify the name of the session in which you want to perform the action in the Session name field.
3. Select one of the following:
• Row operations
a. Select the Delete Row(s) at option to delete all of the cells in a specific row. Specify the row
number to delete in the field. For example, to delete the tenth row in the worksheet, enter 10
in the field.
b. Select the Delete Row(s) by option to delete all of the cells in either:
• the row of the active cell.
• a specific range of cells. Specify the range to delete. For example, to delete the first five
rows, enter 1:5 in the field.

• Column operations
a. Select the Delete Column(s) at option to delete all of the cells in a specific column. Specify
the address of the column to delete in the field. For example, to delete column 'D' in the
worksheet, enter D in the field.
b. Select the Delete Columns(s) by option to delete all of the cells in either:
• the column of the active cell.
• a specific range of cells. Specify the range to delete. For example, to delete the first five
columns, enter A:E in the field.

4. Click Apply.

Using Insert action for rows/columns


Use the Insert action to create rows or columns in the current worksheet.
To insert or delete rows or columns in a worksheet, do the following:
1. Double-click or drag Office 365 Excel > Insert.
2. Specify the name of the session in which you want to perform the action in the Session name field.

© 2020 Automation Anywhere. All rights reserved.     314


    Automation Anywhere - Build

3. Select one of the following:


• Row operations
a. Select the Insert Row(s) at option to insert a row and specify the location where to insert the
row in the field. For example, to insert a row of cells in the tenth row in the worksheet, enter
10 in the field.
b. Select the Insert Row(s) by option to insert all of the cells in either:
• the row of the active cell.
• a specific range of cells. Specify the range where to insert the row. For example, to insert
a row of cells in the first five rows in the worksheet, enter 1:5 in the field.

• Column operations
a. Select the Insert Column(s) at option to insert a column and specify the location where
to insert the row in the field. For example, to insert a column of cells in column 'D' in the
worksheet, enter D in the field.
b. Select the Insert Columns(s) by option to insert all of the cells in either:
• the column of the active cell.
• a specific range of cells. Specify the range to insert the column. For example, to insert a
row of cells in the first five columns, enter A:E in the field.

4. Click Apply.

Table operations
The Office 365 Excel package contains various actions that you can use to automate tasks related to the
table operations such as create, delete, filter, get properties, rename, and sort.
The Office 365 Excel package includes the following actions:

Actions Description

Create table Creates a new table in the specified table range.


• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the table name.
• Enter the cell range in which to create the
table. For example, A1:D4.
• Optional: Select the Table has headers
option to establish the first row as the header
row.

Delete table Deletes the table in the active worksheet.


• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the table name.

© 2020 Automation Anywhere. All rights reserved.     315


    Automation Anywhere - Build

Actions Description

Get table column Retrieves the column values of a specified table


and column index, and assigns the values to a
List variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the table name.
• Enter the column index. For example, enter 5
to indicate the fifth column from the left.
• Select a List variable to store the values.

Get table names Retrieves the names of all the tables in a


workbook and assigns them to a List variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Optional: Select whether to specify a sheet
either by index or name.
• Select a List variable to store the values.

Get table row Retrieves the row values of a specified table and
row index, and assigns the values to a Record
variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the table name.
• Enter the row index. For example, enter 5 to
indicate the fifth row from the top.
• Select a Record variable to store the values.

Get table row count Retrieves the row count of a specified table and
assigns the values to a number variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the table name.
• Select a Number type variable to store the
values. To convert the variable to a String
type variable, see the Number > Convert
action.

Rename table Renames a table.


• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the current table name.
• Enter a new table name.

© 2020 Automation Anywhere. All rights reserved.     316


    Automation Anywhere - Build

Workbook operations
The Office 365 Excel package contains actions that you can use to automate opening, closing, or
creating a new workbook.
The Office 365 Excel package includes the following actions:

Actions Description

Close Closes the workbook. Use the name of the session used to open the
current workbook with the Open action.
Create workbook Creates a new workbook.
• Enter the name of the session used to open the current workbook with
the Open action.
• Provide a File Path containing the new workbook name with one of the
following extensions: .xls, .xlsm, .xlsx. Either enter the file path or select a
String variable.

Open See Using the Open action.

Using the Open action


Use this action to open a workbook. Insert this action at the start of your automation sequences.
To open a workbook, do the following:
1. Double-click or drag the Open action.
2. Provide the username either by selecting a Credential variable or entering an unencrypted value.
3. Enter a Session name.
Use this same session name in subsequent actions to associate them with this workbook.
4. Enter the File Path or insert a file variable.
5. If the sheet contains a header row, mark the Sheet contains header option.
6. Click Apply.

Worksheet operations
The Office 365 Excel package contains actions that you can use to automate tasks related to worksheet
operations, such as delete, find, get worksheet names, hide, retrieve worksheet count, and show.
The Office 365 Excel package includes the following actions:

Actions Description

Copy worksheet See Using the Copy worksheet action.

Create worksheet Adds an empty sheet in the current workbook.


• Enter the name of the session used to open
the current workbook with the Open action.
• Enter a Worksheet name of up to 31
characters. The name cannot contain the
following characters: \ / ? * [ ]

© 2020 Automation Anywhere. All rights reserved.     317


    Automation Anywhere - Build

Actions Description

Delete worksheet Deletes a spreadsheet from the current


workbook.
• Enter the name of the session used to open
the current workbook with the Open action.
• Specify either an index number in the
Sheet by Index field or a name in the Sheet
by Name field for the worksheet. The
index number is the number assigned to
a worksheet. For example, if you want to
perform an operation on the worksheet at
the third position in the workbook, enter 3 in
the field.

Note: You can delete a worksheet only


if the workbook contains more than one
worksheet.

Get current worksheet name Retrieves the name of the currently active
worksheet.
• Enter the name of the session used to open
the current workbook with the Open action.
• Select a string variable that you want to use
to store the name of the worksheet from the
Assign the output to variable list.

Get worksheet names Retrieves the names of all the worksheets in the
workbook.
• Enter the name of the session used to open
the current workbook with the Open action.
• Select a list variable to store the worksheet
names from the Assign the output to variable
list.

Hide worksheet Hides a worksheet from the current workbook.


• Enter the name of the session used to open
the current workbook with the Open action.
• Specify the name of the worksheet to hide in
the Enter worksheet name to hide field.

Note: You can hide a worksheet only if


the workbook contains more than one
worksheet.

© 2020 Automation Anywhere. All rights reserved.     318


    Automation Anywhere - Build

Actions Description

Rename worksheet Renames a worksheet in the current workbook.


• Enter the name of the session used to open
the current workbook with the Open action.
• Specify the index number or name of the
worksheet to rename in the Sheet by Index
or Sheet by Name field.
The index number is the number assigned
to a worksheet. For example, if you want to
perform an operation on the worksheet at
the third position in the workbook, enter 3 in
the field.

Note: You cannot rename the worksheet if a


worksheet with the same name already exists
in the workbook.
• Enter the new worksheet name that is under
31 characters.

Retrieve sheet count Gets the number of sheets available in the


current workbook and stores it in a number
variable.
• Enter the name of the session used to open
the current workbook with the Open action.
• Select the appropriate option to specify
whether to include the hidden worksheet or
not and assign the count to a variable.

Show worksheet Shows the hidden worksheet.


• Enter the name of the session used to open
the current workbook with the Open action.
• Enter the Worksheet name.

Switch to sheet Activates a particular sheet in a Microsoft Excel


file.
• Enter the name of the session used to open
the current workbook with the Open action.
• Specify whether to activate the Sheet by
Index (numerical value) or Sheet by Name.

Using the Copy worksheet action


Use the Copy worksheet action to copy values of a worksheet from one worksheet to another. The
values can be copied between two worksheets within a workbook, or between two different workbooks.
This action overwrites any existing values. To move values from one worksheet to another without
overwriting existing values, use the Append worksheet action.
Open the workbook(s) containing the source and target worksheets. See Using the Open action.

© 2020 Automation Anywhere. All rights reserved.     319


    Automation Anywhere - Build

Note: This action identifies the destination and source workbooks by the session names used to open
them. If opening two workbooks, enter a session name for the source workbook that is different than the
one used to open the destination workbook.

To copy the values of a worksheet into another, do the following:


1. Double-click or drag the Copy worksheet action.
2. Enter the name of the session that you used to open the destination workbook in the Open action.
3. If the workbook contains more than one worksheet, mark the Specific Sheet option, then enter the
index number or name of the source worksheet.
• The index number represents the position of the worksheet in the workbook. For example, to
perform an operation on the worksheet at the third position in the workbook, enter 3 in the field.
• The sheet name field is case insensitive.

4. Enter the name of the session that you used to open the source workbook in the Open action.
5. If the workbook contains more than one worksheet, mark the Specific Sheet option, then enter the
index number or name of the destination worksheet.
6. Click Apply.

Office 365 One Drive package


The One Drive package contains actions that enable you to automate many of the repetitive tasks in
Microsoft cloud storage.

How to use the actions in the One Drive package

Perform the following actions within the One Drive package as part of using the set of available actions:
1. Use the Connect action to establish a connection to the Office 365 server.
See Using the Connect action.
2. Use a combination of actions available in this package to automate tasks.

Note: To use actions from other Office 365 packages, establish a connection using the Connect
action from that package.

3. Use the Disconnect action to terminate the connection.

Actions in the One Drive package


Use the actions in the One Drive package to perform an operation on a single file or folder. To perform
the operation on every file in a folder, use that action in a loop. See Using One Drive actions in a loop.
The One Drive package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     320


    Automation Anywhere - Build

Action Description

Check permission Checks for read, write, or delete permission for


a file or folder in your OneDrive.
• Enter the user session that you provided in
the Connect action.
• Enter the file or folder name and path, or
select a predefined string variable.
• Specify which permission type to verify: Read
or Read & Write.
• Select a predefined Boolean type variable to
hold the output, or click the icon on the right
to create a new variable.
The Boolean type variable will provide a true
(user has permission) or false (user does not
have permission) response.

Connect Establishes a connection with the Office 365


server using your organization's client ID and
tenant ID, and user credentials.
See Using the Connect action.

Copy file or folder Copies a file or folder from one folder to


another in your OneDrive.
• Enter the user session that you provided in
the Connect action.
• Select whether to copy a file or folder.
• Provide the source and destination file/folder
names and paths, or file/folder link. Either
enter the values or insert a string variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

Note: Use the forward slash to indicate that


a file or folder is located in the root directory.
For example, /Accounts.
• Optional: If there is file or folder with the
same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

© 2020 Automation Anywhere. All rights reserved.     321


    Automation Anywhere - Build

Action Description

Create folder Creates a folder in a specific directory in your


OneDrive.
• Enter the user session that you provided in
the Connect action.
• Enter the parent folder name and path, or
folder link. Either enter the values or insert a
string variable.
For example, to perform this action on a
folder named Q1, located in the Survey
Results folder, enter one of the following:
• /<userHomeDirectory>/Survey
Results/Q1
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Enter the new folder name. Either enter the


values or insert a string variable.

Delete file or folder Deletes a file or folder in a specific directory in


your OneDrive.
• Enter the user session that you provided in
the Connect action.
• Select whether to delete a file or folder.
• Provide the name and path, or file/folder
link. Either enter the values or insert a string
variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

Disconnect Terminates the connection with the Office 365


server. Enter the session name that you used in
the Connect action. Insert this action at the end
of automation sequences that use actions from
this Office 365 package.

© 2020 Automation Anywhere. All rights reserved.     322


    Automation Anywhere - Build

Action Description

Download file Downloads a file from a specific directory in


your OneDrive.
• Enter the user session that you provided in
the Connect action.
• Provide the file name and path, or file link.
Either enter the values or insert a predefined
string variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Enter the destination folder path or select a


predefined string variable.
• Optional: If there is file or folder with the
same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

Export as PDF Exports an existing file in your OneDrive as a


PDF. This action supports the following file
extensions: doc, docx, oentry, odp, pps, ppt,
pptx, tf, xls, and xlsx.
• Enter the user session that you provided in
the Connect action.
• Provide the file name and path, or file link.
Either enter the values or insert a predefined
string variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Enter the export folder name and path or


select a predefined string variable.
• Optional: If there is file or folder with the
same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

© 2020 Automation Anywhere. All rights reserved.     323


    Automation Anywhere - Build

Action Description

Find files and folders Finds files and folders in a specific directory in
your OneDrive.
• Enter the user session that you provided in
the Connect action.
• Provide directory details in the Folder to
search field: enter the folder name and path,
or folder link. Either enter the values or insert
a string variable.
For example, to perform this action on a
folder named Q1, located in the Survey
Results folder, enter one of the following:
• /<userHomeDirectory>/Survey
Results/Q1
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Specify whether to search for All items in


folder or a Specific file (or folder).

Note: The Drive Item Name field accepts


wildcard characters in the file name and
extension. For example, to search for all
documents with extension docx, enter
*.docx in the Specific file (or folder) field.
• Assign the output to a table variable.
The variable will hold the following file
or folder details: Name, ID, CreatedBy,
CreationDate, LastModifiedBy,
LastModificationDate, and ParentFolderPath.

© 2020 Automation Anywhere. All rights reserved.     324


    Automation Anywhere - Build

Action Description

Get file or folder information Retrieves information for a specific file or folder
from OneDrive.
• Enter the user session that you provided in
the Connect action.
• Provide the file or folder name and path,
or file/folder link. Either enter the values or
insert a string variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Assign the output to a record variable.


The variable will hold the following file
or folder details: Name, ID, CreatedBy,
CreationDate, LastModifiedBy,
LastModificationDate, and ParentFolderPath.

Move file or folder Moves a file or folder from one folder to


another in OneDrive.
• Enter the user session that you provided in
the Connect action.
• Select whether to move a file or folder.
• Provide the source and destination file or
folder names and paths, or file/folder links.
Either enter the values or insert a string
variable into the two fields.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Optional: If there is file or folder with the


same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

© 2020 Automation Anywhere. All rights reserved.     325


    Automation Anywhere - Build

Action Description

Rename file or folder Renames a file or folder in a specific directory in


OneDrive.
• Enter the user session that you provided in
the Connect action.
• Select whether to rename a file or folder.
• Provide the current and new file or folder
names, or file/folder link. Either enter the
values or insert a string variable.
• For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Optional: If there is file or folder with the


same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

Restore last version Restores a file to the last version. If you restore
a file to its previous version, you will lose the
current version.
• Enter the user session that you provided in
the Connect action.
• Provide the file name and path, or file link.
Either enter the values or insert a predefined
string variable.
For example, to perform this action on a
file named SalesReport.xlxs, located in the
Accounts folder, enter one of the following:
• /<userHomeDirectory>/Accounts/
SalesReport.xlxs
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

© 2020 Automation Anywhere. All rights reserved.     326


    Automation Anywhere - Build

Action Description

Upload file Uploads a file to a specific directory in


OneDrive.
• Enter the user session that you provided in
the Connect action.
• Provide the file name and path on the local
directory. Either enter the values or insert a
predefined string variable.
For example, D:/Mydata/HR/
EmployeeSurvey.xlsx.
• Provide the upload folder name and path, or
folder link. Either enter the values or insert a
string variable.
For example, to perform this action on a
folder named Q1, located in the Survey
Results folder, enter one of the following:
• /<userHomeDirectory>/Survey
Results/Q1
• https://companyName-
my.sharepoint.com/:b/:g/
personal/...&at=9

• Optional: If there is file or folder with the


same name in the destination folder, select
the Override existing file/folder option which
replaces the existing file or folder with the
one being copied.

Using One Drive actions in a loop


Use the Find files and folder action to return a table of files and their properties inside of a specified
folder, the Loop action to loop through each row in the table, and a One Drive action to perform an
operation on every file in the table.
To perform an action on every file in a folder, do the following steps:
1. Double-click or drag One Drive > Find files and folders.
2. Provide your username with either a credential variable or an unencrypted value.
3. Enter the file path of the folder in which to perform the search.
4. Select the All items in folder option.
You can alternatively select Specific file (or folder) to limit the search to a specific folder on your
OneDrive.
5. Select or create a table variable to hold the output.
The table variable holds information on files and folders in rows, under the following columns:
name, id, createdBy, creationDate, lastModifiedBy, lastModificationDateTime, parentFolder, and Path.
6. Click Apply.
7. Double-click or drag the Loop action.
8. Select the For each row in table iterator.
9. Select the table variable holding the output from step 5.

© 2020 Automation Anywhere. All rights reserved.     327


    Automation Anywhere - Build

10. Select or create a record variable to temporarily hold each row.


11. Click Apply.
Insert the action inside of the Loop container that you want to repeat on every file in the folder. This
example uses the Download file action.
12. Double-click or drag Outlook > Download file.
13. Provide your username with either a credential variable or an unencrypted value.
14. Enter the following in the File name including path field, replacing the generic variable names with
the names of the record variables from step 10:
$RecordVariable[7]$/$RecordVariable[0]$
15. Enter the path to the folder where to download the files.
16. Click Apply.
17. Click Save.

PDF package
Use the PDF package to automate various operations on a PDF file.
The PDF package enables you to perform the following tasks:
• Encrypt or decrypt a PDF file.
• Extract text from a PDF file.
• Convert a PDF file to an image.
• Split a single PDF file into multiple files.

Actions in the PDF package

The PDF package includes the following actions:

Action Description

Decrypt document See Using Decrypt document action.


Encrypt document See Using Encrypt document action.
Extract image See Using Extract image action.
Extract text See Using Extract text action.
Split document See Using Split document action.

When an operation is performed on a PDF file, the file properties are stored in a dictionary variable. See
Using dictionary variable for PDF properties.

Using Encrypt document action


Use the Encrypt document action to encrypt a PDF file.
To encrypt a PDF file, follow these steps:
1. In the Actions palette, double-click or drag the Encrypt document action from the PDF package.
2. In the PDF path, select one of the following options to specify the location of the PDF:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.

© 2020 Automation Anywhere. All rights reserved.     328


    Automation Anywhere - Build

• Variable: Enables you to specify the file variable that contains the location of the PDF file.

3. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.
• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

4. In the User Permissions to Apply field, select the following operations:


• Print: Allows users to print the document.
• Modify: Allows users to edit the document.
• Copy: Allows users to copy the document.
• Form Fill: Allows users to fill a form in the document.
• Document Assembly: Allows users to combine multiple PDF files, attach files, and so on.
• Annotation: Allows users to apply annotations in the document.
• Accessibility: Allows users to read text from the document using accessibility devices.

5. In the Encryption level, select the RC4 40-bit, RC4 128-bit, or AES 128-bit option to specify the
encryption level.
6. In the Save encrypted PDF as field, specify a name and location for the encrypted file.
You must include the .pdf extension in the name of the encrypted file. For example, if the file name
is June_Quarter_report, the .pdf extension is June_Quarter_report.pdf.
7. Select the Overwrite files with the same name check box to overwrite existing files with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

8. Optional: From the Assign PDF properties to a dictionary variable list, select a dictionary variable to
hold the file properties.
For more information, see Using dictionary variable for PDF properties.
9. Click Apply.
10. Click Save.

Related tasks
Using Decrypt document action
Use the Decrypt document action to decrypt a PDF file that is encrypted using the Encrypt document
action.

Using Extract text action


Use the Extract text action to extract text from a PDF file and save it as a text file.
To extract text from a PDF file, follow these steps:
1. In the Actions palette, double-click or drag the Extract text action from the PDF package.
2. In the PDF path, select one of the following options to specify the location of the PDF:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.

3. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.

© 2020 Automation Anywhere. All rights reserved.     329


    Automation Anywhere - Build

• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

4. In the Text type field, select one of the following options:


• Plain text: Enables you to extract the text and copy it to a text file.
It is similar to copying and pasting text from a PDF file to a text file.
• Structured text: Enables you to preserve the original formatting of the extracted text from the PDF
file.

5. In the Page range field, select one of the following options:


• All pages: Enables you to save all the pages in the PDF file as an image.
• Pages: Enables you to enter the page numbers of the pages that you want to save as an image.

6. In the Export data to text file field, specify a name and location for the text file.

Note: You must include the .txt extension in the name of the text file. For example, if the file name is
June_Quarter_report, the .txt extension is June_Quarter_report.txt.

7. Select the Overwrite files with the same name check box to overwrite existing files with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

8. Optional: From the Assign PDF properties to a dictionary variable list, select a dictionary variable to
hold the file properties.
For more information, see Using dictionary variable for PDF properties.
9. Click Apply.
10. Click Save.

Using Extract image action


Use the Using Extract image action to save a PDF file as an image.
To save a PDF file as an image, follow these steps:
1. In the Actions palette, double-click or drag the Extract image action from the PDF package.
2. In the PDF path, select one of the following options to specify the location of the PDF:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.

3. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.
• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

4. In the Page range field, select one of the following options:


• All pages: Enables you to save all the pages in the PDF file as an image.
• Pages: Enables you to enter the page numbers of the pages that you want to save as an image.

© 2020 Automation Anywhere. All rights reserved.     330


    Automation Anywhere - Build

5. In the Type of image to be converted to list, select one of the following options to specify the
format:
• TIFF: If you selected this option, select an option from the TIFF compression type list.
• NONE
• LZE
• RLE
• CCITT Group 3
• CCITT Group 4

• BMP
• JPEG: If you selected this option, in the JPEG quality field, enter a value (between 0 and 100) to
specify the quality of the compressed image.
• GIF
• PNG
• WMF
• EMF
• EXIF

6. In the Folder path field, specify the location.


7. In the File prefix field, enter a value.
The image files are suffixed with index numbers. For example, if you have specified Report as the
File prefix, the name of the image files will be Report_1, Report_2, and so on.
8. Select the Overwrite files with the same name check box to overwrite existing files with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

9. In the X Resolution (dpi) and Y Resolution (dpi) fields, specify the resolution.
10. In the Image output field, choose Color or Grayscale to specify the image output type:
a) In the Color property list, select an option.
• True color (32 bits)
• True color (24 bits)
• High color (16 bits)
• 56 color (8 bits)
• 16 color (4 bits)
• 2 color (1 bit, black/white)

Note: This option is available only with the Color image output type. Select this option only
if RLE, CCITT Group 3, or CCITT Group 4 compression type is selected for the TIFF image
format.

11. Optional: From the Assign PDF properties to a dictionary variable list, select a dictionary variable to
hold the file properties.
For more information, see Using dictionary variable for PDF properties.
12. Click Apply.
13. Click Save.

© 2020 Automation Anywhere. All rights reserved.     331


    Automation Anywhere - Build

Using Decrypt document action


Use the Decrypt document action to decrypt a PDF file that is encrypted using the Encrypt document
action.
To decrypt an encrypted PDF file, follow these steps:
1. In the Actions palette, double-click or drag the Decrypt document action from the PDF package.
2. In the PDF path, select one of the following options to specify the location of the PDF:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.

3. Optional: In the User/Owner password field, enter a password to restrict access to the decrypted
PDF file.
4. In the Save the decrypted PDF file as field, specify a name and location for the decrypted file.
You must include the .pdf extension in the name of the decrypted file. For example, if the file name
is June_Quarter_report, the .pdf extension is June_Quarter_report.pdf.
5. Select the Overwrite files with the same name check box to overwrite existing files with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

6. Optional: From the Assign PDF properties to a dictionary variable list, select a dictionary variable to
hold the file properties.
For more information, see Using dictionary variable for PDF properties.
7. Click Apply.
8. Click Save.

Related tasks
Using Encrypt document action
Use the Encrypt document action to encrypt a PDF file.

Using Split document action


Use the Split document action to split a PDF file into multiple files.
To split a PDF file into multiple files, follow these steps:
1. In the Actions palette, double-click or drag the Split document action from the PDF package.
2. In the PDF path, select one of the following options to specify the location of the PDF:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.

3. Optional: In the User password or Owner password field, enter a password to restrict access to the
encrypted PDF file.
• User password: Allow users to perform specific operations on the encrypted PDF file.
• Owner password: Allow users to use a password to open the file.

4. In the Output file creation options, select one of the following options to specify how to split the
PDF file:

© 2020 Automation Anywhere. All rights reserved.     332


    Automation Anywhere - Build

• Number of pages per extracted PDF: Enables you to specify the number of pages each new file
will contain. For example, you can enter 8 if you want each output file to contain only 8 pages.
• Single file with selected pages: Enables you to create a single output file that contains the pages
you have specified from the original file.
• Blank page as a separator: Creates a new output file whenever a blank page is encountered in the
original PDF file.
• Bookmark level per file: Enables you to split the PDF file according to the bookmark level available
in the file. For example, if a file contains three bookmark levels, you can split the PDF file based on
these three levels.
If you selected this option, specify the bookmark level in the Bookmark Level field.

5. In the Folder path field, specify the location.


6. In the File prefix field, enter a value.
The image files are suffixed with index numbers. For example, if you have specified Report as the
File prefix, the name of the image files will be Report_1, Report_2, and so on.
7. Select the Overwrite files with the same name check box to overwrite existing files with the same
name.

Note: If this option is not selected, the system appends a numeric value at the end of the file
name. For example, if you save the June_Quarter_report file in a location that has a file with the
same name, the system saves the file as June_Quarter_report_(1).pdf. The numeric value is
incremented each time you save the file as long as the option is selected.

8. Optional: From the Assign PDF properties to a dictionary variable list, select a dictionary variable to
hold the file properties.
For more information, see Using dictionary variable for PDF properties.
9. Click Apply.
10. Click Save.

Using dictionary variable for PDF properties


When you automate a PDF-related task, Automation Anywhere Enterprise retrieves various properties of
the file and stores the values of these properties in a dictionary variable.
Automation Anywhere Enterprise retrieves the PDF file name and extension, title, subject, and author. The
file properties are stored in a dictionary variable within the following keys:
• pdfTitle
• pdfFilename
• pdfSubject
• pdfAuthor

The system automatically associates the properties of a PDF with the appropriate dictionary keys.
For example, if you create a dictionary variable Test and want to log the file name and author, you must
enter Test{pdfFilename} and Test{pdfAuthor} in the appropriate fields.

Play Sound package


The Play Sound package contains actions that enable you to play a beep sound and media file before or
after an action is executed in a bot.
The Play Sound package inclues the following actions:

© 2020 Automation Anywhere. All rights reserved.     333


    Automation Anywhere - Build

Action Description

Play beep Plays a beep sound before or after an action is executed.


Play media file Plays an audio file before or after an action is executed.

Note: Only .wav and .mp3 files are supported and do not require any
media player installed on the device.

Select any of the following tabs to specify the location of the media file:
• Control Room file: Use a file that is available on the Enterprise Control
Room.
• Desktop file: Use a file that is available on a device.
• Variable: Use a file variable to specify the file location.

PGP package
Use the PGP (Pretty Good Privacy) package to automatically encrypt and decrypt files for security.
The PGP package supports two types of encryption, symmetric (passphrase) and asymmetric (public/
private keys):
• PGP Passphrase: Requires a passphrase to encrypt and decrypt files.
• PGP Public/Private Key: Requires PGP public and private key files to encrypt and decrypt files.

Note: The system outputs an error when the proper file extension is not present in the path.
• Public key: File name specified for Public Key is not valid.
• Private key: File name specified for Private Key is not valid.

Actions in the PGP package

The PGP package includes the following actions:

Action Description

Create keys Creates a pair of public and private encryption keys.


• In the Location to save public key file field, specify the path to the text
file where to save the public key.
• In the Location to save private key file field, specify the path to the text
file where to save the private key.
• Optional: In the Password to protect private key file field, select a
credential variable or enter a value.
• Optional: Select the Overwrite Files check box to replace files with the
same name.

Decrypt files Decrypts encrypted files. See Using the Decrypt files action

© 2020 Automation Anywhere. All rights reserved.     334


    Automation Anywhere - Build

Action Description

Encrypt files Encrypts files to enable users to send them over the internet securely.
See Using the Encrypt files action

Using the Decrypt files action


Use the Decrypt files action to retrieve the contents of encrypted files and folders.
To decrypt a file or folder, do the following steps:
1. Double-click or drag the Decrypt action from the PGP package.
2. Select either the Passphrase or Public key file encryption type.
• If you have selected Passphrase, enter the value or select a credential variable.
• If you have selected Private key file, provide the private key file path.
Optional: In the Password to protect private key file field, select a credential variable or enter a
value.

3. In the Source folder/file(s) field, specify the folders or files to decrypt.


This field supports wildcard characters in the file name and extension. Use an asterisk (*) to substitute
for one or more unknown alphanumeric characters or symbols.
4. In the Destination folder/file(s) field, specify the location where to save the decrypted folders and
files.
This field supports wildcard characters in the file name and extension. Use an asterisk (*) to substitute
for one or more unknown alphanumeric characters or symbols.
5. Select the Overwrite Files option to replace files with the same name.
6. Select the Remove file extension option and specify the extension name.
7. Click Apply.

Using the Encrypt files action


Use the Encrypt files action to prepare files and folders to be shared securely.
To encrypt the files or folder using a public key, create a public-private key pair using the Create keys
action.
To encrypt a file or folder, do the following steps:
1. Double-click or drag the Encrypt action from the PGP package.
2. Select either the Passphrase or Public key file encryption type.
• If you have selected Passphrase, enter the value or select a credential variable.
• If you have selected Public key file, provide the public key file path.

3. Select the Encryption algorithm.


Choose from:
• AES128
• AES192
• AES256
• Blowfish
• CAST5
• Idea
• TripleDES

© 2020 Automation Anywhere. All rights reserved.     335


    Automation Anywhere - Build

• TwoFish256

4. In the Source folder/file(s) field, specify the folders or files to encrypt.


This field supports wildcard characters in the file name and extension. Use an asterisk (*) to substitute
for one or more unknown alphanumeric characters or symbols.
For example:
• Enter C:\PGP\encrypt*.csv to select the .csv files that start with the word encrypt.
• Enter C:\PGP\*encrypt*.* to select files of any extension that contain the word encrypt.

5. In the Destination folder/file(s) field, specify the location where to save the encrypted folders and
files.
This field supports wildcard characters in the file name and extension. Use an asterisk (*) to substitute
for one or more unknown alphanumeric characters or symbols.
6. Enter a value to append to the extension of the destination file.
7. Select the Overwrite Files check box to replace files with the same name.
8. Select the Compression type.
Choose from:
• None
• zip
• bzip2
• zlib

9. Select the Armor data (text output) check box to enable ASCII Armor output.
10. Click Apply.

Prompt package
Use the Prompt package to accept an input value, a yes/no response, or to open a file or folder.

Actions in the Prompt package

The Prompt package includes the following actions:

Action Description

For file Prompts the user to input a value.


• In the Prompt window caption field, enter a window caption.
• In the Prompt message field, enter a message.
• In the Assign the value to a variable field, specify a list variable.

For folder Prompts the user to choose a folder.


• In the Prompt window caption field, enter a window caption.
• In the Prompt message field, enter a message.
• In the Assign the value to a variable field, specify a variable.

© 2020 Automation Anywhere. All rights reserved.     336


    Automation Anywhere - Build

Action Description

For value Prompts the user to enter a value.


• In the Prompt window caption field, enter a window caption.
• In the Prompt message field, enter a message.
• In the Assign the value to a variable field, specify a variable.

For yes/no Prompts the user to choose a Yes/No response.


• In the Prompt window caption field, enter a window caption.
• In the Prompt message field, enter a message.
• In the Assign the value to a variable field, specify a variable.

Video: Using the Prompt action

Related reference
Message box package
Use the Message box action from the Message box package to insert a message box that shows a
message when the task runs. For example, you can insert a Message Box action to follow a web form so
that the action displays the message: Web Form Filled and Complete.

Python Script package


The Python Script package contains actions that enable Python Script functions in a task.

Before you start

Ensure the following requirements are met before using the Python Script package:
• The appropriate version of Python is installed on the device on which you want to execute the script.

Note: Currently Python versions 2.x and 3.x are supported.


• The "PATH" environment variable is updated to the path of the Python folder.
To verify if the Python environment variable is set correctly, enter Python in the command prompt. If
it returns the Python version that is installed, the path environment is set up correctly.

1. Open a Python Script file, or specify the script you want to run using the Open action. You must
associate the details of the file or script you want to run with a session name. Use this same session
name for other Python Script actions.
2. Use the Execute function action to run a function within a script or Execute script to run an entire
script. You must use the same Python Script session name established in the Open action.
3. Close the Python Script session after running the script.

Actions in the Python Script package

The Python Script package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     337


    Automation Anywhere - Build

Note: The Open action must be the first action to use the Python Script in a task. These actions can run
a Python Script on Windows, Linux, and UNIX-based devices.

Action Description

Close Closes the session.


• Specify the same session name from the Open action.

Important: It is mandatory to close the session after the script is


executed.

Execute function Executes a function within the Python Script.


• In the Python session field, specify a session name. Use the same
session name from the Open action.
• Optional: Specify the function name to run and the arguments to pass
to the function.

Note: You can pass only one argument for the function. The
argument can be a Boolean, dictionary data type, list, number, or
string.
• Optional: In the Assign the output to variable field, specify the variable.

Execute script Executes a script within the Python Script.


• In the Python session field, specify a session name. Use the same
session name from the Open action.
• Optional: In the Assign the output to variable field, specify the variable.

Open Opens a Python Script file.


• In the Python session field, specify a session name. Use this same
session name for other Python Script actions.
• In the Python field, choose one of the following options:
• In the Import existing file option, select an existing Python Script
file.
• In the Manual input option, enter the Python Script.

• In the Python runtime version field, select 2 or 3 to specify the runtime


version.

Note: Select the runtime version based on the version of Python


installed on the device.

Resources

To learn more, see Training - Write inline scripts in a bot. This course introduces you to new features in
the Python Script command.

© 2020 Automation Anywhere. All rights reserved.     338


    Automation Anywhere - Build

Note: You must log in with a registered A-People Community account to access the course.

Build a hello world bot with a Python function


Create a bot that calls a Python function to say hello world.
Have the latest version of Python 3.x installed on your device.
Here is a Python script with one simple function. This script is used in this task.

#!/usr/bin/python

# Function definition is here


def printme( str ):
print(str)
return str

Actions used in this TaskBot:


• Python Script
• Open
• Close
• Execute function

• Message box

1. Log into your Enterprise Control Room and navigate to BOTS > My bots.
2. Click the Create TaskBot icon.
3. Type pythonhelloworld.bot in the Name field.
4. Click Create & edit.
5. Click the Variables tab on the left.
The acordian menu opens and the Create variable icon appears at the top.
6. Click Create variable.
7. Enter vArgument in the Name field.
8. Enter Hello world! in the Default value field.
9. Click Create.
10. Click the Actions tab.
11. Double click Python Script > Open.
12. In the Python Script: Open edit frame, select Manual input.
13. Copy and paste the following text into the Enter script here field.

def printme( str ):


print(str)
return str

14. Click Apply.


15. Double click Execute function.
16. Type printme in the Enter name of function to be executed field.
17. Select the vArgument variable from the Arguments to the function drop-down list.
18. Create the variable vPythonHello for the Assign the output to variable field.
19. Click Apply.
20. Double click Message box > Message box.

© 2020 Automation Anywhere. All rights reserved.     339


    Automation Anywhere - Build

21. In the Enter the message to display field, select and insert the variable vPythonHello.
22. Select the Close message box after checkbox. Leave the default of 5 seconds in the field.
23. Click Apply.
24. Double click Python Script > Close.
25. Click Save in the top right corner.

Click the Run icon to see your bot run.

Recorder package
Use the Capture action from the Recorder package to capture an interaction with a user interface (UI)
object such as a text box, button, table, menu, radio button, combo box, check box, list view, link, tree,
and page tab. The Capture action replaces the Object Cloning command from Version 11.3.
The Capture action enables you to add a single interaction when building your bot (such as if you missed
a step when recording a process). See Using the Capture action. For a common use case, see Enter data
into a web form from a file.
To record a process consisting of multiple steps, see Recording a task. To learn more about Universal
Recorder capabilities, see Universal Recorder overview.

Object properties

When you select an object to capture, the Universal Recorder collects data on the object's properties in
order to identity the object during runtime. You can do the following with the object properties:
• Verify that the captured object properties match your intended object.
For example, when capturing a table from a website, ensure the Control Type and HTML Tag values
are TABLE.
• Retrieve a property value.
For example, to retrieve the text of a link, use the Get property action and enter HTML InnerText in
the Property name field.
• Specify the properties to search for. Mark the only the properties that will always resolve to true.

Object controls and actions

There are two parts to an interaction: the UI object and the action. Each UI object has a list of possible
actions. For example, when you capture a click in a textbox, you can select either to click the link or to
retrieve the link text. Refer to the table below for the objects and their actions.

© 2020 Automation Anywhere. All rights reserved.     340


    Automation Anywhere - Build

Table 5: UI object controls and possible actions

Object Control Action

Button • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

Checkbox • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get status: retrieves whether the check box is selected. Returns
checked or unchecked.
• Check
• Uncheck
• Toggle: switches the check box to the opposite status. For example, if
the check box is checked, use the Toggle action to uncheck it.
• Left click: use this action if the Toggle action does not work during
Runtime.
• Right click
• Double click

Client • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get all children names
• Get all children values
• Set text: enters text into the UI object. It supports Credential variables.
• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

© 2020 Automation Anywhere. All rights reserved.     341


    Automation Anywhere - Build

Object Control Action

ComboBox (appears as • Get property: retrieves the value of the specified object property
a drop-down list) (such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get total items: retrieves the number of items in the box.
• Get selected index: retrieves the item's position in the menu.

Note: Item index counts start at 1.


• Get selected text: retrieves the data from the selected item.
• Select item by index: selects the item that is located at the specified
index.

Note: Item index counts start at 1.


• Select item by text selects the item that matches the specified text.

Note: The Assign value field is case-sensitive.


• Expand
• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

Link • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

© 2020 Automation Anywhere. All rights reserved.     342


    Automation Anywhere - Build

Object Control Action

ListView • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get total items: retrieves the number of items in the list.
• Get selected index: retrieves the item's position in the menu.

Note: Item index counts start at 1.


• Get selected text: retrieves the data from the selected item.
• Select item by index: selects the item that is located at the specified
index.

Note: Item index counts start at 1.


• Select item by text selects the item that matches the specified text.

Note: The Assign value field is case-sensitive.


• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

Menu • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get total items: retrieves the number of items in the menu.
• Get selected index: retrieves the item's position in the menu.

Note: Item index counts start at 1.


• Get selected text: retrieves the data from the selected item.
• Select item by index: selects the item that is located at the specified
index.

Note: Item index counts start at 1.


• Select item by text selects the item that matches the specified text.

Note: The Assign value field is case-sensitive.


• Left click: use this action if the Click action does not work during
Runtime.
• Right click

© 2020 Automation Anywhere. All rights reserved.     343


    Automation Anywhere - Build

Object Control Action

Page Tab • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get total items: retrieves the number of items in the tab.
• Get selected index: retrieves the item's position in the menu.

Note: Item index counts start at 1.


• Get selected text: retrieves the data from the selected item.
• Select item by index: selects the item that is located at the specified
index.

Note: Item index counts start at 1.


• Select item by text selects the item that matches the specified text.

Note: The Assign value field is case-sensitive.


• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

RadioButton • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get status: retrieves whether the radio button is selected. Returns
selected or deselected.
• Select
• Left click: use this action if the Select action does not work during
Runtime.
• Right click
• Double click

© 2020 Automation Anywhere. All rights reserved.     344


    Automation Anywhere - Build

Object Control Action

Table • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Get table: retrieves the table data and saves it to a Table variable. For
more information, see Extract table data from web pages.
• Get cell text by index: retrieves the data in the specified cell located at
the row and column index.

Note: Row and column index counts start at 0. For example, to


retrieve the data in cell A2, enter 0 in the Row field and 1 in the
Column field.
• Get cell index by text: retrieves the index of the cell containing the
specified text.

Note: The Cell Text field is case-sensitive.


• Get total rows: retrieves the number of rows that contain values.
• Get total columns: retrieves the number of columns that contain
values.
• Set cell by index: enters text into the cell located at the row and
column index.

Note: Row and column index counts start at 0. For example, to enter
text into cell A2, enter 0 in the Row field and 1 in the Column field.
• Set cell by text: enters text into the cell containing the specified text.

Note: The Find Text field is case-sensitive.


• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

TextBox • Get property: retrieves the value of the specified object property
(such as the link text) and optionally saves it to a variable. For more
information, see the Object properties section.
• Set text: enters text into the UI object. It supports Credential variables.
• Append text: adds text to the end of existing text in the field, instead
of overwriting it.
• Click
• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

© 2020 Automation Anywhere. All rights reserved.     345


    Automation Anywhere - Build

Object Control Action

Tree (Role is 10 but • Get property: retrieves the value of the specified object property
control is displayed as (such as the link text) and optionally saves it to a variable. For more
ListView) information, see the Object properties section.
• Get total items: retrieves the number of items in the tree.
• Get selected index: retrieves the item's position in the menu.

Note: Item index counts start at 1.


• Get selected text: retrieves the data from the selected item.
• Select item by index: selects the item that is located at the specified
index.

Note: Item index counts start at 1.


• Select item by text selects the item that matches the specified text.

Note: The Assign value field is case-sensitive.


• Left click: use this action if the Click action does not work during
Runtime.
• Right click
• Double click

Using the Capture action


Use the Capture action to capture a single interaction (click, keystroke, or mouse movement) with an
object control including a text box, button, table, menu, radio button, combo box, check box, list view,
link, tree, or page tab.
Consider the following:
• Configure device display settings to 100% DPI.
• Use mouse clicks, keystrokes, and shortcuts when possible.
• Record the task at low speed.
• Avoid dragging windows during the recording process.
• Avoid clicking on applications that are not part of the process you are recording and automating.

To record a single interaction with an object control, follow these steps:


1. Double-click or drag Recorder > Capture.
2. Select the window from the drop-down list: either select an active window or insert an existing
window variable.
If you open an application, click the refresh icon.
3. Optional: Insert a wildcard character (*) in the window title that is subject to change, such as for
online invoices.
For example, Sample* - Google Chrome.

Note: During runtime, verify that the TaskBot identifies the correct window.

4. Click Capture object.


The selected window appears.
5. Click the object control, for example, a button, form field, or a table.

© 2020 Automation Anywhere. All rights reserved.     346


    Automation Anywhere - Build

A box highlights the control when you mouse over it.

Note: If the box does not appear, verify that you have enabled the Automation Anywhere Google
Chrome extension. See Supported browsers for Automation Anywhere Enterprise Cloud.

6. Return to the Enterprise Control Room.


7. Verify that the Control Type matches your intended object.
For example, when capturing a table from a website, ensure the Control Type and HTML Tag values
are TABLE.
If the Control Type does not match your intended object, recapture the object control.

Note: When it is not possible to capture a UI element with the Recorder, use the Image Recognition
package. For example, when the Recorder cannot capture a Submit button as a BUTTON control
type.

8. Review the Object properties list.


The bot will use the selected properties to identify the object control during runtime.
Ensure that only the properties that do not change are selected.
9. Select the Action from the drop-down list.
If the selected Action supports background processes, a Run in the background check box is
available to enable this process. If the desired Action does not appear in the drop-down list,
recapture the object. See Actions that support background processing
For the full list of possible actions by object, see Object controls and actions.
10. Enter a wait time for the object control to appear.
11. Optional: Assign the output to a variable.
12. Click Apply.

Video: Using the Capture action

Enter data into a web form from a file


Use the Excel advanced, Loop, and Recorder packages to populate a web form with values from an Excel
file.
To retrieve values from an Excel file and input them into a web form, do the following:
1. Open the Excel file.
a. Double-click or drag the Excel advanced > Open action.
b. Enter a session name.
c. Select the Excel file.
d. Mark the Sheet contains a header option.
e. Click Apply.

By marking the Sheet contains a header option, you enable the bot to search for the column by the
header name during run time.

© 2020 Automation Anywhere. All rights reserved.     347


    Automation Anywhere - Build

2. Launch the website.


a. Double-click or drag the Browser > Launch website action.
b. Enter the website URL.
c. Click Apply.

3. Retrieve the worksheet values and store them in a Table variable.


a. Double-click or drag the Excel advanced > Get multiple cells action.
b. Enter the same session name you used in the Excel advanced > Open action.
c. Select All rows from the drop-down list.
d. Create a Table variable using the icon to the right of the Assign to variable drop-down list.
e. Click Apply.

4. Instruct the bot to process the data row by row.


a. Double-click or drag the Loop action.
b. Select the For each row in table iterator.
c. Select the same Table variable that you used in Get multiple cells.
d. Create a Record variable using the icon to the right of the Assign to variable drop-down list.
e. Click Apply.

The Record variable holds all of the values for one row. With each iteration of the Loop, the bot
retrieves the values of the next row and stores them in the Record variable, overwriting the values
from the previous row.
5. Map the first column header to the web form textbox.
a. Double-click or drag the Recorder > Capture action.
b. Select the same window you opened with the Launch website action.
c. Click Capture object.
d. Hover over the textbox until a red outline appears.
e. Click the textbox.
f. Return to the Enterprise Control Room.
g. Verify that the Control Type value is TEXTBOX.
h. Select Set text from the Action drop-down list.
i. In the Keystrokes field, insert the same Record variable that you used in the Loop.
j. Select the By name option and copy-paste the first column header into the field.
k. Click Apply.

6. Repeat the sub-steps in step 5 to map the other columns, with the following differences:
• Instead of searching for the browser window title, insert the Window variable generated by the
Recorder.
• When inserting the Record variable in the Keystrokes field, copy-paste the subsequent column
header into the "By name" field.

© 2020 Automation Anywhere. All rights reserved.     348


    Automation Anywhere - Build

7. Capture the Submit button.


a. Double-click or drag the Recorder > Capture action.
b. Insert the Window variable generated by the Recorder.
c. Click Capture object.
d. Verify that the Control Type value is BUTTON.
e. Select the Click action.
f. Click Apply.

8. Click Save.

REST Web Service package


The REST Web Service methods (actions) work similarly to a representational state transfer (REST) client,
using the REST request-response model.

Before you start

You need to have the following information to add to the selected method to create and send a REST
request and receive a response. Not all parameters are required for all methods.
• URI: A unique address for an API resource.
• Authentication Mode: There are 3 supported authentication modes.
• Basic: text strings can be used for basic authentication; however, it is recommended that you use
credentials that are stored in the Automation Anywhere Credential Vault.
• Logged-in AD User: Active Directory (AD) users that are authorized to access the related API are
authenticated through AD. No credentials are needed in the request.
• Windows NT LAN Manager (NTLM) Authentication (AD User): a challenge/response authentication
method that allows clients to provide their user name and password as encrypted credentials or
plain text. It is recommended that you use credentials that are stored in the Automation Anywhere
Credential Vault. NTLM requires a user name in the domain\username or \username format.

• Header: Not all methods require a header. Headers represent the meta-data associated with the
request.
• Content type: When a header contains a content type it defines the content negotiation between the
client and the server.
• Output variable: Response output is captured in a dictionary variable. A dictionary variable is a key
value pair. Use the response header name as key to capture the header value, or "Body" as the key to
capture the response body.

Actions in the REST Web Service package

Action Description

DELETE Method Removes a resource that is identified in the URL


or request body.

© 2020 Automation Anywhere. All rights reserved.     349


    Automation Anywhere - Build

Action Description

GET Method Retrieves information identified by parameters


included in the URI. There is no Content type
for the get method because all the parameters
are passed as part of the URI. Limitations and
characteristics of the GET method:
• URI length is limited to 2048 characters
• All parameters are passed in the URI
• The GET method exposes data that is in the
URI, making it less secure than the POST
method.
• GET does not change any data, making it
safe for all users regardless of authorization.

POST Method • Parameters passed in request body.


• There is no limit on length for a request
body.
• POST can be used to update or delete data.

PUT Method Updates a record based on parameters passed


in the URI or body.

SAP package
The SAP package contains actions to automate tasks and processes on a SAP application.
The SAP package enables you to perform the following tasks:
• Reduce the time required to combine data from disparate systems.
• Eliminate human error and increase efficiency.
• Increase the number of transactions processed.
• Deliver real-time information to various stakeholders.
• Enhance decision-making through comprehensive reports.

Note: You can use the actions in the SAP package with any version of SAP ECC and Oracle Database.

Prerequisites

• Open the Enterprise client and SAP GUI application in the same mode. For example, if you open the
Enterprise client in Administrator mode, you must also open the SAP GUI application in Administrator
mode.
• Log in to the SAP GUI before capturing objects because the SAP Logon screen is not supported for
object capture.
• Enable GUI scripting and accessibility.
See Enabling Scripting on the Client Side, Enabling Scripting on the Server Side, and Enabling
Accessibility settings.
• SAP GUI 750 for Windows along with Patch 9 or later must be installed on the devices that you use to
automate SAP-related tasks and to run these tasks.

© 2020 Automation Anywhere. All rights reserved.     350


    Automation Anywhere - Build

• Install a Scripting Tracker or a similar tool to retrieve the field path of the SAP object.

Before you start


Perform the following actions within the SAP package as part of using the set of available actions:
1. Establish a connection with the SAP application using the Connect action.
Log in to the SAP application using the SAP GUI application. Then use the Connect action from the
SAP package to use this connection and assign a session name. Use this same session name for the
other actions.
2. Use the actions to automate a task.
3. After you have automated all the SAP-related tasks, terminate the connection to the SAP application
using the Disconnect action.

Actions in the SAP package

The SAP package includes the following actions:

Action Description

Check/uncheck Selects or clears a check box.


checkbox
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Action option, select Check, Uncheck, or Toggle.

Click Performs a click operation.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.

Click menu Clicks a menu item by text or index.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Select option, select Name or Index to specify the name or
index of the menu item.

Connect See Using Connect action for SAP.


Disconnect Terminates the connection to the SAP application. In the Session name
field, enter the session name you used to connect to the SAP application
in the Connect action.

© 2020 Automation Anywhere. All rights reserved.     351


    Automation Anywhere - Build

Action Description

Double click Performs a double-click operation.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.

Expand Expands the item by text or index.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Select option, select Text or Index to specify the text or index of
the item.

Export table See Using Export table action.


Get cell count Gets number of cells in a table or grid.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Get children name Gets children control names.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to list variable field, specify the list variable.

Get children text Gets the text associated with children control.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to list variable field, specify the list variable.

Get column count Gets number of columns in a table or grid.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

© 2020 Automation Anywhere. All rights reserved.     352


    Automation Anywhere - Build

Action Description

Get row count Gets number of rows in a table or grid.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Get selected item Gets selected item index from a combo box, page tab, or a tree view
control.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Get status Gets status of a radio button or check box.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Get table cell index Gets table cell index for text.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Search text field, specify the text.
• Select the Case sensitive search option to specify a case-sensitive
search.
• Select the All occurrences check box.
• In the Assign the output to a variable field, specify the variable.

Get table cell text Gets table cell text by index.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Row field, specify the number.
• In the Column field, specify the number.
• In the Assign the output to a variable field, specify the variable.

© 2020 Automation Anywhere. All rights reserved.     353


    Automation Anywhere - Build

Action Description

Get text Gets text from a text box, label, or status bar.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Get total item Gets total item from a combo box, page tab, or tree view control.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Assign the output to a variable field, specify the variable.

Left click Performs a left-click operation.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.

Right click Performs a right-click operation.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.

Select item Selects an item by text or index.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Select option, select Text or Index to specify the text or index of
the item.

Select radio option Selects a radio button.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.

Send virtual key Sends a virtual key.


• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Select list, select a key.
See Virtual keys in SAP GUI.

© 2020 Automation Anywhere. All rights reserved.     354


    Automation Anywhere - Build

Action Description

Set table cell text See Set table cell text.


Set text Sets the text in an editable field.
• In the Session name field, enter the session name you used to
connect to the SAP application in the Connect action.
• In the Field path field, specify the location or a string variable that
contains the location of the object.
• In the Field value field, specify the text.
• Select the Append text check box.

Using Connect action for SAP


Use the Connect action to establish a connection with a SAP system that you want to use to automate
SAP-related tasks. This must be the first action you use to automate an SAP-related task.
1. In the Actions palette, double-click or drag the Connect action from the SAP package.
2. In the Session name field, enter the session name you used to connect to the SAP application in the
Connect action.
3. Select an option to specify the connection type:
a) If you have selected Automatic, no additional information is required to connect to the SAP
application.
You must be already logged on to SAP logon application as the system uses the available SAP
session to connect to a SAP system.

4. Click Apply.

Related tasks
Using Export table action
Use the Export table action to export a table to a datatable or CSV file.
Using Set table cell text action
Use the Set table cell text action to set the text in a specific cell of a table or a grid.
Related reference
SAP package
The SAP package contains actions to automate tasks and processes on a SAP application.

Using Export table action


Use the Export table action to export a table to a datatable or CSV file.
To export a table, follow these steps:
1. In the Actions palette, double-click or drag the Export table action from the SAP package.
2. In the Session name field, enter the session name you used to connect to the SAP application in the
Connect action.
3. In the Field path field, specify the location or a string variable that contains the location of the object.

© 2020 Automation Anywhere. All rights reserved.     355


    Automation Anywhere - Build

4. In the Export As option, select CSV or Database to specify the export option of the table cell:
Choice Steps

CSV a. In the File Path field, specify the location or


file variable.
b. Optional: In the Encoding field, specify the
value.
c. Select the Export data with header check
box to export with header.
d. In the When saving field, select Append to
existing log file or Overwrite existing log
file to append the log file or overwrite the
content within the log file.

Database In the Database field, specify the value.


5. Click Apply.
6. Click Save.

Using Set table cell text action


Use the Set table cell text action to set the text in a specific cell of a table or a grid.
To set a value in a table cell, follow these steps:
1. In the Actions palette, double-click or drag the Set table cell text action from the SAP package.
2. In the Session name field, enter the session name you used to connect to the SAP application in the
Connect action.
3. In the Field path field, specify the location or a string variable that contains the location of the object.
4. In the Select option, select Text or Index to specify the text or index of the table cell:
• Text: In the Find Text field, specify the value.
The system searches for the cell that contains the value.
• Index: In the Row and Column fields, specify the value.

5. In the Set Text field, enter the text to set the table cell.
6. Click Apply.
7. Click Save.

Screen package
Use the Screen package to automate the process of capturing screenshots. Using the actions in this
package, you can capture an area of an application window, the entire computer screen, or an active
open window and save it in a specified location in an image format.

Actions in the Screen package

The Screen package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     356


    Automation Anywhere - Build

Action Description

Capture area Captures specified area of an open application.


See Using Capture area action

Capture desktop Captures an image of the full desktop.


• In the File path to save image field, specify the path where you want to
save the captured image.
The following file extensions are supported: *.png, *.bmp, *.jpeg, *.tiff,
*.gif, and *.wmf.
• Select Overwrite file check box to overwrite an existing file with the
same name.

Capture window Captures screenshots of an open application window.


See Using Capture window action

Using Capture area action


Use the Capture area action in the Screen package to capture a screenshot of the application window
area.
To capture a specified area of an application window, perform these steps:
1. In the Actions palette, double-click or drag the Capture area action from the Screen package.
2. In the Select window field, choose Window or Variable.
3. Select an application window:
Option Steps

Window From the drop-down list, select the window title from the open
applications.
• The Window title field displays the title of the application window you
have selected.
You can use the wildcard character in this field to identify an
application window with a similar title.
Example: Enter Balance Sheet* to identify all open windows with a
title starting with Balance Sheet in the window title.
• The Executable field displays the complete path of the executable file
to identify the right window.

Variable Use a window variable to specify the application window you want to use.
4. Click the Capture region.
The pixel coordinates of the captured area are displayed in the X, Y, Width, and Height fields. You can
modify these values.
5. Browse to select the File path to save image.
The following file extensions are supported: *.png, *.bmp, *.jpeg, *.tiff, *.gif, and *.wmf.
6. Click Overwrite file to replace an existing file with the same name.
7. Click Apply, and then click Save.

© 2020 Automation Anywhere. All rights reserved.     357


    Automation Anywhere - Build

Using Capture window action


Use the Capture window action of the Screen package to capture an open application window.
To capture an application window, perform these steps:
1. In the Actions palette, double-click or drag the Capture window action from the Screen package.
2. In the Select window field, choose Window or Variable.
Option Steps

Window From the drop-down list, select the window title from the open applications.
• The Window title field displays the title of the application window you have
selected.
You can use the wildcard character in this field to identify an application
window with a similar title.
Example: Enter Balance Sheet* to identify all open windows with a title
starting with Balance Sheet in the window title.
• The Executable field displays the complete path of the executable file to
identify the right window.

Variable Use a window variable to specify the application window you want to use.
3. Browse to select the File path to save image.
The following file extensions are supported: *.png, *.bmp, *.jpeg, *.tiff, *.gif, and *.wmf.
4. Click Overwrite file to replace an existing file with the same name.
5. Click Apply, and then click Save.

SNMP package
The SNMP package allows you to automate network management tasks, such as retrieving and
modifying data, and sending notification messages.
Simple Network Management Protocol (SNMP) is used to find the network management component on
one or more computers and the managed component on multiple network devices.
The Automation Anywhere SNMP action offers powerful network management. Using this action, users
can easily monitor network devices configured with SNMP agent software. Network devices such as
servers, workstations, printers, routers, bridges, and hubs, as well as services such as Dynamic Host
Configuration Protocol (DHCP) or Windows Internet Name Service (WINS) can be monitored.

Actions in the SNMP package


The SNMP package includes the following actions:
Action Description

Get Retrieves data from an SNMP agent and assigns the values to a string
variable
Get next Browses entire hierarchy of management objects and assigns the return
value to a variable. Users can save the result in a log file. The default file is
SNMPLog.txt. This action supports ASCII and Hexagonal data types.

© 2020 Automation Anywhere. All rights reserved.     358


    Automation Anywhere - Build

Action Description

Send trap Send trap messages to the SNMP Manager from an SNMP Agent. These
messages are sent by an SNMP Agent whenever certain events occur,
such as a system restart. You must specify the Trap Type:
• Cold start: Occurs when the SNMP agent initializes its configuration
tables.
• Warm start: Occurs when the SNMP agent re-initializes its
configuration tables.
• Link down: Occurs when the state of a network adapter on the SNMP
agent changes from up to down.
• Link up: Occurs when the state of a network adapter on SNMP agent
changes from down to up.
• Authentication fail: Occurs when the SNMP agent receives a message
from an SNMP manager with an invalid community name.
• EGP neighbour loss: Occurs when the SNMP agent cannot
communicate with its Exterior Gateway Protocol (EGP) peer.
• Enterprise specific: Occurs when specific error conditions and error
codes are defined in the system. The user provides a Trap Specific
Number for this option.

Set Modifies data on an SNMP agent. You must specify the Value type
• Select the Value Type from the drop-down list and enter the set value.

Walk Retrieves a sub-tree of management values using the Get Next action.
• You must specify the Walk Type:
• Within: All variables in the sub-tree below the given OID are
queried.
• All: Displays the variables that are equal to the specified OID for the
given tree type structure.

Related reference
Active Directory package
Printer Settings action

Inserting an SNMP action


Use the actions in the SNMP package to automate network management tasks.
To insert an SNMP actions, follow these steps:
1. Double-click or drag one of the SNMP action.
2. Specify an agent:
a. Specify an IP Address or host name.
b. Select a device version (V1, V2C, or V3).

Note: V3 enables users to select authentication levels to ensure a more secure environment.

1. If you selected V1 or V2C, specify a community string. This string is used for read-only
access to a network element.

© 2020 Automation Anywhere. All rights reserved.     359


    Automation Anywhere - Build

2. If you selected V3, specify a username and provide authentication details.

3. Provide OID Specifications.


a. Specify the IP Address or host name.
b. Where applicable: select either the ASCII or Hex data type.

4. Specify values for action-specific fields. See action descriptions in SNMP package for more
information.
5. Provide values for the advanced options.
a. Specify the response time in milliseconds for the action to wait before generating an error.
b. Specify the TCP/IP port. The default is 161.
c. Specify the number of times to retry the message.

6. Select Control Room, Desktop File or Variable. Specify the file path to save the result in a log file.
7. Where applicable, select a String variable.
8. Click Save.

SOAP web service package


Use the SOAP web service action from the SOAP web service package to access and exchange
information between two systems in XML format.
With this action, you can:
• Consume SOAP web services written to provide structured data for further business processing, such
as currency conversion, weather reports, and language translation.
• Connect to different existing applications and different platforms, irrespective of any underlying
infrastructure requirements.

The SOAP Web Service establishes complete interoperability between clients/applications and the
internet, supporting XML-based open standards, such as Web Services Description Language (WSDL),
Simple Object Access Protocol (SOAP), and Universal Description Discovery and Integration (UDDI).

Using the SOAP web service action


Use the SOAP web service action to make a call. The steps below include an example call to an online
calculator application.
To make a SOAP web services call, do the following steps:
1. Double-click or drag the SOAP web services action.
2. Select a connection method:
• To connect using a URI, enter the URI. For example, http://www.dneonline.com/
calculator.asmx?WSDL.
• To connect using a file, select a file from the Control Room or the Desktop, or insert a variable.

3. Optional: Enter the SOAP endpoint in the Address location field.


4. In the Service field, enter the service name.
This field identifies the collection of ports supported by the web service. It holds the @service
name value for an a SOAP web service call.

© 2020 Automation Anywhere. All rights reserved.     360


    Automation Anywhere - Build

For example, Calculator.


5. In the Port field, enter the endpoint to connect with.
This field holds the @binding name value for a SOAP web service call.
For example, CalculatorSoap.
6. Select the SOAP version of the endpoint that you specified in the Port field.
Choose from 1.1 or 1.2.
7. In the Operation field, enter the name of the service function for the endpoint that you specified in
the Port field. .
This field holds the @operation name value for a SOAP web service call.
For example, Add.
8. Select either the Operation parameters or Raw data parameters option to provide the parameter
details.
• If you select Operation parameters, enter the name and value of each parameter.
For example, enter intA in the first Name field and 10 in the first Value field, and intB in the
second Name field and 20 in the second Value field.
• If you select Raw data parameters, enter the XML.

9. Select either the No Authentication or Basic option from the Authentication Mode list.
• If you select No Authentication, proceed to the next step.
• If you select Basic, provide credentials or enter values in the Username and Password fields.

10. Optional: Provide a Client certificate by selecting a file from the Control Room or your desktop, or
insert a variable.
11. Optional: Provide custom headers.
12. Optional: Provide a file to save the XML output.
13. Select either the Complete response or the Selected response option to narrow the response scope.
• If you select Complete response, proceed to the next step.
• If you select Selected response, do the following:
a. Provide the XPath expression.
For example,

/*[local-name()='Envelope' and namespace-uri()='http://


schemas.xmlsoap.org/soap/envelope/']
/*[local-name()='Body' and namespace-uri()='http://
schemas.xmlsoap.org/soap/envelope/']
/*[local-name()='AddResponse' and namespace-uri()='http://
tempuri.org/']
/*[local-name()='AddResult' and namespace-uri()='http://
tempuri.org/']

b. Select a section of the XML output: Values, Inner XML, or Outer XML.
c. If you select Values, choose a delimiter option: Pipe or Semicolon.

14. Select a variable to store the XML output.


For example, prompt-assignment.
15. Click Apply.

Verify the SOAP web service action output by inserting a Message box action with variable prompt-
assignment in the body message. When you run the bot, the Message box should show 30.

© 2020 Automation Anywhere. All rights reserved.     361


    Automation Anywhere - Build

Step package
The Step package groups various actions together and runs them in a specific order. You can provide a
relevant name for a step to identify the operation performed by the actions included in that step.

Action in the Step package

The Step package includes the following action:

Action Description

Step Runs a sequence of actions.


• Creates a container for actions without impacting the bot run.
• Configures actions within the Step action.
• Runs the arranged actions in a sequential order.
• Groups various actions for better management.
• Optional: In the Title field, specify the title.

Video: Using the Step actions

String package
Use the String package to perform various operations such as comparing two strings, retrieving the string
length, or converting a string to uppercase or lowercase.

Actions in the String package

The String package includes the following actions:

Action Description

Assign Assigns or concatenates strings.


• In the Select the source string variable(s)/value field, specify the
variable.
• In the Select the destination string variable field, specify the variable.

Compare Compares two strings.


• In the Source string field, specify the source string.
• In the Compare to string field, specify the source string.
• In the When comparing field, select an option:
• Match case: Matches capitalization while comparing.
• Do not match case: Does not match capitalization while
comparing.

• In the Assign the output to variable list, specify the Boolean variable.

Extract text See Using Extract text action.

© 2020 Automation Anywhere. All rights reserved.     362


    Automation Anywhere - Build

Action Description

Find See Using Find action.


Length Retrieves the string length.
• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the number variable.

Lowercase Converts the source string to lowercase.


• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the variable.

Replace See Using Replace action.


Reverse Reverses the source string.
• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the variable.

Split See Using Split action.


Substring Extracts a substring from a string.
• In the Source string field, specify the source string.
• In the Start from field, specify the starting point.
• Optional: In the Length field, specify the length.
• In the Assign the output to variable list, specify the variable.

To boolean Converts a string to a Boolean.


• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the Boolean variable.

To number Converts a string to a number.


• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the number variable.

Trim Trims blanks and whitespaces from a string.


• In the Source string field, specify the source string.
• In Trim from the beginning and Trim from the end, select options.
• In the Assign the output to variable list, specify the variable.

Uppercase Converts the source string to uppercase.


• In the Source string field, specify the source string.
• In the Assign the output to variable list, specify the variable.

Video: Using the String action

© 2020 Automation Anywhere. All rights reserved.     363


    Automation Anywhere - Build

Related tasks
Using Extract text action
Use the Extract text action to extract a range of text using logical operators from the source string you
have specified.
Using Find action
Use the Find action to find a substring within the specified string.
Using Replace action
Use the Replace action to find a piece of text from the source string and replace it with another text.
Using Split action
Use the Split action to split the specified string into multiple strings and store the output in a list variable.

Extract text
The Extract text action enables you to extract text from a source string. You can extract text before, after,
or between two strings.

Using the Before Option

This option enables you to extract the entire text followed by the value you have provided in the Start
after text field. You can also extract the text based on the occurrence of the value you have provided in
the field.
For example, a:123a:123b:123c: is the source string, you can specify ':' in the Start after text field and
'2' in the Occurrence field to extract the string followed by the second occurrence of ':' in the source
string. In this example, the extracted text is '123b:123c:'.

Using the After Option

This option enables you to extract the entire text preceding the value you have provided in the End
before text field. You can also extract the text based on the occurrence of the value you have provided in
the field.
For example, a:123a:123b:123c: is the source string, you can specify ':' in the End before text field
and '3' in the Occurrence field to extract the string preceding the second occurrence of ':' in the source
string. In this example, the extracted text is 'a:123a:123b'.

Using the Before and/or after option

This option enables you to extract the text between the values you have provided in the Start after text
and the End before text fields. You can also apply the AND or OR logical operator. You can select the
AND operator to extract text only when both conditions specified for the Before and After options are
satisfied. Otherwise, you can select the OR operator to extract text only when either of the conditions
specified for the Before or the After option is satisfied.
For example, a:123a:123b:123c: is the source string, you can specify ':' in the Start after text and End
before text fields and '2' in the Occurrence fields to extract the string after the second and before the
fourth occurrence of ':' in the source string. In this example, the extracted text is '123b:123c'.

© 2020 Automation Anywhere. All rights reserved.     364


    Automation Anywhere - Build

Using Extract text action


Use the Extract text action to extract a range of text using logical operators from the source string you
have specified.
To extract a substring from the specified source string, do the following:
1. In the Actions palette, double-click or drag the Extract text action from the String package.
2. In the Source string field, specify the source string.
3. In the Before option, select to extract the entire text followed by the value you have provided in the
Start after text field.
a) In the Start after text field, enter a string to use as the starting point.
b) In the Occurrence field, enter a value to specify the number of occurrences.
For example, if the source string is This is a test string which is used to extract
specific sub-string and you want to extract the entire text after This. To extract the
required text, you must enter This in the Start after text field and 1 in the Occurrence field. This
indicates to the system to extract the text that is available after the first occurrence of This in
the source string.

4. In the Before and/or after option, select to extract the text between the values provided in the Start
after text and the End before text fields.
a) In the Start after text field, enter a string to use as the starting point.
b) In the Occurrence field, enter a value to specify the number of occurrences.
For example, if the source string is This is a test string which is used to extract
specific sub-string and you want to extract the entire text after This. To extract the
required text, you must enter This in the Start after text field and 1 in the Occurrence field. This
indicates to the system to extract the text that is available after the first occurrence of This in
the source string.
c) In the OR or AND field, select one of the options:
• OR: Select to extract text if either of the values specified in the Start after text or the End
before text field are available in the source string.
• AND: Select to extract text if both the values specified in the Start after text and the End
before text fields are available in the source string.

d) In the End before text field, specify a string to use as the endpoint for extracting the text.
e) In the Occurrence field, enter a value to specify the number of occurrences of the string you
have provided in the End before text field.
For example, if the source string is This is a test string which is used to extract
specific substring and you want to extract the entire text before specific. To extract
the required text, you must enter specific in the End before text field and 1 in the Occurrence
field. This indicates to the system to extract the text available before the first occurrence of
specific in the source string.

5. In the After option, select to extract the entire text preceding the value you have provided in the End
before text field.
a) In the End before text field, specify a string to use as the endpoint for extracting the text.
b) In the Occurrence field, enter a value to specify the number of occurrences of the string you
have provided in the End before text field.
For example, if the source string is This is a test string which is used to extract
specific substring and you want to extract the entire text before specific. To extract
the required text, you must enter specific in the End before text field and 1 in the Occurrence

© 2020 Automation Anywhere. All rights reserved.     365


    Automation Anywhere - Build

field. This indicates to the system to extract the text available before the first occurrence of
specific in the source string.

6. In the If no match found, return field, select one of the options:


• Source String: Return the source string.
• Empty (null) String: Return the null string if no match is found.

7. In the Number of characters to get field, select one of the options:


• All: Extracts all characters from the source string.
• Only: Specify the number of characters to extract from the source string.

8. In the Trim the extracted text (remove blank spaces) check box, select to remove blank spaces from
the extracted text.
9. In the Remove Enter from the extracted text check box, select to remove Enter from the extracted
text.
10. In the Assign the output to variable list, specify the variable.
11. Click Apply.
12. Click Save.

Using Find action


Use the Find action to find a substring within the specified string.
This action also enables you to perform a search based on a regular expression. A regular expression
is a sequence of characters that define a search pattern. For example, to find all email addresses in the
source string, specify the following as a regular expression: \b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]
{2,4}\b.
To find a substring from the specified string, follow these steps:
1. In the Actions palette, double-click or drag the Find action from the String package.
2. In the Source string field, specify the source string.
3. In the Find string field, specify the substring.
4. In the When finding field, select one of the options:
• Match case: Matches the case of the text.
• Do not match case: Does not match the case of the text.

5. In the The "find string" is field, select one of the options:


• A regular expression: The substring is a regular expression
• Not a regular expression: The substring is not a regular expression.

6. Optional: In the Start from field, specify the starting point.


For example, you want to replace Red in the source string with Blue in a paragraph. Red is in 10
instances in the paragraph and you want to replace only the third occurrence. Enter 3 in the Start
from field to identify the third occurrence.
7. In the Assign the output to variable list, specify the number variable.
8. Click Apply.
9. Click Save.

Using Replace action


Use the Replace action to find a piece of text from the source string and replace it with another text.

© 2020 Automation Anywhere. All rights reserved.     366


    Automation Anywhere - Build

A regular expression is a sequence of characters that define a search pattern. For example, to find
all email addresses in the source string, specify the following as a regular expression: \b[A-Z0-9._
%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b.
To replace text from the specified string, follow these steps:
1. In the Actions palette, double-click or drag the Replace action from the String package.
2. In the Source string field, specify the source string.
3. In the Find string field, specify the substring.
4. In the When finding field, select one of the options:
• Match case: Matches the case of the text.
• Do not match case: Does not match the case of the text.

5. In the The "find string" is field, select one of the options:


• A regular expression: The substring is a regular expression
• Not a regular expression: The substring is not a regular expression.

6. Optional: In the Start from field, specify the starting point.


For example, you want to replace Red in the source string with Blue in a paragraph. Red is in 10
instances in the paragraph and you want to replace only the third occurrence. Enter 3 in the Start
from field to identify the third occurrence.
7. Optional: In the Count field, specify the number of times the find text must be replaced.
For example, you want to replace Red in the source string with Blue in a paragraph. Red is in 10
instances in the paragraph; however, you want to replace Red from only the third occurrence to
the sixth occurrence. Enter 3 in the Start from field and 4 in the Count field to replace the third
occurrence four times.
8. In the Replace with field, specify the text to replace the string.
9. In the Assign the output to variable list, specify the variable.
10. Click Apply.
11. Click Save.

Using Split action


Use the Split action to split the specified string into multiple strings and store the output in a list variable.
To split a string into multiple strings, perform these steps:
1. In the Actions palette, double-click or drag the Split action from the String package.
2. In the Source string field, specify the source string.
3. In the Delimiter field, specify the delimiter based on which you want to split the string.
4. In the Delimiter is field, select one of the options:
• Case sensitive: The delimiter is case-sensitive.
• Not case sensitive: The delimiter is not case-sensitive.

5. In the Split into substrings field, select one of the options:


• All possible: Split the source string into as many substrings as possible.
• Only: Split the source string into the number of substrings specified in the field.

6. In the Assign the output to variable list, specify the list variable.
7. Click Apply.
8. Click Save.

© 2020 Automation Anywhere. All rights reserved.     367


    Automation Anywhere - Build

TaskBot package
Use the Run action from the TaskBot package to run one or more child bots from a parent bot.
Build bots of shorter automation sequences and run them from a parent bot. For example, build a Login
child bot to enter the username and password into a web form and click submit. The Login child bot
accepts credentials from the parent bot and returns a success message, and then the parent bot can call
the subsequent CreateInvoice child bot. The Login child bot should also contain error handling logic
in case the credentials are incorrect.
This practice of building smaller, self-contained bot enables a user to reuse the bot logic in a greater
number of tasks, and makes error handling and troubleshooting easier. This also decreases the amount
of time spent building and maintaining bots. As a result, an organization is able to rapidly scale their
automation initiatives. The Login child bot from this example can be reused in any task that involves
providing credentials to a login page on a website.
In addition, running child bots from a parent bot offers greater control over data in the following ways:
• Users can configure the variables to control the direction in which information can be exchanged.
Create a variable
• Use as input: The variable holds a value that can be passed from the parent bot to a child bot.
• Use as output: The variable holds a value that can be passed from a child bot to the parent bot.
• Both: The value can be passed in both directions.
• Neither: The variable is confined to this bot; it cannot be shared across other bots.

• Other users can reuse child bots without viewing their contents.

Note: You must know the variable names from the child bot to call them from the parent bot. The
interface does not automatically import the variable names to the parent bot.

For an example, see Using the Run action.

Using the Run action


In this example, you use the Run action to pass two values from a parent bot to the child bot; the child
bot adds the values and passes the sum back to the parent bot.
This example demonstrates the following:

Modularization In this example, you build a single child bot to


add the values. You can build several child bots,
with each performing a different mathematical
operation, and edit the parent bot to call
whichever one you want to use.
Reusability The child bot contains only the actions necessary
to add the values and print them to a Message Box.
Also, the bot adds two variables instead of hard-
coded values. As a result, this bot can be reused for
any task that involves an addition operation.
Data control Because the child bot accepts and returns values
only through the use of variables, it does not hold
data. This minimizes the chance of data leakage.

To run a TaskBot from the current task, perform these steps:


Build the child bot.
1. Open a new bot.

© 2020 Automation Anywhere. All rights reserved.     368


    Automation Anywhere - Build

a) From Automation Anywhere web interface, select Bots > My bots.


b) Click Create a bot.
c) Enter the bot name AddChildBot.
d) Enter the folder location \Bots\TaskBotExample.
To change where your bot is stored, click Choose and follow the prompts.
e) Click Create and Edit.

2. Create the following variables:


• v1: number type; use as input
• v2: number type; use as input
• nSum: number type; use as output
• sSum: string type; use as output

Create a variable
3. Use a Number > Assign action to perform the mathematical operation.
a) Double-click or drag the Number > Assign action.
b) In the Select the source string variable/ value field, enter the following expression: $v1$ +
$v2$
c) Select nSum from the Select destination number variable list.
d) Click Apply.

4. Use the Number > To string action to convert the value so it can be printed to a Message Box.
a) Double-click or drag the Number > To string action.
b) In the Enter a number field, enter the following expression: $nSum$
c) Select sSum from the Assign output to variable list.
d) Click Apply.

5. Click Save.
6. Click Close.
Build the parent bot.
7. Open a new bot.
a) From the web interface, select Bots > My bots.
b) Click Create a bot.
c) Enter the bot name MathBot.
d) Enter the folder location \Bots\TaskBotExample.
To change where your bot is stored, click Choose and follow the prompts.
e) Click Create and Edit.

8. Create a Dictionary variable of Any subtype named dSums to accept the values passed from the child
bot.
Configure the variable that accepts the output of the Run action to make the bot more flexible and
resilient:
• Use a Dictionary variable to enable the parent bot to accept more than one output value.
• Use the Any subtype to enable the parent bot to accept String, Number, or Boolean type values.

© 2020 Automation Anywhere. All rights reserved.     369


    Automation Anywhere - Build

9. Insert a Task Bot > Run action to specify the values for the mathematical operation and the output
variable to hold the sum.
a) Double-click or drag the Task Bot > Run action.
b) Click Browse to navigate to Bots\TaskBotExample\AddChildBot.
c) Enter the following values in the Input values fields:
• v1: 12
• v2: 54

d) Select dSums from the Assign output to variable list.


e) Click Apply.

10. Use a Message Box to retrieve and print the sum.

Note: You must know the variable names from the child bot to call them from the parent bot. The
interface does not automatically import the variable names to the parent bot.

a) Double-click or drag the Message box action.


b) Enter $dSums{sSum}$ in the Message to display field.
c) Click Apply.

11. Click Save.


12. Click Run.
The bot runs and the Message Box appears containing the sum 66.

Terminal Emulator package


The Terminal Emulator package contains actions that enable you to connect to and automate tasks
on another machine. Use these actions to access and control operations on a remote machine. For
example, you can run applications and access files on a different operating system.
The Terminal Emulator enables a machine to connect to and communicate with another machine
using a command-line or graphical interface. The Terminal Emulator uses the Telnet or SSH protocol to
communicate with other machines.

Note: The Terminal Emulator supports only TN3270E and TN5250E terminal types.

Before you start

Perform the following actions within the Terminal Emulator package as part of using the set of available
actions:
1. Establish a connection with a host machine using the Connect action.
You must first establish a connection with a host machine to automate any Terminal Emulator
related task. When establishing the connection, specify the details of the host machine and associate
it with a session name. Use the session name provided in this action in the other actions so that you
do not have to provide details of the host machine in those actions again. See Using Connect action.

Important: If you use any other action from this package before establishing the connection, you
will encounter an error.

© 2020 Automation Anywhere. All rights reserved.     370


    Automation Anywhere - Build

2. Use the Terminal Emulator actions to automate a task. For example, use the Get field action to
retrieve the value from a particular field.
3. After you have automated all the Terminal Emulator related tasks, terminate the connection to the
host machine using the Disconnect action.

Actions in the Terminal Emulator package

The Terminal Emulator package includes the following actions:

Action Description

Clear terminal Clears the screen of the terminal. Specify the Terminal emulator session
name that you used to establish a connection with the terminal using the
Connect action.
Connect See Using Connect action.
Disconnect Terminates the connection with the terminal. Specify the Terminal
emulator session name that you used to establish a connection with the
terminal using the Connect action.
Get all fields Retrieves the values of all fields and assigns them to a table variable.
• Specify the Terminal emulator session name that you used to
establish a connection with the terminal using the Connect action.
• Select the table variable to store the retrieved data from the Assign the
value to an existing table variable list.

Note: You can use this action with the TN3270E, TN5250E, ANSI, and
VT100 terminal types.

Get field Retrieves the value of a field based on the index or name of the field and
assigns it to a string variable.
• Specify the Terminal emulator session name that you used to
establish a connection with the terminal using the Connect action.
• Select the By index option to retrieve the value of a field based on
its index, or select the By name option to retrieve the value of a field
based on its name.
• Select a string variable to store the retrieved data from the Assign the
value to an existing variable list.

Note: You can use this action with the TN3270E, TN5250E, ANSI, and
VT100 terminal types.

Get text See Using Get text action.


Hide terminal Hides the terminal screen. This action enables you to hide the terminal
screen when the Show terminal window option from the Connect action
is selected. It is useful when you do not want to display the terminal
screen when a bot is performing certain tasks. Specify the Terminal
emulator session name that you used to establish a connection with the
terminal using the Connect action.
Send key See Using Send key action.

© 2020 Automation Anywhere. All rights reserved.     371


    Automation Anywhere - Build

Action Description

Send text See Using Send text action.


Set cursor position Sets the position of the cursor on the screen of the terminal.
• Specify the Terminal emulator session name that you used to
establish a connection with the terminal using the Connect action.
• Specify the row number in which to set the cursor in the Set row field.
• Specify the column number in which to set the cursor in the Set
column field.

Note: You can enter a value of 1 through 999 to specify the row and
column number where the cursor is set.

Set field See Using Set field action.


Show terminal Shows the terminal screen. This action enables you to show the terminal
screen when the Show terminal window option from the Connect action
is not selected. It is useful when you want to display the terminal screen
when a bot is performing certain tasks. You must specify Specify the
Terminal emulator session name that you used to establish a connection
with the terminal using the Connect action.
Wait See Using Wait action.

Using Connect action


Use the Connect action to establish a connection with a host machine on which you want to automate
a task. You can use this action to establish a connection with the TN3270E, TN5250E, ANSI, and VT100
terminal types.
This action enables you to specify the details of the host machine and associate it with a session name.
Use the session name provided in this action in the other actions, so that you do not have to provide
details of the host machine in those actions again.

Important: If you use any other action from this package before establishing the connection, you will
encounter an error.

To establish a connection with a host machine, do the following:


1. Double-click or drag the Connect action from the Terminal Emulator node in the Actions palette.
2. Specify a name for the session in the Terminal emulator session name field.
3. Specify the Host name of the machine you want to connect to:
a) Click the Credential tab to select an entry from the Credential Vault.
b) Click the Variable tab to use a variable to specify the host name.

4. Enter a value in the Port field to specify the port you want to use to connect to the host.
5. Select an option from the Terminal type list to specify the terminal type you want to use:
• ANSI
• VT100
• TN3270E
• TN5250E

© 2020 Automation Anywhere. All rights reserved.     372


    Automation Anywhere - Build

For ANSI terminal type:


a) Select an option from the Connection type list to specify the type of connection you want to
establish:
• Telnet
• SSH2

For SSH2 connection type:


1. For User authentication:
• User name: Click the Credential tab to select an entry from the Credential Vault. You can
also click the String tab to enter a value manually.
• For Password: Click the Credential tab to select an entry from the Credential Vault. You
can also click the String tab to enter a value manually.

2. For Key file authentication: Click one of the following options to specify the location of the
file:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.
• User name: Click the Credential tab to select an entry from the Credential Vault. You can
also click the String tab to enter a value manually.

For VT100 terminal type:


a) Select an option from the Connection type list to specify the type of connection you want to
establish:
• Telnet
• SSH2

For SSH2 connection type:


1. For User authentication:
• User name: Click the Credential tab to select an entry from the Credential Vault. You can
also click the String tab to enter a value manually.
• For Password: Click the Credential tab to select an entry from the Credential Vault. You
can also click the String tab to enter a value manually.

2. For Key file authentication: Click one of the following options to specify the location of the
file:
• Control Room file: Enables you to select a PDF file that is available in a folder.
• Desktop profile: Enables you to select a PDF file that is available on your device.
• Variable: Enables you to specify the file variable that contains the location of the PDF file.
• User name: Click the Credential tab to select an entry from the Credential Vault. You can
also click the String tab to enter a value manually.

For TN3270E terminal type:


a) Select an option from the Host name security list to specify the security you want to use:
• NONE

© 2020 Automation Anywhere. All rights reserved.     373


    Automation Anywhere - Build

• SSL
• TLS

b) Select the Enable TN3270E support check box if you want to choose a connection method.
c) Select an option from the Connection method list:
• GENERIC: Enables you to specify the Device name.
• SPECIFIC: Enables you to specify the Device name and Resource (LU) Name.

For TN5250E terminal type:


a) Select an option from the Host name security list to specify the security you want to use:
• NONE
• SSL
• TLS

b) Select the Enable TN5250E support check box if you want to specify details about the device
and resource.
c) Enter a value in the Device name and Resource (LU) Name fields.

6. Select an option from the Terminal model list to specify the terminal workstation you want to
connect to.
7. Select an option from the Code page list to specify the encoding you want to use for the terminal.
8. Select the Show terminal window check box to show the terminal window.
9. Select the Wait for the terminal prompt to appear while connected check box to wait for the
terminal prompt to appear on the screen of the terminal after the connection is established.
a) Enter the text you want to display when you connect to the terminal in the Terminal prompt
field.
b) Enter a value in the Wait time out field to specify the period in (milliseconds) the system must
wait before the connection request is timed out.

10. In the Assign value to variable list, select a string variable.

Using Get text action


Use the Get text action to retrieve text from the terminal and store it in a string variable. This action
enables you to retrieve text from the last line, all lines, or a range of lines. You can use this action with the
TN3270E, TN5250E, ANSI, and VT100 terminal types.
To retrieve text from the terminal, do the following:
1. Double-click or drag the Get text action from the Terminal Emulator node in the Actions palette.
2. Enter the name of the session that you have used to establish a connection with the terminal using
the Connect action in the Terminal emulator session name field.

© 2020 Automation Anywhere. All rights reserved.     374


    Automation Anywhere - Build

3. Select an option from the Get text list to specify the lines from which you want to retrieve text:
• Last line: Retrieves text from the last line of the terminal.
• All lines: Retrieves text from all lines of the terminal.
• Lines from-to: Retrieves text from the specified range of lines of the terminal. You must enter
values in the Start row and End row fields to specify the range.

Note: You can specify a value of 1 through 999.

4. Select a string variable from the Assign the value to an existing variable list to assign the retrieved text
to that variable.
5. In the Assign value to variable list, select a string variable.

Using Send key action


Use the Send key action to send a key to the terminal. You can use these keys to perform various
operations on the terminal. You can use this action with the TN3270E, TN5250E, ANSI, and VT100
terminal types.
To send a key to the terminal, do the following:
1. Double-click or drag the Send key action from the Terminal Emulator node in the Actions palette.
2. Enter the name of the session that you have used to establish a connection with the terminal using
the Connect action in the Terminal emulator session name field.
3. Select an option from the Select key to be send list to specify the key you want to send.
4. Enter a value in the Delay after send key command field to specify the period the system must wait
(in milliseconds) after the selected key is sent.
5. Select the Wait for text or prompt to appear check box if you want the system to wait for the prompt
or certain text to appear on the terminal.
a) Select the Prompt option if you want the system to wait till the prompt appears on the terminal.
b) Select the Text option if you want the system to wait till the specific text appears on the
terminal.
You must provide the text you want to appear on the terminal in the Text value to be appear on
screen field.
c) Select the Wait before send key for prompt or text appear check box if you want the system to
wait for the prompt or the specified text to appear on the terminal before sending the selected
key.
d) Select the Wait after send key for prompt or text appear check box if you want the system to
wait for the prompt or the specified text to appear on the terminal after sending the selected
key.
e) Enter a value in the Time out for prompt or text to appear field to specify the period (in seconds)
the system must wait before the operation times out.

6. In the Assign value to variable list, select a string variable.

Using Send text action


Use the Send text action to send text to the terminal. This action also enables you to send predefined
keys after the text to perform various operations in the terminal. You can use this action with the
TN3270E, TN5250E, ANSI, and VT100 terminal types.

© 2020 Automation Anywhere. All rights reserved.     375


    Automation Anywhere - Build

To send a text to the terminal, do the following:


1. Double-click or drag the Send text action from the Terminal Emulator node in the Actions palette.
2. Enter the name of the session that you have used to establish a connection with the terminal using
the Connect action in the Terminal emulator session name field.
3. Specify the Text you want to send to the terminal:
a) Click the Credential tab to select an entry from the Credential Vault.
b) Click the Variable tab to use a variable that contains the text you want to send.

4. Select the Send a key after sending the above text check box if you want to send a key after sending
the text.
a) Select the key you want to send from the list.
b) Enter a value in the Delay after send key command field to specify the period (in milliseconds)
the system must wait after sending the selected key.

5. Select the Wait for text or prompt to appear check box if you want the system to wait for the prompt
or certain text to appear on the terminal.
a) Select the Prompt option if you want the system to wait till the prompt appears on the terminal.
b) Select the Text option if you want the system to wait till the specific text appears on the
terminal.
You must provide the text you want to appear on the terminal in the Text value to be appear on
screen field.
c) Select the Wait before send key for prompt or text appear check box if you want the system to
wait for the prompt or the specified text to appear on the terminal before sending the selected
key.
d) Select the Wait after send key for prompt or text appear check box if you want the system to
wait for the prompt or the specified text to appear on the terminal after sending the selected
key.
e) Enter a value in the Time out for prompt or text to appear field to specify the period (in seconds)
the system must wait before the operation times out.

6. In the Assign value to variable list, select a string variable.

Using Set field action


Use the Set field action to set a value in a particular field in the terminal. This action also enables you
to send predefined keys after the value to perform various operations in the terminal. You can use this
action with the TN3270E, TN5250E, ANSI, and VT100 terminal types.
To set a value for a field in the terminal, do the following:
1. Double-click or drag the Set field action from the Terminal Emulator node in the Actions palette.
2. Enter the name of the session that you have used to establish a connection with the terminal using
the Connect action in the Terminal emulator session name field.

© 2020 Automation Anywhere. All rights reserved.     376


    Automation Anywhere - Build

3. Specify the field for which you want to set a value:


a) Select the By index option to specify the field based on its index.
The index value starts from zero. For example, if you want to set the value for the third field, you
must specify 2 in this field.
b) Select the By name option to specify the location of the field.
For example, if you want to set the value for a field in the fifth column of the third row, you must
specify R3C5 in the field.

4. Specify the Plain text value you want to set in the specified field:
a) Click the Credential tab to select an entry from the Credential Vault.
b) Click the Variable tab to use a variable that contains the text you want to send.

5. Select the Send enter key after setting field check box if you want to send the enter key after setting
the field.
This option performs the operation similar to pressing the Enter key after setting the value in the
field.
6. Select the Send a key after sending the above text check box if you want to send a key after sending
the text.
a) Select the key you want to send from the list.
b) Enter a value in the Delay after send key command field to specify the period (in milliseconds)
the system must wait after sending the selected key.

7. In the Assign value to variable list, select a string variable.

Using Wait action


Use the Wait action to introduce a delay till specific conditions are met in the terminal. You can use this
action to wait before executing the next action till the specific text appears on the screen, the cursor
moves to the specified location, and so on. You can use this action with the TN3270E, TN5250E, ANSI,
and VT100 terminal types.
To wait till specific conditions are met in the terminal, do the following:
1. Double-click or drag the Wait action from the Terminal Emulator node in the Actions palette.
2. Enter the name of the session that you have used to establish a connection with the terminal using
the Connect action in the Terminal emulator session name field.
3. Select an option from the Terminal event list to specify a condition the system should wait till it is
met.
The following table provides information about the options available in the list and the input required
for each option:
Option Input required

Wait till text appears Waits till the text you have specified in the Text
field appears on the screen of the terminal.
Wait till text disappears Waits till the text you have specified in the Text
field disappears from the screen of the terminal.

© 2020 Automation Anywhere. All rights reserved.     377


    Automation Anywhere - Build

Option Input required

Wait till cursor moves to position Waits till the cursor moves to the position you
have specified in the Move to row and Move to
column fields.

Note: You can enter a value of 1 through 999 to


specify the row and column number where the
cursor is set.

Wait till cursor moves out of position Waits till the cursor moves out of the position
you have specified in the Move out of row and
Move out of column fields.

Note: You can enter a value of 1 through 999 to


specify the row and column number where the
cursor is set.

Wait till screen gets blank No input required.


Wait till screen contains text Waits till the text you have specified in the Text
field is available on the screen of the terminal.
Wait till terminal prompt appears No input required.
Wait till terminal ready state No input required.
4. Enter a value in the How long you would like to wait? field to specify the period (in milliseconds) the
system must wait before the operation times out.
5. In the Assign value to variable list, select a string variable.

VBScript package
The VBScript package contains actions that enable VBScript functions in a task.

Before you start

1. Open a VBScript file, or specify the script you want to run using the Open action. You must associate
the details of the file or script you want to run with a session name. Use this same session name for
other VBScript actions.
2. Use the Run function action to execute a function within the script or execute the entire script. You
must use the VBScript session name you established in the previous step.
3. After you have executed the script, close the VBScript session.

Note: Windows operating system must be installed on the device on which you want to run the
VBScript.

Actions in the VBScript package

The VBScript package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     378


    Automation Anywhere - Build

Note: The Open action must be the first action to use the VBScript in a task.

Action Description

Close Closes the session.


• Specify the same session name from the Open action.

Run function Runs a function within the VBScript.


• In the VBScript session field, specify a session name. Use the same
session name from the Open action.
• Optional: Specify the function name to run and the arguments to pass
to the function.

Note: You can pass only a list variable as an argument for the
function. You can use the list variable to pass multiple arguments of
different data types such as Boolean, datetime, number, and string.
• Optional: In the Assign the output to variable field, specify the variable.

Open Opens a VBScript file.


• In the VBScript session field, specify a session name. Use this same
session name for other VBScript actions.

• In the VBScript, choose one of the following options:


• In the Import existing file option, select an existing VBScript file.
• In the Manual input option, enter the VBScript.

Resources

To learn more, see Training - Write inline scripts in a bot. This course introduces you to write inline scripts
within a command.

Note: You must log in with a registered A-People Community account to access course.

Wait package
In an automation task, you might have to wait until a condition is met before executing the next set
of actions. Use the actions in the Wait package to add a condition to wait for an application screen to
change, or a separate window to open or close before proceeding to the next action.

Actions in the Wait package

The Wait package includes the following actions:

© 2020 Automation Anywhere. All rights reserved.     379


    Automation Anywhere - Build

Action Description

Wait for condition Makes the bot wait until a specific condition is true before executing the
next action.
In the Wait till field, specify the condition to meet. For example, the wait
condition can be based on whether an application is running, a folder or
file exists, a variable matches the specified value, an application window
exists, or a machine or server is running.
This action offers the same conditions as the If package. See the If
package .

Wait for screen See Using Wait for screen change action.
change
Wait for window See Using Wait for window action.

Using Wait for screen change action


Use the Wait for screen change action to wait for the content of a specific screen or the entire window
to change before executing the next action.
For example, a Human Resources (HR) personnel automating leave-management tasks wants to log in to
the HR portal. After entering the user credentials, this action enables the automation task to wait until the
next screen loads.
1. In the Actions palette, double-click or drag the Wait for screen change action from the Wait package.
2. In the Screen change relative to field, choose Window or Screen.
3. Select an application window:
Option Steps

Window From the drop-down list, select the window title


from the open applications.
• The Window title field displays the title of the
application window you have selected. You
can use the wildcard character in this field to
enable the action to identify an application
window with a similar title.
Example: Enter Balance Sheet* to identify
all open windows having title starting with
Balance Sheet in the window title.
• The Executable field displays the complete
path of the executable file to identify the right
window.

Variable Use a window variable to specify the application


window you want to use.
4. Enter values (in pixels) in the Left, Top, Width, and Height fields to specify the dimensions of the
screen.
The measurement starts from the top-left corner of the screen. Move vertically downward to
indicate the height and horizontally from left to right to indicate the width.
5. In the How long to wait before comparing screens? field, specify the wait time (in seconds) to begin
comparing the window or screen.
When a difference is detected, the comparison stops and the task proceeds to the next action.

© 2020 Automation Anywhere. All rights reserved.     380


    Automation Anywhere - Build

6. In the How long to wait before screen comparing is stopped? field, specify the wait time (in seconds)
for the screen to change.
If the screen does not change within the time you specified, the task proceeds with the next action.
7. Click Apply, and then click Save.

Using Wait for window action


Use the Wait for window action to wait for the specified window to open or close before executing the
next action.
For example, a Human Resources (HR) personnel automating leave-management tasks might require
the attendance application to open before they enter the user credentials. This action enables the
automation task to wait until the application window opens.
1. In the Actions palette, double-click or drag the Wait for window action from the Wait package.
2. In the Wait for window field, select the option you want the automation to wait for:
• Wait for window to open
• Wait for window to close

3. Select an application window:


Option Steps

Window From the drop-down list, select the window title


from the open applications.
• The Window title field displays the title of the
application window you have selected. You
can use wildcard character in this field to
enable the action to identify an application
window with a similar title.
Example: Enter Balance Sheet* to identify
all open windows having title starting with
Balance Sheet in the window title.
• The Executable field displays the complete
path of the executable file to identify the right
window.

Variable Use a window variable to specify the application


window you want to use.
4. In the How long you would like to wait for this condition to be true? field, specify the wait time (in
seconds) for the window to open or close.
If the window does not open or close within the time you specify, the task proceeds to execute the
next set of actions.
5. Click Apply, and then click Save.

Window package
Use the Window package to automate tasks relating to the window.
Window is a data type available for storing application window titles. It is the only data type that can
be used in all the actions of the Window package. Create a variable of data type Window and select
or assign a window title. Use this variable in any number of actions within the automation task. If the

© 2020 Automation Anywhere. All rights reserved.     381


    Automation Anywhere - Build

application window title changes, then change the value assigned to the variable. The new application
title is reflected in all the actions where the variable is used.

Actions in the Window package

The Window package includes the following actions:

Action Description

Activate Activates a window.


• In the Window field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

• In the Window title field, specify the title.

Assign Assigns a source window variable's value to a designated window.


• In the Select the source Window variable/value field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

• In the Window title field, specify the title.


• In the Select the destination window variable/value field, specify the
variable.

Close Closes the application window.


• In the Window field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

Get active window Retrieves the title of the active window. In the Assign the window title to
title variable field, specify the variable.
Maximize Maximizes a window.
• In the Window field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

Minimize Minimizes a window.


• In the Window field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

© 2020 Automation Anywhere. All rights reserved.     382


    Automation Anywhere - Build

Action Description

Resize Rezises a window.


• In the Window field, select an option:
• Window: Inserts a source window variable value.
• Variable: Inserts a user-defined variable value.

• In the Left, Top, Width, and Height fields, specify values for resizing the
window.

XML package
Extensible Markup Language (XML) is a markup language designed to store and transport data. Use the
actions in the XML package to automate the processing of XML data generated from web services and
cloud computing applications.
An XML document is structured as an ordered and labeled tree. Each node of the tree is an XML element
and is written with an opening and closing tag. In the following example, custname and custid are nodes:

<customer>
<custname>XYZ Corp</custname>
<custid>A001</custid>
</customer>

XPath is a query language that uses path expressions to select nodes or node-sets in an XML document.
XPath includes built-in functions for manipulation of string, numeric, Boolean, date and time, and so on.

Before you start

Perform the following actions within the XMLpackage.


1. Start the XML session using the Start XML Session action. Use this session name for all corresponding
actions.
2. Use the different action (s) available in the XML package to automate XML-related tasks.
3. Save the session using the Save XML Session action to assign the data to a file or String-type variable.
4. End the session using the End XML Session action to complete a task.

Action in the XMLpackage


The XML includes the following :

Action Description

Delete node Deletes a specific node from XML file.


• Enter the session name or select an existing window variable used in
the Start XML session action.
• Enter the XPath expression for the node to be deleted or select an
existing window variable.
• Enter the attribute (optional)

© 2020 Automation Anywhere. All rights reserved.     383


    Automation Anywhere - Build

Action Description

End session Closes an XML session.


• Enter the session name or select an existing window variable used in
the Start XML session.
• Save and close the session.

Execute XPath Executes an XPath function and stores the results in a variable.
function
• Enter the session name or select an existing window variable used in
the Start XML session action.
• Enter the XPath expression or select an existing window variable.
• Assign a String-type variable to the output.

Get multiple nodes Retrieves the value of multiple nodes.


• Enter the session name or select an existing window variable used in
the Start XML session action.
• Enter the XPath expression to retrieve multiple nodes or select an
existing window variable.
• In the Get each node field, select if you require the Text value, XPath
expression, or Specific attribute name of each node.

Get single node Retrieves the value of a single node.


• Enter the session name or select an existing window variable used in
the Start XML session action.
• Enter the XPath expression, and attribute (optional) to retrieve a node.
• Assign the output to a String-type variable.

Insert node See Using Insert node action.


Save session data Saves the XML session data to a file or variable of type String.
• Enter the session name or select an existing window variable used in
the Start XML session action.
• To save the session data to a file, select the Write XML data option
and specify a file path.
• Select Overwrite to replace the existing file if a file with the same
name exists in the location you have specified.
• Assign the output to a String-type variable.

Start session Creates a new XML session based on an XML file or specified text.
• Start the XML session.
• Enter the session name or select an existing window variable. Use this
session name for all corresponding actions.
• In the Data Source field, select either File or Text:
• File: Select from the Control Room file, Desktop file, or an existing
Variable of File type.
• Text: Specify the text name or select an existing window variable.

• Save the XML session.

© 2020 Automation Anywhere. All rights reserved.     384


    Automation Anywhere - Build

Action Description

Update node Updates the value of a node.


• Type the session name or select an existing window variable used in
the Start XML session action.
• Enter the XPath expression for the node to be updated.
• Enter a New value for the node.
• Select the Updates attribute(s) option to create a new Dictionary or to
add an existing Variable of Dictionary-type.

Validate XML The tags and document structure are defined when the XML document is
document created. Use this action to validate an XML document.
• Enter the session name or select an existing window variable used in
the Start XML session.
• Select the validation type from the following options:
• XML schema files (.xsd)
• Specify the schema using a List or Variable. Create a new variable
of type List or use one that already exists.
• Internal Document Type Definitions (DTDs)
• Well formed

• Assign the output to a variable using Assign the output (Valid or Invalid)
to variable

Using Insert node action


Use this action to insert a node in an existing XML file and assign it to a value. Optionally, assign a name
space and attributes to the node.
To insert a node, do the following:
1. Enter the session name.
Use the name of the session that you have used in the Start XML session action.
2. Specify an XPath expression to indicate where to insert the new node.
3. Enter a node name.
4. Enter a value for the node.
5. If the node name exists, select from the following options:
• Insert it anyways
• Skip it
• Overwrite it

6. Specify the location to insert the node from the following options:
• Beginning of the child nodes
• End of the child nodes
• Before specific child note
• After specific child node

If Before Specific child node or After Specific child node is selected, specify the child node name
before or after which the node must be inserted.
7. Optional: Enter the default name space to be mapped to the node.

© 2020 Automation Anywhere. All rights reserved.     385


    Automation Anywhere - Build

8. Enter the attributes using a Dictionary-type variable.


Create a new variable of type Dictionary or use one that already exists.
9. Optional: Enter the attribute name space using a Dictionary-type variable
Create a new Dictionary-type variable or use one that already exists.
10. Click Apply.

Universal Recorder overview


Use the Universal Recorder to record interactions (clicks, keystrokes, and mouse movements) with user
interface (UI) objects on the desktop, taskbar, or in a window. The Universal Recorder enables you to
capture objects from the web, desktop, and other applications installed on the device.
The earlier Automation Anywhere RPA products such as Version 11.3 have three separate recorders to
capture objects from various environments. Enterprise A2019 combines the capabilities of these three
recorders into the Universal Recorder to streamline the recording process.

Supported applications and browsers

The Universal Recorder supports the following:

Applications • HTML applications


• Java desktop applications that run using JRE 6,
7, and 8
• Microsoft Active Accessibility and UI automation
• SAP
• Citrix Virtual Apps

Browsers • Google Chrome


• Internet Explorer

Video: Getting started with the Universal Recorder

Using the Universal Recorder

You can use the Universal Recorder in the following ways:


1. To record a process consisting of multiple steps, use the Universal Recorder video camera icon,
which is located on the top-left of the workbench.
See Recording a task.
2. To record a single interaction that you want to add into an existing TaskBot (for example, if you
missed a step when recording a task), use Capture action from the Recorder package.
See Using the Capture action.
For a common use case, see Enter data into a web form from a file.

The Universal Recorder is also used within actions to capture coordinates (Mouse > Click action) or a
local file path (Application > Open program/file action).

© 2020 Automation Anywhere. All rights reserved.     386


    Automation Anywhere - Build

Video: Using the Universal Recorder

Background processing

Background processing enables an automation to run in the background. Use it in recorded tasks
that use Citrix Virtual Apps and Windows native applications. Some packages, such as the Excel basic
and Excel advanced inherently support background processing. See Actions that support background
processing.

Resources

To learn more, see Training - Automate applications on any device . This course introduces you to the
Universal Recorder and its usages.

Note: You must log in with a registered A-People Community account to access course.

Related reference
Supported browsers for Automation Anywhere Enterprise Cloud
The user interface for Automation Anywhere Enterprise for On-Premises Cloud, Automation Anywhere
hosted Cloud edition, and Community Edition, is through a browser.

Recording a task
Use the Universal Recorder to capture a series of interactions (clicks, keystrokes, and mouse movements)
with object controls including text boxes, buttons, tables, menus, radio buttons, combo boxes, check
boxes, list views, links, trees, and page tabs.
Consider the following:
• Configure device display settings to 100% DPI.
• Use mouse clicks, keystrokes, and shortcuts when possible.
• Record the task at low speed.
• Avoid dragging windows during the recording process.
• Avoid clicking on applications that are not part of the process you are recording and automating.

1. Open a new bot.


a. From Automation Anywhere web interface, select Bots > My bots.
b. Click Create TaskBot.
c. Enter a bot name and click Create and Edit.

2. Select your device.


The Device button is a laptop icon.
Automation Anywhere remembers this device until you log out. Each time you log in, reselect your
device.
3. Click Record.
The Record button is a video camera icon.
The Record application window appears.
4. Select a window from the drop-down list.
If you open an application when the recorder is running, click the Refresh icon.

© 2020 Automation Anywhere. All rights reserved.     387


    Automation Anywhere - Build

5. Click Start recording.


The Record Application window appears with Pause and Stop buttons. Pause and resume the
recording as needed.
The Recording actions window also appears. It shows the number of actions recorded.
6. Perform the actions to record.
For example, click buttons, fill in forms, or search a website.
While you are recording, the following will occur:
• A highlighted box will surround a control when you mouse over it.

Note: If the box does not appear, verify that you have enabled the Automation Anywhere Google
Chrome extension. For more information, see Supported browsers for Automation Anywhere
Enterprise Cloud.
• A Capture action will be generated for each operation.
• Where applicable, the Recorder will generate User-defined variables.

7. Click Stop to end the recording.


The recorded steps appear as Recorder actions.
8. Click Save Changes.

Next edit the task.

Editing a recorded task


After recording a task, edit the Capture actions to change the window, capture a different object, select a
new action, enable background processing, enter a different wait time, or save the output to a variable.
Select the List view to see the full details of each action.
Use these steps to edit one action of the recorded task. To add a Capture action to the task, see Using
the Capture action.
To edit a recorded task, follow these steps:
1. Click the Capture action that corresponds with the step.
The Capture edit window appears.
2. Make the following changes, as necessary:
• Select a different window either from the drop-down list or by inserting a window type variable.
• Insert a wildcard character (*) in the window title that is subject to change, such as for online
invoices. For example, Sample* - Google Chrome.

Note: During run time, verify that the TaskBot identifies the correct window.
• Click Re-capture object to select a new object control.
• Select a different Action from the drop-down list.
If the selected Action supports background processes, a Run in the background check box is
available to enable this process. If the desired Action does not appear in the drop-down list,
recapture the object. See Actions that support background processing
For the full list of possible actions by object, see Object controls and actions.
• Enter a new wait time for the object control to appear.
• Assign the output to a variable.

3. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     388


    Automation Anywhere - Build

4. Click Save.

Run the bot.

Working with bots


Create, record, run, and edit automated processes or bots.

Overview

Perform the following operations:

New Create bot via different recording methods.


Record Record keystrokes, mouse clicks, and mouse
movements.
Run Run the selected bot.
Edit Edit the selected bot from the Bot editor.
Delete Delete a bot.
Action Select an action for the selected bot:

Run Run the selected


bot (the automated
process).
Edit Edit the selected bot
using the Bot editor.
Upload Bot Upload the selected
bot to the Server Task
Repository.
Copy Bot Create a copy of the
selected task.
Rename Rename the selected
task.
Send To Send a copy of a task
to: Desktop(Create
Shortcut), Mail
Recipient, Startup
Folder or My
Documents.
Delete Delete the task.

Run bot now


Run bots from the In progress, My devices, and My bots pages.
Run a bot as follows:
1. Click Run bot now.
The Run bot Now page appears.

© 2020 Automation Anywhere. All rights reserved.     389


    Automation Anywhere - Build

2. Type the activity name and optionally, type the description.


3. Find and select the bot.
Search the TaskBot folders, BOTS and/or DEVICES, to find a specific bot. Search for a specific item
by name or type using the drop-down and search field.
4. Click → to run the bot.

Note: The system supports running only one interactive bot for each device at a given time. If a bot
is already running on the device, you cannot deploy another bot on it. To deploy another bot, restart
the Automation Anywhere Bot Agent service.

Run a bot
Test an automated process by running the bot.

Overview

When a bot begins, the Run-Time window is displayed. The run-time window displays:
• The selected and current bots being run.
• Actions being performed.
• The bot line number.

To manually run a bot, follow these steps:


1. From the Enterprise client, select the bot to run.
2. Run the bot by using one of these methods:
a. Click Run.
b. Navigate the File menu and select Run.
c. Click Actions and select Run from the list.
d. Right-clickon the bot and select Run.

If you are running bots on your local machine, enter your username in Device Login Credentials
(computer icon in the upper right corner); no password is required. The username is needed because
bots run inside the user session of that particular user. If you are using a Chrome plug-in and running
bots on your local machine, your username is also required.
If you are running bots on an unattended device, then the device needs to be unlocked at the time of
scheduling the bot run and both the device username and password are required. The user credentials
are used to unlock the machine at run time.

Pausing and stopping bots

To pause or stop a bot from running at any time.

Pause To pause the bot, press the Pause in the Run Time
Window.
Stop The process does not end abruptly. The Run-
Time window displays the message "Aborting" and

© 2020 Automation Anywhere. All rights reserved.     390


    Automation Anywhere - Build

completing any steps in progress. To stop a bot


from running, use one of the following methods:
1. Use the Stop button.
2. Press Esc on the keyboard.

Note: Modify the hotkeys to use a different key to stop bot that are running.

Repeating a bot
Repeat a bot after run failure or when running routine bots.

Options for repeating a bot

Do Not Repeat Default. The bot runs once.


Repeat Repeats the bot a number of times.
Repeat until I stop it Repeats the bot until being stopped manually by
clicking the stop button or by pressing the ESC
key.
Repeat for Repeats the bot for a time period (hh:mm:ss).

Note: Specify up to 99 hours, 59 minutes, 59


seconds.

Time between repeats Sets a duration of time to wait before repeating a


bot.
Upon error, continue with next repeat The bot is repeated regardless of run failure.

Send a bot
Distribute automated bots to other people and or locations.
Using the Send To option, send tasks to the following locations:

Desktop Create a desktop shortcut to run the bot.


Email Send the bot using an email address.
Startup folder Enable the bot to run each time the computer
starts.
My Documents folder Organize and run bots from the My Documents
folder.

To send a bot to any of these locations, follow these steps:


1. Select the bot from the list.
2. Either click the Edit menu or on the Actions icon, and select Send To.
Option Action

Desktop Create a desktop shortcut to run the bot.


Mail Recipient Send the bot using an email address.

© 2020 Automation Anywhere. All rights reserved.     391


    Automation Anywhere - Build

Option Action

Startup Folder Enable the bot to run each time the computer
starts.
My Documents Run bots from the My Documents folder.

Stopping a bot manually


While running a bot, you can pause or stop the process manually from the progress window.
To stop a bot manually, click Pause or Stop on the progress window, or press the Esc key on the
keyboard for 2-3 seconds.
Users with manage activity permission are enabled to stop an automation bot running on a Bot Runner
machine remotely from the Enterprise Control Room.
• From the Enterprise Control Room, if you stop a bot that is prompting for input or when an error
message or any other message is displayed, then the message box, prompt or error window closes
automatically, and the bot is aborted. If there is a bot in queue, the next bot starts.
• When the Auto-Login option is used, and you stop the bot running on a Bot Runner machine from the
Enterprise Control Room, then the message box, prompt or error window closes, the task is aborted
AND the machine is restored to its original state.
• If an error occurs in a bot running on a Bot Runner machine, and you stop the bot from the Enterprise
Control Room, the error message is displayed in the Audit log details section of the Enterprise Control
Room.

Copy a bot
Copy a bot to create a duplicate sequence of actions within your private repository. The copy retains the
meta-data of the original bot including captured images, recorded objects, called files, and child bots.
To copy a bot, follow these steps:
1. From Automation Anywhere web interface, select Bots > My bots.
2. Mouse over the actions menu.
The actions menu is the vertical stack of three dots to the left of each bot.
3. Click the Copy Task Bot icon.
4. In the Name field, enter a name for the duplicate bot.
5. Optional: Click Browse to select the folder where to save the bot.
6. Click Copy.
The duplicate bot appears in the specified folder.

Editing bots
Edit bot logic using the Bot editor to add, modify, or delete actions and automation steps.

Open a bot

Open a bot in the Bot editor in one of the following ways:


• Select the bot and click Edit.The edit button is a pencil icon.

© 2020 Automation Anywhere. All rights reserved.     392


    Automation Anywhere - Build

• Right-click on the bot and select Edit.


• Click Actions and select Edit.

Attach work item template to TaskBot


Attach a work item template to a TaskBot to use the TaskBot in workload automation.
When you attach a work item template to a TaskBot, you can use the variable $WorkItem$ that contains
the attributes for the required workload automation when you run the bot using the Run bot with queue
option.
Use Work Item variables
1. Create or edit a TaskBot from the My bots page.
The TaskBot opens in edit mode.
2. Select the option Work item template from the menu at the top-right of the Workbench.
The list of Work item templates appears.
3. Select the template that best suits your workload automation requirement.
4. Click the right arrow to add the template.
The Work item template attributes are listed for the selected template.
5. Click Save.
6. Choose one of the following actions:
• Click Close to return to the My bots page.
• Click Return to editor to continue editing the TaskBot.

Viewing package versions available in the Enterprise Control Room


Actions are grouped into version specific packages. Bot Creators can select which package version to
use for a specific bot.
Basic users can only view the packages available in the Enterprise Control Room and the specific
package details.
From Bots > Packages the following action buttons are enabled for all users:

Add package Browse to the package file to upload to the


Enterprise Control Room.

Bot Creators with AAE_Basic permission can select specific packages to use within a bot.

Select the package version used in your bot


As a Bot Creator you have the ability to select which package version to use for a set of actions within
your bot.
You need to have AAE_Basic permission.

Tip: For existing bots, follow these steps to update to the default package.

1. Open or create a new bot from Bots > My bots.


2. Click the verticle elipcise in the upper right corner, and select Packages.

Note: The packages used in the selected bot are highlighted.

© 2020 Automation Anywhere. All rights reserved.     393


    Automation Anywhere - Build

3. Click the drop-down list to view which version of the package is currently used for this bot.
4. To change the package version to be used for this bot, select the package version to use from the
drop-down list of available packages.
5. Click Change version.
6. Click Save.

Export bots
You can export a bot from one Control Room to another.
Only bots within the public workspace can be exported. To export bots, first check these bots into the
public workspace before exporting them into the private workspace.
Ensure that you have the correct role and permissions to import and export bots, including View package
permissions.

Note: Exporting bots requires SMTP server to be enabled for email. See Configuring email server.

The control room maintains a maximum of 10 GB of historical export files in the download directory.
Files are deleted on a first-in/first-out basis in order to maintain this threshold.
1. Navigate to BOTS > My bots.
2. From the public directory, select the bot you want to export. Click the Export bots icon.
The selected bot as well as the required dependencies are displayed in the Bots and Files window.

Note: You can export bots without having the AAE_ADMIN role. However, the dashboard-related
information will not be exported. To export dashboards, you must have the AAE_ADMIN role
assigned to you.

3. Click Next.
The bot and its dependencies are ready for export and displayed in the Review Dependencies
window.
4. Click Next.
All related packages are displayed.
5. Select the necessary packages associated with the bot to export.
Select Exclude bot packages to remove all packages from the export.
6. Click Export bots and files.
An email is sent that contains a link to the zip file of the exported package.
7. Download the zip file and save it to a location for import to another control room.

Import the bots into a control room.


Related tasks
Import bots
You can import a bot from one Control Room to another.
Related reference
Roles

© 2020 Automation Anywhere. All rights reserved.     394


    Automation Anywhere - Build

Administrators configure roles for permission to perform actions such as create a bot, edit, or delete it for
various features and operations in Enterprise Control Room.

Import bots
You can import a bot from one Control Room to another.
You can import bots only into your private workspace. After the bots are imported, you must then check
the imported files into the public workspace to complete the import process.
Ensure that the following rights are enabled to import bots:
• Import bots permission
• Bot editor license
• Check-in to Public Workspace permission
• Package management rights

The required bot has already been exported and an email is received with the link to the zip file
containing the package to import.
Any previously exported bot is located in the public repository and must be imported and checked in so
that it can be deployed from the new control room.
1. Navigate to BOTS > My bots.
2. Click Import bots. Browse and select the bot to import.
3. Set the option for importing the bot based on whether or not a previous version of the bot resides in
the destination location.
During the import, if a file already exists, you can choose to either skip the bot or file during the
import process or overwrite the existing bot and file.
4. Click the Import bots icon.
5. Navigate to the private repository to find and select the imported bot.
6. Click Check in Task Bot.
All related dependencies will also be checked in.
7. Update the comment for the check in Task Bot.
8. Click Check in.
On completion, the imported Task Bot is placed in the public repository and is ready for deployment
from the new Cloud Control Room.

Related tasks
Export bots
You can export a bot from one Control Room to another.
Related reference
Roles

© 2020 Automation Anywhere. All rights reserved.     395


    Automation Anywhere - Build

Administrators configure roles for permission to perform actions such as create a bot, edit, or delete it for
various features and operations in Enterprise Control Room.

Keyboard shortcuts
List of keyboard shortcuts supported.

All modes - Flow or List view

Keys Action

Esc Closes node details or clear cursor


Tab Toggles Flow or List view
Enter Shows node details and focus first input
Space Toggles node details
Ctrl A Selects all nodes

All modes - Flow view

Keys Action

Up Moves cursor up
Down Moves cursor down
Left Moves cursor left
Right Moves cursor right

All modes - List view

Keys Action

Up Moves cursor up
Down Moves cursor down

Edit mode

Keys Action

Ctrl S Saves file


F5 Run
F10 Enters debug mode
Shift F9 Toggles all breakpoint

© 2020 Automation Anywhere. All rights reserved.     396


    Automation Anywhere - Build

Edit modes - Flow or List view in focus

Keys Action

Ctrl Shift R Starts recording


Ctrl / Enables or disables mode
F9 Toggles node breakpoint
Ctrl C Copy node
Ctrl X Cut node
Ctrl V Paste node
Delete Delete node
Ctrl Z Undo
Ctrl Y Redo

Debug mode

Keys Action

F5 Play/pause/restart
F6 Step next
F7 Stop
F10 Exits debug mode
Shift F9 Toggles all breakpoints

Debug mode - Flow or List view in focus

Keys Action

F9 Toggles node breakpoints

Node details

Keys Action

Ctrl Enter Accepts current input and saves the action or trigger

© 2020 Automation Anywhere. All rights reserved.     397


    Automation Anywhere - Build

Variables and credentials


Use variables to either store values to enter into action fields when building an automated task, or to
accept an output when the task runs. Use credentials to input sensitive information into certain action
fields (such as a password to open a protected file).

Why use variables?

As you build bots, use variables to capture or modify the value of a field or data point. For example,
to loop through a set of data in a CSV file, use a variable to copy the first row, paste it to another
application, move to the second row.

Types of variables

Automation Anywhere offers a variety of variables that are designed to hold specific types of data. There
are two main types of variables.

System variables System variables are predefined variables that


return specific values about the machine on which
the bot is executed. Users cannot edit the values of
a System variable.
User-defined variables User-defined variables are created as you build
bots. Use them to store values that can be input
into a field (window title, login credential, or file
path) or to accept an output (values read from a
file or a boolean return). Unlike System variables,
you can edit the values of a User-defined variable.

Video: Introduction to variables

Credentials

A credential is comprised of a credential key and its attribute values. Similar credential keys are grouped
into lockers. The Enterprise Control Room administrator gives the Bot Creator access to a locker, which
allows them to use the credential in actions. To learn more, see Credentials and lockers.

Working with credentials • Only fields with a Credential button below the
field name accept a credential.
• Only the name of a credential key is visible in
the action field and list of credentials; attribute
values are never displayed.
• A credential cannot be appended to other
credentials or to a string.
• If the Use attribute only on Password or Masked
fields option is selected when creating a
credential, then that credential only be available
for actions with Password type fields.
• If a secure attribute is used in a non-secure
text box, detect this deviation during testing

© 2020 Automation Anywhere. All rights reserved.     398


    Automation Anywhere - Build

to eliminate an error when the bot runs in a


production environment.
• A bot user is required to update Flex,
Chrome, and Edge plugins to use password-
only attributes in actions that access User
Interface objects in specific applications.

To insert a credential 1. Open an action with a field that accepts a


credentials.
2. Click Pick to the right of the action field.
3. Select the following elements from the drop-
down lists:
a. Locker
b. Credential
c. Attribute

4. Click Confirm.

System variables
System variables are predefined variables that return specific values about the machine on which the bot
is executed. Users cannot edit the values of a System variable.
System variable types include:

Clipboard
Use the actions in the Clipboard package to perform operations on the Clipboard variable.
Variable Description

Clipboard Returns the contents of the Clipboard.

Date time

Use the actions in the Datetime package to perform operations on the Date time variables.

Variable Description

Date Returns the date including hours, minutes, and seconds.

Note: Hours can be in 24 hour or AM/PM format depending on the machine


configuration.

Day Returns the day in DD format.


Hour Returns the hours in HH format.
Machine Returns the device name as a string.

© 2020 Automation Anywhere. All rights reserved.     399


    Automation Anywhere - Build

Variable Description

Millisecond Returns the milliseconds with a value between 0 and 999.


Minute Returns the minutes in MM format.
Month Returns the month in MM format.
Second Returns the seconds in SS format.
Year Returns the year in YYYY format.

String
Use the following variables to change how a string is displayed.
Variable Description

Enter Starts a new line.


Separator Demarcates a separation between values with a <sep> value.
Tab Creates large space.

System settings/parameters

Use the following variables to return data from the computer that is connected to the running Bot agent:

Variable Description

AAControlRoom Returns the URL of the Enterprise Control Room.


CPUUsage Returns the percentage utilization of the CPU.
Use this variable in a Wait for condition action to make the bot wait until
machine CPU usage decreases to a specific amount. See Wait package

RAMUsage Returns the RAM usage in megabytes.


Use this variable in a Wait for condition action to make the bot wait until
machine RAM usage decreases to a specific amount. See Wait package

OSName Returns the operating system. For example, Windows 10 64-bit.


TotalRAM Returns the total amount of RAM available.

Note:
• Version 11.3 contained Email, File, and PDF System variables, which could hold a limited number of
properties values. In Version A2019, an infinite amount of Email, File, and PDF properties values are
stored in User-defined Dictionary variables. For more information, see Using dictionary variable for
email properties and Using dictionary variable for PDF properties.
• Version 11.3 contained Excel System variables to return the cell, column, or row location. In Version
A2019, the Excel Advanced package contains the following actions to return location values: Get cell
address, Get column, and Get row.

© 2020 Automation Anywhere. All rights reserved.     400


    Automation Anywhere - Build

• Version 11.3 contained the Counter System variable to return the loop iteration count. In Version
A2019, the user must create and configure a string variable. See Counter variable.

User-defined variables
User-defined variables are created as you build bots. Use them to store values that can be input into
a field (window title, login credential, or file path) or to accept an output (values read from a file or a
boolean return). Unlike System variables, you can edit the values of a User-defined variable.

Variable types
The variable type dictates what kind of data the variable holds. Most variable types have a package with a
similar name, which contains actions used to perform operations on the values stored in the variable. For
example, use the String package to work on String variables. Similarly, to work on Number variables, use
the Number package. To learn more about the variable types and the possible actions, follow the links in
the Variable type column.

Simple variable types Variable type Description Use


examples

Any Stores any See


data type; Using
the system the Run
determines action.
what the
data type
is. Use this
variable type
for greater
flexibility
when passing
variables
of various
data types
between
bots.
Boolean Stores either
a True or
False value.
DateTime Stores a value
containing a
single date
and time
value.
File Stores one
or more
file paths,
separated by
a semi-colon.

© 2020 Automation Anywhere. All rights reserved.     401


    Automation Anywhere - Build

Variable type Description Use


examples

Number Stores
numeric
values,
including
integers and
decimals. It
can hold up
to 15 decimal
digits. The
minimum
value is
Record Stores a See
single row Enter
of values data
extracted into a
from a table. web
form
from a
file.
String Stores alpha-
numeric,
character,
and empty
values.
Window Stores a
window title
and URL.

Simple variables can be converted from one type


to another type. For example, use the String >
Convert action to convert the value of a String
variable into a Number variable in order to perform
mathematical operations.

Note: You can temporarily convert the value of a


variable for use in just one action. In the text field,
enter $<variable name>.<action>$. As you
type, the auto-fill suggests possible actions, such as
toString.

Complex variable types The variable types described below store multiple
values of a simple variable type.

Note: Complex variables can be configured to


store data in the any variable type. The any variable
type enables a bot to pass different types of data
to the same dictionary or list variable including
boolean, numeric, and string.

© 2020 Automation Anywhere. All rights reserved.     402


    Automation Anywhere - Build

Variable type Description Use


examples

Dictionary Stores data • Using


in the form dictionary
of key-value variable
pairs. The for
value can email
be boolean, properties
number, or • Using
string. dictionary
variable
for
PDF
properties

List Stores a
sequence
of boolean,
number, or
string values.
Table Stores Assign
multiple values
values of to a
string or table
number type variable
in a table of by
rows and extracting
columns. values
from a
CSV/
TXT file,
Excel
file, or
a Web
form.

Working with User-defined variables

Create a variable To create and configure a variable before building


a bot, see Create a variable.
To rapidly create a variable when building
automations, click the Create variable icon to the
right of an action field that accepts a variable. This
variable will hold the output of the action when the
bot runs.
Assigning variables to an action You can assign variables to action fields that are
marked with an (x) on the right side. Hit the F2 key
to see the variables that can be used in the field.

© 2020 Automation Anywhere. All rights reserved.     403


    Automation Anywhere - Build

See Build a Go be Great bot for an example of how


to create a variable and assign it to an action.
Passing variables between actions You can use one variable to accept the output
of an action, then re-use it to input the values
into another action. See Build a bot that passes a
variable between actions for an example.
Using a variable in place of an index or key value A recursive expression contains a variable nested
(recursive expressions) inside of another variable (the outer variable). The
value of the outer variable is conditional based on
the value of the nested variable.
For example, the list variable $listOfPlanets
$ has the following values: Mercury,
Venus, Earth, Mars, Jupiter, Saturn, Uranus,
and Neptune. The number variable
$indexPosition$ has value of 2. The expression
$listOfPlanets[$indexPosition$]$ returns
Earth.
The following types of expressions are supported.
You can create a recursive expression containing
up to ten expressions.
• $dictionaryVariable{$key$}$
• $listVariable[$index$]$
• $recordVariable[$index$]$
• $tableVariable[$rowIndex$]
[$columnIndexOrName$]$

Note: You cannot combine expressions


with properties. For example,
the following is not supported:
$dictionaryVar{$listStrVar[2]$}.String:reverse
$.

Related tasks
Create a variable
Create a variable to store values.

Build a bot that passes a variable between actions


Build a bot that takes the output of an action and inputs it into another. This example uses the actions
from the Excel advanced and Message box packages to retrieve the value of a cell, save it to a String
variable, then show the value to the user via a pop-up.
Create a worksheet and enter some sample values.

© 2020 Automation Anywhere. All rights reserved.     404


    Automation Anywhere - Build

1. Create a variable.
a. Click Variables.
The Variables accordion menu is located below the Actions menu.
b. Click the Create variable icon.
c. Enter CellValue in the name field.
d. Check both the Use as input and the Use as output options.
e. Click Create.

2. Open the worksheet.


a. Double-click or drag an Excel advanced > Open action.
b. Enter a session name.
c. Click Desktop file.
d. Click Browse and select the workbook that contains the worksheet containing your sample
values.
e. If the workbook contains multiple worksheets, select the Specific sheet name option and enter
the name.
f. Select the option to open the file in Read-write mode.
g. Click Apply.

3. Retrieve the cell values and save them to the String variable.
a. Double-click or drag an Excel advanced > Get single cell action.
b. Enter the session name that you used in the Excel advanced > Open action.
c. Select the Specific cell option and enter the coordinates of a cell that contains a value.
For example, A3.
d. Select the CellValue variable to store the cell contents.
e. Click Apply.

4. Close the worksheet.


a. Double-click or drag an Excel advanced > Close action.
b. Enter the session name that you used in the Excel advanced > Open action.
c. Click Apply.

5. Assign the CellValue variable to the Message box.


a. Double-click or drag an Message box action.
b. Click inside the Enter the message to display field.
c. Either press the F2 key or click the Insert variable icon.
The Insert variable icon is located on the right side of the text field.
d. Select CellValue from the drop-down list.
e. Click Yes, insert.
f. Click Apply.

© 2020 Automation Anywhere. All rights reserved.     405


    Automation Anywhere - Build

6. Click Save in the top right corner.


Your bot is now ready to run.
7. Click the Run icon to run the bot you just created.

Create a variable
Create a variable to store values.
To create and configure a variable, follow these steps:
1. Click the Create variable icon at the top of the Variables menu.
The Variables accordion menu is located below the Actions menu.
The Create variable window appears.
2. Enter a descriptive name for the variable.

Note:
• Once the variable is initialized, you cannot change the name.
• Variables cannot be named Java keywords such as String, Boolean, Integer, Public, and Finally.

3. Optional: Enter a description.


4. Optional: Select the Constant (read-only) option to ensure values cannot be edited or overwritten.
5. Select from the following options:
This field pertains to using a bot to run other bots. For more information, see the TaskBot package.
• Use as input: The variable holds a value that can be passed from the parent bot to a child bot.
• Use as output: The variable holds a value that can be passed from a child bot to the parent bot.
• Both: The value can be passed in both directions.
• Neither: The variable is confined to this bot; it cannot be shared across other bots.

6. Select a data type from the drop-down list.

Note: Once the variable is initialized, you cannot change the type.

For more information on data types, see Variable types.


7. Optional: Enter a default value to assign to the variable.
The values are NULL/empty by default.
8. Click Create.

Use Work Item variables


You can use the Work Item variables to pass the Work Item attributes or values to the TaskBot from the
Enterprise Control Room when you run the bot with the option Run bot with queue.
The Work Item variables are available in a TaskBot only after you attach a work item template to the
TaskBot when you define the work item template in the work item structure during queue creation.
Attach work item template to TaskBot
1. Go to the My bots page.
2. Click Create a bot.
3. In the Create a Taskbot window, enter the required parameters such as Name, Description, and
Folder location.

© 2020 Automation Anywhere. All rights reserved.     406


    Automation Anywhere - Build

4. Click Create & edit to open the TaskBot in edit mode.


5. Attach the bot to a queue category by selecting a Work item template.
Attach work item template to TaskBot
6. Press the function key F2 to open the Insert a variable window and add the following Workload
variables to an action:
a) workItem to view the default values or attributes of the Work Item when you run the TaskBot
using the Run bot with queue option.
The workItem is an input variable for debugging a Workload bot to be used for TaskBot
deployment options Run now and Schedule a bot. You can add the values for the workItem
variable when you create an automation.
On the other hand, when you use the option Run bot with queue, the workItem variable uses
the values passed on by the Enterprise Control Room.
b) workItemResult to view the final outcome or status of the Work Item when you run the TaskBot
using the Run bot with queue option.
This is an output variable type and so you can use the parameters in this variable as output in a
TaskBot.

The variables are read-only and therefore cannot be edited or deleted from the TaskBot editor page.
Double click a variable in the Variables panel to view the variable parameters:
• Variable name.
• Description of the variable.
• Read only if the Constant check box is selected when the variable was created.
• To be used as input or output parameter in a TaskBot during run time.
• Variable type.
• The default values or attributes that are configured with the Work Item template for a workItem
variable or the default output values for a workItemResult variable.

Related tasks
Define Work Item structure
Define the Work Item structure for processing in a queue. This enables you to manually upload the Work
Items from the system in the absence of ready data in a file.

Bot dependencies
Bots dependencies are files and other bots that are required to run that bot successfully.

Manage bot dependent files

You can use the bot dependencies option from the Workbench to manage the dependent files. Here,
you can add, copy/copy all, paste, and delete files from the My Tasks, My Docs, and My Scripts folders.
To reference (include) the file in that specific task, use the system variable $AAApplicationPath$.
The dependent files can be added only if they reside in the My Tasks, My Docs, and My Scripts folders.
If you choose any other source, the following error appears: Dependency not added. Bot
Dependencies can only be added from My Tasks, My Docs, and My Scripts folders
(located at the application path) or their sub-folders.

© 2020 Automation Anywhere. All rights reserved.     407


    Automation Anywhere - Build

Add a dependent file

To add a dependent file to your bot from the bot dependencies panel:
1. Click Add.
2. Select the required files either from My Tasks, My Docs, or My Scripts folders or subfolders.
3. Click Open.
The dependent files are added and listed under Bot Dependencies.

Copy/copy all dependent files and paste

From the bot dependencies panel, copy/copy all files from the bot to another bot:
1. Select the required files listed in Bot Dependencies.
2. Click Copy/Copy All.
3. Create or open the bot to add the dependent files.
4. Click Paste.
The dependent files are copied and listed in Bot Dependencies.

Delete a file

To delete a dependent file in your bot from the bot dependencies tab:
1. Select the file.
2. Click Delete and Confirm.
The file is removed from the list of dependent files.

Reference a dependent file in a bot

To reference (include) the file in a bot:


1. Drag the required action in the list.
2. Select the dependent file using the system variable $AAApplicationPath$ if the task will be uploaded
for use by other users.

Upload or download dependent files

All dependent files are automatically uploaded to or downloaded from the Enterprise Control Room.
Related tasks
Upload bot dependencies
Add bot dependencies
View bots dependencies

© 2020 Automation Anywhere. All rights reserved.     408


    Automation Anywhere - Build

Triggers
Add triggers to your bots to run TaskBots automatically in response to an event, such as a new window
opening or when a specific file is created.

Trigger types
Automation Anywhere Enterprise Version A2019 supports the following types of triggering events:
Trigger Description Trigger Event

File/Folder Launches a TaskBot when a file • File or folder is created.


or folder event takes place. • File or folder is renamed.
File triggers support the use of • File or folder is modified.
wildcard characters in the file • File or folder is deleted.
name or type.

Add a file and folder trigger to a bot


Define the trigger event in order to run the bot without human intervention.
Follow these steps to define a file or folder trigger event for a bot.
1. Create a new bot, or open an existing bot.
2. Click Show in the Triggers menu.
3. Double-click or drag either the File trigger or Folder trigger type from the Files & folders panel into
the Flow panel as required.
4. In the trigger editing panel, select the trigger event.
5. Click Apply.
You can click Reset to reapply the controls.
The Triggers action appears above the Start action.
6. Click Save.

Run a bot with triggers.


Related reference
Event triggers
An Enterprise Control Room user with event triggers permissions can use the Event triggers page to
monitor the status of a bot that is deployed using the Run with event triggers option from the My bots
page.

Add interface triggers


Use the Interface triggers for Object to capture interface elements such as text boxes and buttons to
trigger a bot execution event.
Ensure that:
• Your screen resolution is set to display at 100 percent.
• The application from which the interface element needs to be selected is open.

Follow the steps below to define an object trigger event for a bot.
1. Create a new or open an existing bot.

© 2020 Automation Anywhere. All rights reserved.     409


    Automation Anywhere - Build

2. Click Show in the Triggers menu.


The Triggers menu is located below the Variables menu.
3. Double-click or drag the Interface trigger: Object trigger type.
The Interface trigger: Object editing panel appears.
4. Select a Window detail from the list of open windows.
The Window title and Executable options are updated based on the window that you select.
5. Click Capture object.
The Object properties are populated.
6. Select a Main event.
The events are populated based on the object that you select. For example Click.
7. Optional: Select any of the following keys:
• Shift
• Alt
• Ctrl
• Windows
• Alt Gr

8. Click Apply.
Select Reset to reapply the controls.
The Triggers action appears above the Start action.
9. Click Save.

Run a bot with triggers


Related reference
Event triggers
An Enterprise Control Room user with event triggers permissions can use the Event triggers page to
monitor the status of a bot that is deployed using the Run with event triggers option from the My bots
page.

Run a bot with triggers


The Run with triggers option is available to the Bot agent with a Bot Creator license and permission to
Manage event triggers so that you can run a bot with triggers when you create or edit the bot.
1. Create a new or open an existing bot.
2. Click Run given at the top right of the page.
The Run icon shows a menu containing the following options: Run now and Run with triggers.
3. Select Run with triggers.
The Deploying to your computer window is launched.
4. Click Close after the bot runs successfully.

Related tasks
Run a bot with event triggers
Enterprise Control Room admin users with permission to Manage event triggers can use the Run with
event triggers option to run a bot that has event triggers assigned to the bot.
Related reference
Event triggers

© 2020 Automation Anywhere. All rights reserved.     410


    Automation Anywhere - Build

An Enterprise Control Room user with event triggers permissions can use the Event triggers page to
monitor the status of a bot that is deployed using the Run with event triggers option from the My bots
page.

Run a bot with event triggers


Enterprise Control Room admin users with permission to Manage event triggers can use the Run with
event triggers option to run a bot that has event triggers assigned to the bot.
Note that only users with admin rights can use this option. Not to be confused with the Run with triggers
option that is available only to Bot agents. See Run a bot with triggers.
1. In the My bots page, click Run bot.
The Run bot icon shows a menu with the following options: Run bot now, Schedule bot and Run
with event triggers.
2. Select Run with event triggers
3. In the Add event triggers page, use the right arrow to add a TaskBot.
4. Click Next to associate this bot with either Roles or Users.
5. Use the right arrow to add Roles/Users.
6. Click Add event trigger.
The bot is added to the list of Activity > Event triggers page.

Troubleshooting and debugging


Troubleshooting and debugging information.

Troubleshoot bot run issue


Issue: I'm unable to deploy a bot because I get the following – Unexpected error setting up a new user
session.

Cause: Most often, this error is caused by invalid device


credentials.

Solution: Confirm the device is registered and connected.


1. Select Devices > My devices from the
Automation Anywhere web interface.
2. Confim that the Status column shows
Connected for the relevant device.

Confirm that the device username and password


are correct.
1. Select the profile icon on the Automation
Anywhere web interface and select Edit profle.
2. Verify the device username.
Depending on how the device is configured
within the network, you may need to prepend
it with the domain name. For example,
domainname\firstname.lastname.

© 2020 Automation Anywhere. All rights reserved.     411


    Automation Anywhere - Build

3. Verify the device password.

Debugger features
The Automation Anywhere Debugger provides tools to help identify and fix issues during bot
development.
To run a bot in Debugger mode, select the bot to run the debug function against and select Edit TaskBot.
From the Edit TaskBot page, do the following:
1. Click the Debugger icon.
2. Click the Start icon.

Important: Use the List view to debug bots. The list view provides access to all of the Debugger features
and visual indications of which action is running.

Debugger features:
• To debug your task one action at a time, insert a breakpoint next to each action. This makes the task
pause at the breakpoint.
• To insert a breakpoint, click the vertical ellipses and select Enable breakpoint.
• To remove a breakpoint, click the vertical ellipses and select Disable breakpoint.

Tip: You can enable and disable breakpoints in the Debugger mode, or in the regular edit mode.
• To move one action at a time, click the Step over icon.
• To clear all breakpoints, click the Clear all breakpoints icon.
• To stop the current debugging session, click the Stop icon.
• To exit debugging, click the Exit debugger menu.

Note: You cannot edit actions in Debugger mode.

Automation Anywhere Enterprise Package Development Kit


This document explains the requirements and process for creating and uploading an action package to
your Enterprise Control Room.
Packages are Java Archive (JAR) files containing the executable third-party applications used to create
bots. Actions are available in the Enterprise Control Room under the Action Panel.
The Automation Anywhere Package Development Kit provides detailed instructions for users to
independently develop custom actions and upload and manage packages in their Enterprise Control
Room.
The SDK includes sample code and supporting files for Java developers to create and validate custom
actions.
February 2020, Release (A2019.10)

© 2020 Automation Anywhere. All rights reserved.     412


    Automation Anywhere - Build

• A2019.10-package-sdk-1.0.0.zip

Note: All the components for the Package SDK are included in a single zip file starting with the
A2019.10 release.

January 2020, Release (A2019.09)


• SDK Demo Package: A2019.09-packageSDK-1.0.0.zip
• Documentation: A2019.09-package-annotations-javadoc.zip

November 2019 Release (A2019.08):


• SDK Demo Package: A2019.08-packageSDK-1.0.0.zip
• Documentation: A2019.08-package-annotqations-javadoc.zip

October 2019 Release (A2019.07):


• SDK Demo Package: A2019.07-Package-Sdk-1.0.0.zip
• Documentation: A2019.07-package-annotations-javadoc.zip

August 2019 Release (A2019.06):


• SDK Demo Package: A2019DemoPackage.zip
• Documentation: A2019-package-annotations-javadoc.zip

For detailed release notes for the SDK Packages, see Enterprise A2019 Package Development Kit Release
Notes.
Click a title to read details about each task in the process.

Setting up the Java project Set up an Integrated Develop Environment (IDE)


for Java, including Automation Anywhere custom
annotations to enable the development of action
packages that can be uploaded to your Enterprise
Control Room.
Standard coding practices and guidelines for This topic covers standard coding practices and
developing packages guidelines that help to ensure the development of
high quality packages.
Develop a sample package Develop your own package and upload it to an
Enterprise Control Room to provide custom
actions for bots.
How to examples This section contains code examples and
explanations about how to code some basic bot
capabilities.
Annotations This section provides reference information
about the annotations used to create Automation
Anywhere packages.
Build and test a demo package and bot This practical how to section demonstrates that
creating, changing, and managing packages allow
you to customize actions and efficiently manage
packages for all Enterprise Control Room users.

Related reference
Enterprise A2019 Package Development Kit Release Notes

© 2020 Automation Anywhere. All rights reserved.     413


    Automation Anywhere - Build

These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in the Enterprise A2019 Package Development Kit.

Setting up the Java project


Set up an Integrated Develop Environment (IDE) for Java, including Automation Anywhere custom
annotations to enable the development of action packages that can be uploaded to your Enterprise
Control Room.
A working knowledge of Java and Gradle is needed in order to successfully build an action package. You
need the following software and file:
• Java Developer Kit (JDK) 11
• Java IDE
• Eclipse
• Community edition of IntelliJ

• Gradle plug-in v.5.*.* in the IDE.


• Automation Anywhere Bot Agent installed and connected to valid Enterprise Control Room account
• Download and extract the zip archive files for the release you need:
February 2020, Release (A2019.10)
• A2019.10-package-sdk-1.0.0.zip

Note: All the components for the Package SDK are included in a single zip file starting with the
A2019.10 release.

January 2020, Release (A2019.09)


• SDK Demo Package: A2019.09-packageSDK-1.0.0.zip
• Documentation: A2019.09-package-annotations-javadoc.zip

November 2019 Release (A2019.08):


• SDK Demo Package: A2019.08-packageSDK-1.0.0.zip
• Documentation: A2019.08-package-annotqations-javadoc.zip

October 2019 Release (A2019.07):


• SDK Demo Package: A2019.07-Package-Sdk-1.0.0.zip
• Documentation: A2019.07-package-annotations-javadoc.zip

August 2019 Release (A2019.06):


• SDK Demo Package: A2019DemoPackage.zip
• Documentation: A2019-package-annotations-javadoc.zip

Initial set up of your IDE is important so that you have the correct environment for creating Automation
Anywhere action packages.

Important: The listed prerequisites are recommendations for use with all the sample code and
instructions included in this package development kit.

1. Extract the content of the associated sample zip files to a folder you can access from your IDE.
2. Import the content in any java IDE of your choice as a Gradle project.

© 2020 Automation Anywhere. All rights reserved.     414


    Automation Anywhere - Build

3. Edit the settings.gradle and change the root project name to something meaningful to you.

Tip: The settings.gradle file is included in the A2019DemoPackage.zip file.

4. Go to src > main > resources > package.template and change the package name and related
information to something meaningful.
Original package.template Updated package.template

{ {
"name": "A2019DemoPackage", "name": "YourPackageName",
"label": "A2019DemoPackage", "label": "Appropriate
"description": "Provides label",
actions for "description": "Meaningful
description for the actions
A2019DemoPackage contained in
operations.", the package.",
"group": "", "group": "",
"artifactName": "", "artifactName": "",
"packageVersion": "", "packageVersion": "",
"codeVersion": "", "codeVersion": "",
"commands": [] "commands": []
} }

Tip: The package template file controls the following names and labels of your package.
• "name" is the JAR file name
Package file naming conventions:
• No spaces
• No special characters

• "label" is what appears in the Action panel of your Enterprise Control Room

Related concepts
Standard coding practices and guidelines for developing packages
This topic covers standard coding practices and guidelines that help to ensure the development of high
quality packages.
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.
Build and test a demo package and bot
This practical how to section demonstrates that creating, changing, and managing packages allow you to
customize actions and efficiently manage packages for all Enterprise Control Room users.
Related tasks
Develop a sample package

© 2020 Automation Anywhere. All rights reserved.     415


    Automation Anywhere - Build

Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.

Standard coding practices and guidelines for developing


packages
This topic covers standard coding practices and guidelines that help to ensure the development of high
quality packages.

Testing Ensure high quality code. Write sufficient unit tests


and integration tests for your package.
Icons Set proper icon for your package.
Dependencies Embed all the dependencies in your package JAR.
Load the dependencies at run time by extracting
them to a temporary location. Be sure to clean
the temporary location after the dependencies are
loaded.
Dependent JAR files Add dependent JAR files under dependencies in in
the build.gradle file as implementation so that the
the dependant JAR files are packaged.

. . .
dependencies {
compileOnly name: 'command-
annotations'
compileOnly name: 'bot-runtime'
compileOnly name: 'bot-api'
implementation name: 'i18n-api'
implementation name:
'mydependentjavafile.jar'
apt name: 'command-processor'
compileOnly group:
'org.apache.logging.log4j',
name: 'log4j-core', version:
"$loggerVersion"
testImplementation
"org.testng:testng:$testNgVersion"
testImplementation name: 'bot-
runtime'
testImplementation name: 'bot-api'
}
. . .

Add new actions to exiting package When adding new actions to existing package,
make sure to do clean before packaging. Its always
a good practice to do clean build - gradlew.bat
clean build shadowJar
Error messages Provide meaningful error messages.
• Do throw meaningful error messages.
For example, in local language using
i18n APIs with BotCommandException,
throw a new exception
BotCommandException(MESSAGES.getString("Run.Ex

© 2020 Automation Anywhere. All rights reserved.     416


    Automation Anywhere - Build

• Do not throw generic error messages, such as


ex.message.

Basic validation Use the validation annotation rules such as


@NotEmpty included with this development kit.
Do not add basic validations for your code. Read
Validation annotations for more details.
Loops Avoid long running loops in your code. Long
running loops can cause high CPU usage, leading
to errors such as, "Bot is unresponsive."
Add logging Use the default log4J logger provided in the bot
run time framework. Do not add your own logger.
See the sample code for more details.

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.
Related tasks
Setting up the Java project
Set up an Integrated Develop Environment (IDE) for Java, including Automation Anywhere custom
annotations to enable the development of action packages that can be uploaded to your Enterprise
Control Room.
Develop a sample package
Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.

Develop a sample package


Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.
Download and extract the contents from A2019DemoPackage.zip. This package contains the necessary
source code for the sample package.
You need to have a project created in a Java IDE. For details about setting up a project, read Setting up
the Java project.
The following high-level tasks provide the basic workflow for creating a package.
1. Create a java class.
This class is the action you plan to publish in your package.

Important: It is required that the class support the default constructor.

2. Add required business logic to the class.


The following are the supported return types:
• Void: Use this return type is your action does not return any value.
• Value: Use this return type if your action returns any type of value.

3. Annotate the class with BotCommand and CommandPkg annotations to make the class eligible to be
converted to an action.

© 2020 Automation Anywhere. All rights reserved.     417


    Automation Anywhere - Build

4. Annotate the variable that accept values with Idx and Pkg.
5. Annotate the entry method with the Execute annotation.
6. From the action prompt, run gradlew.bat clean build shadowJar.
The JAR file created from the build is located in build/lib.
7. From the Enterprise Control Room on the Bots > Package, click the Add package icon to upload JAR
file.

From the Enterprise Control Room on the Bots > Package page, click the Add package icon to upload
the JAR file.

Tip: To upload a package to a Enterprise Control Room, you need Upload package permission. Read
details about how to add a package to an Enterprise Control Room: Add packages to the Enterprise
Control Room.

Related concepts
Standard coding practices and guidelines for developing packages
This topic covers standard coding practices and guidelines that help to ensure the development of high
quality packages.
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.
Related tasks
Setting up the Java project
Set up an Integrated Develop Environment (IDE) for Java, including Automation Anywhere custom
annotations to enable the development of action packages that can be uploaded to your Enterprise
Control Room.

How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Return a value from an action Set the following properties on CommandPkg to


store the action's output in a variable.
Expose an action as a property An action can be exposed as property if it does not
accept any parameter. This can be done by setting
the following properties on CommandPkg.
Add a condition in a custom package for If Add conditions in a custom package.
condition
Add an iterator in a custom package for Loop Add an iterator in your package for Loop action.
action
Add debug logs of custom packages to Logging can be added using log4j. The
bot_launcher.log file dependency is already added in the sample
build.gradle.
Handle session in custom package Actions need to extract the required session from
the SessionsMap by the session name.

There are three types of actions:


• Command\Action (default choice)

© 2020 Automation Anywhere. All rights reserved.     418


    Automation Anywhere - Build

• Iterator
• Condition

Any action class supports only one method as an entry point. Annotate all parameters of the entry point
method with Idx.

CAUTION: If you do not provide a public setter to member variables with Inject, compilation
errors occur.

Related concepts
Standard coding practices and guidelines for developing packages
This topic covers standard coding practices and guidelines that help to ensure the development of high
quality packages.
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.
Related tasks
Setting up the Java project
Set up an Integrated Develop Environment (IDE) for Java, including Automation Anywhere custom
annotations to enable the development of action packages that can be uploaded to your Enterprise
Control Room.
Develop a sample package
Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.

Return a value from an action


Set the following properties on CommandPkg to store the action's output in a variable.

Action return values

return_type Defines the return type of the action. It usually


matches the entry method's return type.
return_required Makes the assignment operation compulsory when
true.
return_label The UI label when asking for the variable to store
the value in.

@BotCommand
@CommandPkg(label = "Uppercase", name = "uppercase", description="Converts
the source string to upper case.",
icon = "uppercase.svg", node_label="Convert {{sourceString}} to upper case|
and assign the result to {{returnTo}}|",
return_type=DataType.STRING, return_required = true, return_label="Assign
the output to variable",
property_name="uppercase", property_description="Converts the string to
upper case", property_type=DataType.STRING,
property_return_type=DataType.STRING) public class UpperCase {

@Execute
public Value<String> convert(
@Idx(index = "1", type=TEXT)
@Pkg(label="Source string")

© 2020 Automation Anywhere. All rights reserved.     419


    Automation Anywhere - Build

@NotEmpty
String sourceString){
return new StringValue(sourceString.toUpperCase());
}
}
}

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Expose an action as a property


An action can be exposed as property if it does not accept any parameter. This can be done by setting
the following properties on CommandPkg.

Action property values

property_name The name of the property, unique at action level, in


auto-complete box this name would appear.
property_description A description of the property.
property_type The data type on which property operates, only if
the type matches, the property will be appear in
the auto-complete box.
property_return_type The data type for what property returns. If this type
does not match with the field type where it is used,
there will be validation error.

@BotCommand
@CommandPkg(label = "Uppercase", name = "uppercase", description="Converts
the source string to upper case.",
icon = "uppercase.svg", node_label="Convert {{sourceString}} to upper case|
and assign the result to {{returnTo}}|",
return_type=DataType.STRING, return_required = true, return_label="Assign
the output to variable",
property_name="uppercase", property_description="Converts the string to
upper case", property_type=DataType.STRING,
property_return_type=DataType.STRING) public class UpperCase {

@Execute
public Value<String> convert(
@Idx(index = "1", type=TEXT)
@Pkg(label="Source string")
@NotEmpty
String sourceString){
return new StringValue(sourceString.toUpperCase());
}
}

Related concepts
How to examples

© 2020 Automation Anywhere. All rights reserved.     420


    Automation Anywhere - Build

This section contains code examples and explanations about how to code some basic bot capabilities.

Add a condition in a custom package for If condition


Add conditions in a custom package.

Create condition values in an Action

• To create a condition set commandType property of BotCommand annotation with value as


Condition.
• To define the entry method of the condition use the annotation ConditionTest.

@BotCommand(commandType = Condition)
@CommandPkg(label = "File exists", name = "fileExists",
description = "Checks the file exists condition.",
node_label = "file exists at {{sourceFilePath}}", icon = "")
public class Exist extends AbstractCondition {
@ConditionTest
public boolean test(@Idx(index = "1", type = FILE) @LocalFile @Pkg(label
= "File path") @NotEmpty String sourceFilePath,
@Idx(index = "2", type = NUMBER) @Pkg(label = "How
long you would like to wait for this condition
to be true?(Seconds)",
default_value = "0", default_value_type =
DataType.NUMBER)
@GreaterThanEqualTo("0") @LessThanEqualTo("99999")
@NotEmpty @NumberInteger Double waitTimeout) {

// Logic to check for the condition goes here

}
}

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Add an iterator in a custom package for Loop action


Add an iterator in your package for Loop action.

Add an iterator to a Loop action

• To create an iterator, set commandType property of BotCommand annotation with value as Iterator.
• There are two methods required by iterator, and they are defined by HasNext, and Next annotations.

@BotCommand(commandType = BotCommand.CommandType.Iterator)
@CommandPkg(name = "loop.iterators.files",
label = "For each file in folder",
node_label = "for each file and assign file name and extension to
{{returnTo}}",
description = "Iterator for each file in folder.",
return_type = DataType.DICTIONARY,
return_sub_type = DataType.STRING,
return_required = true,

© 2020 Automation Anywhere. All rights reserved.     421


    Automation Anywhere - Build

return_description = "Note: Access the 'name' key to access file


name and 'extension'
key to access the file extension.",
return_label = "Assign file name and extension to this variable")
public class FileLoop extends AbstractCommandFileIterator {

@Idx(index = "1", type = AttributeType.TEXT)


@Pkg(label = "Folder path")
@Inject
@NotEmpty
private String folderPath;

@HasNext
public boolean hasNext() {
return getFileIterator(folderPath).hasNext();
}

@Next
public Value<?> next() {
Map<String, Value> returnValueMap = new HashMap<>();

FileIterator fileIterator = getFileIterator(folderPath);


String fileName = fileIterator.getNext();

returnValueMap.put(FILE_NAME, new
StringValue(fileIterator.getFileName(fileName)));
returnValueMap.put(EXTENSION, new
StringValue(fileIterator.getExtension(fileName)));

return new DictionaryValue(returnValueMap);

public void setFolderPath(String folderPath) {


this.folderPath = folderPath;
}
}

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Add debug logs of custom packages to bot_launcher.log file


Logging can be added using log4j. The dependency is already added in the sample build.gradle.

@BotCommand
@CommandPkg(label = "Copy to",icon="assigntoclipboard.svg" ,name =
"assignToClipboard", description
= "Accepts user input or a variable and assigns it to Clipboard",
node_label="{{value}}")
public class AssignToClipboard {

private static Logger logger =


LogManager.getLogger(AssignToClipboard.class);

@Execute
public static void assign(@Idx(index = "1", type = TEXT) @Pkg(label =
"Value") @NotEmpty String
value) {

logger.trace("Assigning '{}' value to clipboard.", value);

© 2020 Automation Anywhere. All rights reserved.     422


    Automation Anywhere - Build

}
}

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Handle session in custom package


Actions need to extract the required session from the SessionsMap by the session name.
SessionsMap instance can be received using the Sessions attribute. The annotation can only be
applied to class field and a corresponding public setter is expected. The variable must be of type
Map<String,Object>.

@BotCommand
@CommandPkg(label = "Start session", name = "startSession", description =
"Start new session",
icon = "pkg.svg", node_label = "start session {{sessionName}}|") public
class Start {

@Sessions
private Map<String, Object> sessions;

@Execute
public void start(@Idx(index = "1", type = TEXT) @Pkg(label = "Session
name",
default_value_type = STRING, default_value = "Default") @NotEmpty String
sessionName) {

// Check for existing session


if (sessions.containsKey(sessionName))
throw new
BotCommandException(MESSAGES.getString("xml.SessionNameInUse",
sessionName));

// Do some operation

// Create new session


sessions.put(sessionName, new Session(operation));

public void setSessions(Map<String, Object> sessions) {


this.sessions = sessions;
}
}

@BotCommand
@CommandPkg(label = "End session", name = "endSession", description = "End
session", icon =
"pkg.svg", node_label = "End session {{sessionName}}|")
public class EndSession {

@Sessions
private Map<String, Object> sessions;

@Execute
public void end(

© 2020 Automation Anywhere. All rights reserved.     423


    Automation Anywhere - Build

@Idx(index = "1", type = TEXT) @Pkg(label = "Session name",


default_value_type = STRING,
default_value = "Default") @NotEmpty String sessionName) {

sessions.remove(sessionName);

public void setSessions(Map<String, Object> sessions) {


this.sessions = sessions;
}
}

Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.

Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.

Creation and function annotations List of the available creation and function
annotations.
Validation annotations Validates annotated strings and values used in your
Java code.

Related concepts
Standard coding practices and guidelines for developing packages
This topic covers standard coding practices and guidelines that help to ensure the development of high
quality packages.
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
Related tasks
Setting up the Java project
Set up an Integrated Develop Environment (IDE) for Java, including Automation Anywhere custom
annotations to enable the development of action packages that can be uploaded to your Enterprise
Control Room.
Develop a sample package

© 2020 Automation Anywhere. All rights reserved.     424


    Automation Anywhere - Build

Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.

Creation and function annotations


List of the available creation and function annotations.

Annotation Description

BotCommand Makes the type eligible to be treated as an


action. You can define 3 types of actions
commandType property.
• Command\Action
• Condition
• Iterator

Examples:
• @BotCommand(commandType =
BotCommand.CommandType.Iterator)
• @BotCommand(commandType =
Condition)

CommandPkg Makes the type eligible for creation of action


package.json. This annotation must be used
with BotCommandc to take effect.
Pkg would participate in the activity only when
this annotation is present.
Example:

@CommandPkg(label = "Create", name


= "createFile",
description = "Creates a file",
node_label = "{{filePath}}",
icon = "file.svg")

ConditionTest Method annotated with this annotation will


participate in the execution of Condition.
This annotation can only be used when the
BotCommand has commandType set as
Condition.
Exactly one method needs to be annotated
when BotCommand annotation is present on the
type. Failure to do so will result in compilation
error.

© 2020 Automation Anywhere. All rights reserved.     425


    Automation Anywhere - Build

Annotation Description

Execute Method annotated with this annotation will


participate in the execution of BotCommand.
Exactly one method needs to be annotated
when BotCommand annotation is present on the
type. Failure to do so will result in compilation
error.
Example:

@Execute public void


create( @Idx(index = "1", type =
FILE) @LocalFile @Pkg(label =
"File", description = "e.g. C:\
\MyDoc\\MyFile.doc") @NotEmpty
String filePath,
@Idx(index = "2", type = CHECKBOX)
@Pkg(label = "Overwrite an
existing file")
@NotEmpty Boolean isOverwrite)
{ createFile(filePath,
isOverwrite); }

GlobalSessionContext Can only be applied to member variables and


fetches the GlobalSessionContext through a
setter.
Example:

@com.automationanywhere.commandsdk.annotations
private GlobalSessionContext
globalSessionContext;

public void setSessionMap(Map


< String, Object > sessionMap) {
this.sessionMap = sessionMap;
}

public void
setGlobalSessionContext(com.automationanywher
globalSessionContext) {
this.globalSessionContext =
globalSessionContext;
}

HasNext Method annotated with this annotation will


participate in the execution of Iterator.
This annotation can only be used when the
BotCommand has commandType set as
Iterator.
Requires annotation Next to be present.
Exactly one method needs to be annotated
when BotCommand annotation is present
on the type. Failure to do so will result in
compilation error.

© 2020 Automation Anywhere. All rights reserved.     426


    Automation Anywhere - Build

Annotation Description

Idx Makes the annotated element part of hierarchy


utilized for code and resource generation.
In other words without this annotation no
BotCommand related element annotations is
processed.

© 2020 Automation Anywhere. All rights reserved.     427


    Automation Anywhere - Build

Annotation Description

Idx.Option An option represents the elements that would


play in the hierarchy, but lend the values to the
parents.
Examples:
• RADIO

@Idx(index = "1", type = RADIO,


options = {
@Idx.Option(index = "1.1",
pkg = @Pkg(node_label =
"[[Delay.delayType.1.1.node_label]]",
label =
"[[Delay.delayType.1.1.label]]",
value = REGULAR)),
@Idx.Option(index = "1.2",
pkg = @Pkg(node_label =
"[[Delay.delayType.1.2.node_label]]",
label =
"[[Delay.delayType.1.2.label]]",
value = RANDOM))
})
@Pkg(label =
"[[Delay.delayType.label]]",
default_value = "REGULAR",
default_value_type =
DataType.STRING)
@Inject
private String delayType;
• SELECT

@Idx(index = "2", type =


SELECT, options = {
@Idx.Option(index =
"2.1", pkg = @Pkg(label =
"[[LaunchWebsite.browser.2.1.label]]",
value = "DEFAULT")),
@Idx.Option(index =
"2.2", pkg = @Pkg(label =
"[[LaunchWebsite.browser.2.2.label]]",
value = "INTERNET_EXPLORER")),
@Idx.Option(index =
"2.3", pkg = @Pkg(label =
"[[LaunchWebsite.browser.2.3.label]]",
value = "FIREFOX")),
@Idx.Option(index =
"2.4", pkg = @Pkg(label =
"[[LaunchWebsite.browser.2.4.label]]",
value = "CHROME"))
}) @Pkg(label =
"[[LaunchWebsite.browser.label]]",
default_value = "DEFAULT",
default_value_type
= DataType.STRING)
@NotEmptyStringbrowser)

© 2020 Automation Anywhere. All rights reserved.     428


    Automation Anywhere - Build

Annotation Description

Inject Makes an element eligible for injection into the


annotated type's object. The injection is setter
based so a corresponding setter in the type
is mandatory.Injected values would from
BotCommand parameter map using the name
provided in Idx.
Next Method annotated with this annotation will
participate in the execution of Iterator.
This annotation can only be used when
the BotCommand has commandType set as
Iterator.
Requires annotation HasNext to be present.
Exactly one method needs to be annotated
when BotCommand annotation is present on the
type. Failure to do so will result in compilation
error.

Pkg Makes an element participate in creation of


package.json. This annotation is ignored when
Idx is not present.

Related concepts
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.

Validation annotations
Validates annotated strings and values used in your Java code.

Annotation Description

CodeType The MIME-type of the code to format.


CredentialOnly Can only accept a credential value, no plain
string allowed.
Equals Validates the given String is equal to annotated
String variable.
FileExtension Validates the annotated String value ends with
the supported extension type.
GreaterThan Validates that the annotated number variable
value is always greater than given numeric
value.
GreaterThanEqualTo Validates that the annotated number variable
value is always greater than or equal to given
numeric value.
LessThan Validates that the annotated number variable
value is always less than given numeric value.

© 2020 Automation Anywhere. All rights reserved.     429


    Automation Anywhere - Build

Annotation Description

LessThanEqualTo Validates that the annotated number variable


value is always less than or equal to given
numeric value.
LocalFile Can only accept local paths and no file
expression.
MatchesRegex Validates the annotated String value matches
the for given regular expression.
NotEmpty Validates and throws exception when the
annotated variable value is null.

@Execute
public
Value<Double>length(@Idx(index="1",
type=TEXT)@Pkg(label="Source
string")@NotEmpty String
sourceString){}

NotEquals Validates that the given String is not be equal to


annotated String variable.
NotMatchesRegex Validates the annotated String value does not
match the for given regular expression.
NumberInteger Ensures the UI accepts only integers not double
for the annotated variable value.
RepositoryFile Can only accept repository paths and no file
expression.
VariableNotPackage Cannot choose a variable from this package.
VariablePackage Can only choose a variable from this package.
VariableSubType The variable subtype that must match
VariableType The variable type that must match
VariableUserDefined Can only choose user-defined a variable.

Related concepts
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.

Build and test a demo package and bot


This practical how to section demonstrates that creating, changing, and managing packages allow you to
customize actions and efficiently manage packages for all Enterprise Control Room users.
Here is a list of all the necessary tasks to create a package, add the package to your Enterprise Control
Room, and verify your work in a bot. Complete the listed tasks in order.

© 2020 Automation Anywhere. All rights reserved.     430


    Automation Anywhere - Build

Tip: Click the title of each step to go the detailed task.

Step 1 Update related workflow and build files Follow the detailed steps for updating workflow
and build files for this project using your integrated
development environment (IDE).
Step 2 Choose your favorite IDE You can compile a package from the IDE of your
choice. Here are two possible ways you can
compile a package:

Compile a demo JAR Use Eclipse to compile


file from the Eclipse UI a demo JAR file that
you can add as a
package to your
Enterprise Control
Room.
Compile a demo JAR Compile the demo Java
file from the command code provided with this
line software development
kit.

Step 3 Add your demo package to an Enterprise Users with Upload package permission can add
Control Room packages to the Enterprise Control Room for use
by all Bot Creators.
Step 4 Create a demo bot with the demo package Create a bot using the demo package to verify the
actions that were created.
Step 5 Change the Java file used to create the Modify and compile the Java code used to
package JAR file create a package to fix issues and create new
functionality.
Step 6 Upload new demo package Package management allows you to upload
package updates. The new package has the same
name, but a different version number.
Step 7 Update the demo bot with the updated Update bots to use specific package versions.
package

Update related workflow and build files


Follow the detailed steps for updating workflow and build files for this project using your integrated
development environment (IDE).
Complete all the steps for project setup detailed in Setting up the Java project.
This task shows you how to update the appropriate build and workflow files.
1. Open the project "A2019DemoPakcage" that you created in Setting up the Java project.
You can find the project file in the directory where you extract the zip files to, for example c:
\A2019DemoPackage.
2. From inside the project, Open the settings.gradle file.
3. Replace the project name with A2019DemoPackageFirstnameLastname.
If your name is John Developer it would look like this, A2019DemoPackageJohnDeveloper.
4. Open src > main > resources > package.template.

© 2020 Automation Anywhere. All rights reserved.     431


    Automation Anywhere - Build

5. Update the name, label, and description values.


Original package.template Updated package.template

{ {
"name": "A2019DemoPackage", "name":
"label": "A2019DemoPackage", "A2019DemoPackageFirstnameLastname",
"description": "Provides "label":
actions for A2019DemoPackage "A2019DemoPackageFirstnameLastname",
operations.", "description":
"group": "", "A2019DemoPackageFirstnameLastname",
"artifactName": "", "group": "",
"packageVersion": "", "artifactName": "",
"codeVersion": "", "packageVersion": "",
"commands": [] "codeVersion": "",
} "commands": []
}

Tip: The package template file controls the following names and labels of your package.
• "name" is the JAR file name
Package file naming conventions:
• No spaces
• No special characters

• "label" is what appears in the Action panel of your Enterprise Control Room

6. Save the changes.

After you have setup the build files, you need to compile the demo Java code, Compile a demo JAR file
from the command line.

Compile a demo JAR file from the Eclipse UI


Use Eclipse to compile a demo JAR file that you can add as a package to your Enterprise Control Room.
Before starting this task complete the steps in Update related workflow and build files.
Build a package file using a Gradle project in the Eclipse IDE.
1. Import the A2019DemoPackage as a Cradle project, File > Import > Cradle > Existing Cradle Project
and click Finish.
2. From the Cradle Tasks tab, go to <your project> > build and run the following tasks in order.
a) <your project> > build > clean

a) <your project> > build > build

3. From the Cradle Tasks tab, go to <your project. > shadow and run the shadowJar task.
Your compiled package file is located in file:\ \A2019DemoPackage\build\libs\. The package file has
named after your project name (<your project>-1.0.0.jar).

To add your custom package to your Enterprise Control Room follow the instructions in Add packages to
the Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     432


    Automation Anywhere - Build

Related concepts
Build and test a demo package and bot
This practical how to section demonstrates that creating, changing, and managing packages allow you to
customize actions and efficiently manage packages for all Enterprise Control Room users.

Compile a demo JAR file from the command line


Compile the demo Java code provided with this software development kit.
Before starting this task complete the steps in Update related workflow and build files.
1. Open a terminal window and go to where the gradlew.bat file is located.
...\A2019DemoPackage > gradlew.bat
2. In the terminal window, type gradlew.bat clean build shadowJar, and press Enter. Here is
an example of what you see:

> . . .\A2019DemoPackage>gradlew.bat clean build shadowJar

> Task :compileJava


Note: Starting hierarchy discovery for
'com.automationanywhere.botcommand.demo.Concatenate'
Note: Starting non-hierarchical element discovery for
'com.automationanywhere.botcommand.demo.Concatenate'
Note: Starting hierarchy discovery for
'com.automationanywhere.botcommand.demo.Uppercase'
Note: Starting non-hierarchical element discovery for
'com.automationanywhere.botcommand.demo.Uppercase'
Note: Starting Command Java generator...
Note: Starting Json generator...
Note: Generating command json for Concatenate
Note: Generating command json for Uppercase

> Task :commandCodeGen


mergeJsonFiles: updatePackage: group com.automationanywhere ,
artifactName A2019DemoPackageFirstnameLastname ,
packageVersion 1.0.0-20190816-101906

The compiled file is located in file:\ \A2019DemoPackage\build\libs\.

To add your custom package to your Enterprise Control Room follow the instructions in Add packages to
the Enterprise Control Room.
Related concepts
Build and test a demo package and bot
This practical how to section demonstrates that creating, changing, and managing packages allow you to
customize actions and efficiently manage packages for all Enterprise Control Room users.

Add your demo package to an Enterprise Control Room


Users with Upload package permission can add packages to the Enterprise Control Room for use by all
Bot Creators.
Before you can upload a package, you need valid user login credentials with Upload package permission
for the Enterprise Control Room you are adding the package to.
1. From the Bots > Packages page, click the Add package icon.
2. Browse to the location of the package to add.
Packages are Java Archive (JAR) files that contain actions used to create bots.
3. Select the package to add, and click Upload package.

© 2020 Automation Anywhere. All rights reserved.     433


    Automation Anywhere - Build

4. On the Bots > Packages > Confirm package page, there are 3 options:

Reject Stops the upload process.


Accept, enable and set as default Uploads and enables the selected package,
setting to the default package for the Enterprise
Control Room.
Accept and enable Uploads and enables the package, but the
package is not set as the default package. Bot
Creators need to specifically select non-default
packages to use them for creating bots.

After successfully uploading your demo package, create a bot to test the actions you just created. For
detailed step about how to create a bot, read Create a demo bot with the demo package

Create a demo bot with the demo package


Create a bot using the demo package to verify the actions that were created.
Here are the minimum prerequisites for building this demo bot:
• Access to a Control Room
• User credentials with AAE_Basic permission
• Your local host (workstation) is a registered device in the Control Room
• Ensure that the demo package A2019DemoPackageFirstnameLastname is available in the Enterprise
Control Room

This task uses the following actions and components:


• Uppercase (demo package)
• Message box
• Variables and credentials

1. Go to Bots > My bots and click the My Task Bot icon.


2. Type MyDemoBot1 in the Name field.
3. Click Create & Edit.
4. Expand A2019DemoPackageFirstnameLastname and double Uppercase.
5. Type hello world, go be great! in all lower case letters.
6. Create the variable vMyDemoVar1.
7. Click Apply.
8. Add a Message box and insert the variable vMyDemoVar1 in the Enter the message to display field.
9. Click Apply and Save.
10. Click the Run icon.
A message box with "GO BE GREATE!" in all upper case letters is displayed. The custom action
Uppercase converted all the letters from lower case letters to upper case letters.

The task, Change the Java file used to create the package JAR file, gives instruction on how to modify
the Uppercase action to convert all upper case letters to lower case letters.

Change the Java file used to create the package JAR file
Modify and compile the Java code used to create a package to fix issues and create new functionality.

© 2020 Automation Anywhere. All rights reserved.     434


    Automation Anywhere - Build

1. Open the project "A2019DemoPakcage."


2. From inside the project, open src/main/java > Uppercase.java > Uppercase.
3. Change the function from upper case to lower case.
Original function Updated function

. . . . . .

String result = String result =


sourceString.toUpperCase(); sourceString.toLowerCase();

return new return new


StringValue(result); StringValue(result);

} }

} }

4. Save the changes and re-compile the package.

You can now upload the changed package to the Enterprise Control Room.

Upload new demo package


Package management allows you to upload package updates. The new package has the same name, but
a different version number.
You need AAE_Basic permissions to create and edit bots.
1. From the Bots > Packages page, click the Add package icon.
2. Browse to the location of the package to add.
Packages are Java Archive (JAR) files that contain actions used to create bots.
3. Select the package to add, and click Upload package.
4. On the Bots > Packages > Confirm package page, click Accept, enable and set as default.

You can select specific packages to be used from within a bot. Read detailed steps about managing
packages for specific bots in Update the demo bot with the updated package task.

Update the demo bot with the updated package


Update bots to use specific package versions.
• Access to the bot created in the task Create a demo bot with the demo package.
• AAE_Basic permission.

1. Go to Bots > My bots and double click MyDemoBot1, the demo bot you created in an earlier task.
2. Click the vertical eclipses in the upper right corner and click Packages.
3. Expand the row for the package A2019DemoPackageFirstnameLastnam.
4. From the dropdown list of package versions, select the Defaultversion.
Because you added the updated package as the default version, you are selecting the new version of
the package you created.
5. Click Change Version and Save.

© 2020 Automation Anywhere. All rights reserved.     435


    Automation Anywhere - Build

6. Go to Bots > My bots and double click MyDemoBot1.


7. Click A2019DemoPackageFirstnameLastnam and type HELLO WORLD, GO BE GREAT! in the
Source string field.
8. Click Apply and Save.
9. Click the Run icon.
The message box displayed by the bot displays "hello world, go be great!" This verifies that the action
from the updated package is being used.

Enterprise A2019 Package Development Kit Release Notes


These release notes describe new features, changed features, fixed features, security fixes, deprecated
features, and known limitations in the Enterprise A2019 Package Development Kit.

Enhancements A2019.10

Feature Description

Updated annotation support Added new attributes annotation support.


Improved bundling of SDK Bundled java doc inside package SDK zip. You
only need to download one zip file now.
Run-time libraries Bundled latest bot run-time libraries.
More examples Added new examples inside zip.
Datatypes Added new datatypes.

February 2020, Release (A2019.10)


• A2019.10-package-sdk-1.0.0.zip

Note: All the components for the Package SDK are included in a single zip file starting with the
A2019.10 release.

Enhancements A2019.09

Feature Description

Bot run-time libraries Bundled latest bot run-time libraries for


A2019.09 Package SDK.

January 2020, Release (A2019.09)


• SDK Demo Package: A2019.09-packageSDK-1.0.0.zip
• Documentation: A2019.09-package-annotations-javadoc.zip

© 2020 Automation Anywhere. All rights reserved.     436


    Automation Anywhere - Build

Enhancements A2019.08

Feature Description

Bot run-time libraries Bundled latest bot run-time libraries for


A2019.08 Package SDK.
Properties support Extended support for properties.
Comments expanded and improved Added more comments to sample commands
to help use SDK.
Comment field formatting Added text color and background color to
comment fields.

November 2019 Release (A2019.08):


• SDK Demo Package: A2019.08-packageSDK-1.0.0.zip
• Documentation: A2019.08-package-annotqations-javadoc.zip

Enhancements A2019.07

Feature Description

Bot run-time libraries The A2019.07 bot run-time libraries are bundled
in the SDK package.
CREDENTIAL attribute We provide support for credential attributes that
require input from action screens.
Localized error messages and actions UI text Enables developing packages with i18n error
messages and localized (l10n) actions UI with
localized text.
Java Development Kit 11 The A2019.07 Package Development Kit
supports JDK 11.

October 2019 Release (A2019.07):


• SDK Demo Package: A2019.07-Package-Sdk-1.0.0.zip
• Documentation: A2019.07-package-annotations-javadoc.zip

Related concepts
Automation Anywhere Enterprise Package Development Kit
This document explains the requirements and process for creating and uploading an action package to
your Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     437


    Automation Anywhere - Manage

Manage
This collection of topics will guide you in configuring the devices and users that access Automation
Anywhere.

Learn more about these topics:


Related tasks
Schedule a bot
You can schedule a bot to run at a specific time.
Set up locker and assign credentials
The locker is used to group related sensitive information and can be shared with other users.
Create a role
You can define a role and assign permissions to access various features of the Enterprise Control Room.
Create user
Add a new user by assigning a role and device license.
Set device credentials
To enable a device for running bots, set the local device credentials.
Edit profile
Manage user profiles.
Installing licenses
Upload a new license into the Automation Anywhere Enterprise Control Room.

Activity
Monitor, pause, stop, and resume ongoing automation activities.

In Progress Activity

Enables user to monitor a range of process activities. Apply search parameters to find a specific bot.
Search parameters include:

Status Choose the status to search, options include:


• Active
• Paused
• Unknown
• Paused for input

Current action Type the action.


Current bot Type the bot name.
bot Type the bot name.
Activity type Select the type, options include:
• Run bot
• Import queue files

© 2020 Automation Anywhere. All rights reserved.     438


    Automation Anywhere - Manage

• Run bot with queue

Queue Type search criteria.


Device Type search criteria.

Action buttons

Use mouse to rollover action icons to identify specific functions. The following actions are enabled:
Refresh Refresh the contents to view the updated status.
Pause checked items Pause the process.
Resume checked items Resume running the process.
Stop checked items Stop the process.
Move checked items to history Moves the selected activity to history.
Export checked items to CSV Export the data to a CSV file based on:
• Filters
• Selection

Customize columns Show or hide specific columns.

Schedule
Schedule bots to run on unattended Bot Runners from the Activity > Scheduled tab in the Enterprise
Control Room.

Overview

Edit, view, activate, deactivate, delete a schedule, export selected activity details to a CSV file, and search
by activity name.
Perform the following actions on a column:
• Click a column to sort it in ascending or descending order.
• Use a drag-and-drop operation to move the column left or right.
• Move the mouse cursor to the end of the column and drag to re-size.

Activity Table

The elements of the Activity table include:

Type The type of schedule.


Next occurrence The next time the scheduled bot will run.
Activity name The name of the activity.
Bot Name The name of the bot.
Schedule The description of when the activity will run.

© 2020 Automation Anywhere. All rights reserved.     439


    Automation Anywhere - Manage

Devices The devices on which the bot will run at the


scheduled time.
Status The Status of the scheduled activity.
Modified by The name of the user who last modified the
activity.
Last modified The date and time when the activity was last
modified.

Schedule Actions

Perform the following tasks on an individual Schedule by moving your mouse over the Actions icon.

Schedule a bot
You can schedule a bot to run at a specific time.
Create a bot.

Note: Automation will fail in the following cases:


• If any of the bot dependencies are missing.
• If you do not have folder privileges on the dependencies.
• If you do not have the Run+Schedule permission.

1. Navigate to Activity > Scheduled


2. In the Scheduled activity page, click Run bot and then select schedule bot.
3. Enter the Name and optionally add a Description for the schedule.
4. Add schedule details from the Schedule tab.
Choose an option to schedule the bot:
• Run once: To run the bot on a given day at a specified time, enter the Start date, Start time, and
Time zone.
The default value of the Start date is the current day. The default Start time is a roundup to the
next half-hour.

Note: The value of the Start date is always later than or equal to the current date. If the start date
is the current date, the scheduled time cannot be less than the current time.
• Run repeatedly: To schedule a bot to run at specific time on a given day, set the Start date, End
date, Start time, and Time zone values.
The default value of the Start date is the current day. The default Start time is a roundup to the
next half-hour. For example, if the current time is 13:43 hours, the default time 14:00 hours
is displayed. The default value of the End date field is blank. The default Time zone is PDT
(UTC-7:00) Los Angeles, America.

5. Select the Bots folder within TaskBots.


The available bots are displayed with the option to select them. Any Input values and the bot
dependencies are shown.
6. Select a Bot Runner user from the Available bot runners list in the Device/Run As tab.

© 2020 Automation Anywhere. All rights reserved.     440


    Automation Anywhere - Manage

7. Click the right arrow.


The device is added to the Selected devices, which displays the list of connected and disconnected
devices to the Enterprise Control Room.

Note: If you want to enable a device, it must be connected to the Control Room. Also, if a device
does not appear in the list, ensure that an active Bot Runner session is running on the device.

8. Click Device pools


Select the desired pool from the list of device pools. An option is available to override the configured
default device.
9. Click Schedule bot.
The Schedule bot option remains disabled until all the required items, such as bots, schedule details,
and devices, are selected.

Related concepts
Bot permissions for a role
Related tasks
Edit a scheduled activity
Make changes to a schedule so that the automation is not skipped.
Delete a scheduled activity
Delete a scheduled activity.

Edit a scheduled activity


Make changes to a schedule so that the automation is not skipped.
Edit the scheduled activity in order to:
• Change the schedule type, date, or time.
• Add or remove Bot Runners from the schedule.
• Change the retry settings.

1. Hover over the Actions icon of an item in the Activity table.


2. Click Edit.
The Edit scheduled bot page appears.
3. Make changes to the schedule details, bots, and devices, as required.

Note: The system redeploys the bots and dependencies only if there are updates to the bots or its
dependent files.

4. Click Schedule bot.

Related tasks
Schedule a bot
You can schedule a bot to run at a specific time.
Delete a scheduled activity

© 2020 Automation Anywhere. All rights reserved.     441


    Automation Anywhere - Manage

Delete a scheduled activity.

Delete a scheduled activity


Delete a scheduled activity.
To delete a scheduled activity:
1. Hover over the Actions icon of an item in the Activity table.
2. Click Delete.
A delete confirmation message appears.
3. Click Yes, delete to delete the scheduled activity.

Related tasks
Schedule a bot
You can schedule a bot to run at a specific time.
Edit a scheduled activity
Make changes to a schedule so that the automation is not skipped.

Event triggers
An Enterprise Control Room user with event triggers permissions can use the Event triggers page to
monitor the status of a bot that is deployed using the Run with event triggers option from the My bots
page.

Permissions required

• View event triggers - enables view-only access.


• Manage event triggers - enables view and manage access.

See Create a role.

Actions allowed

• View the trigger status, bot path, user name, role, and modification details.
• Use the Search option for the above parameters.
• Copy, cut, or delete the selected event trigger.
• Enable or disable the selected event trigger.
• Use the Run with event triggers option if you have the Manage event triggers permission.

Related tasks
Run a bot with triggers
The Run with triggers option is available to the Bot agent with a Bot Creator license and permission to
Manage event triggers so that you can run a bot with triggers when you create or edit the bot.
Run a bot with event triggers

© 2020 Automation Anywhere. All rights reserved.     442


    Automation Anywhere - Manage

Enterprise Control Room admin users with permission to Manage event triggers can use the Run with
event triggers option to run a bot that has event triggers assigned to the bot.

Historical activity
You can search, edit, and deploy previously created bots.

Search parameters

Apply search parameters to find a specific bot. These parameters include:

Status Choose an activity status:


• Completed
• Failed
• Stopped
• Timed out
• Unknown
• Deploy failed
• Pending execution

Item name Enter the name of the item listed.


Device name Enter the device name.
Bot name Enter the name of the bot.
User Enter the user name.

Actions buttons

You can perform the following actions:


Export checked items to CSV Export the data to a CSV file based on:
• Filters
• Selection

Refresh Refresh the contents to view the updated status.


Customize columns Show or hide specific columns.

Completed historical activity


View a list of all completed activities and corresponding information.

Completed activities

All activities, successfully completed or not, are listed in the historical activity page. From this page, run
an activity again and perform other tasks such as export the data in the table in CSV format, customize
columns, or refresh the list in the table. Apply search parameters in the search bar.

© 2020 Automation Anywhere. All rights reserved.     443


    Automation Anywhere - Manage

Note: Specify search parameters for the same column using OR operator. Specify search parameters for
different columns, the system searches using AND operator.

Perform the following actions on a column:


• Click a column to sort it in ascending or descending order.
• Use a drag-and-drop operation to move the column left or right.
• Move the mouse cursor to the end of the column and drag to re-size.

Information displayed

The Activity table displays information such as the following:


Status The status of the activity, including unknown,
completed, failed, stopped, or time out.
Item name The name of the item.
Device name The name of the Bot Runner machine.
Bot name The name of the bot.
User The name of the user in whose account that
particular activity or automation was running on
the device.
Started on The date and time when the activity was started.
Ended on The date and time when the activity was
completed.
Last Modified The date and time when the activity was changed.
Modified By The name of the user who recently changed the
activity.

Actions

Click any individual item to perform the following actions:


View View details of the completed activity.
Run bot Run the selected bot. Click Run to open the
Run bot now page with all the values of the bot
populated.

Tip: Move your mouse over and click the Run icon to run the activity again.

Actions must be done only at a table level, and not on individual items.

Audit Log
View logs and details of specific activities.
Audit Log displays a read-only table of records of actions done by users. These log records are
searchable and exportable. Audit logs include both Successful and Unsuccessful entries.

© 2020 Automation Anywhere. All rights reserved.     444


    Automation Anywhere - Manage

Actions

The following Audit log actions are enabled:

Note: Use the mouse to roll over the action button icons to identify specific functions.

Time filter View activities for a specific time period. The


default time filter setting is Last 24 hours. Users
can select from preset time filters or configure a
custom time filter.
Search Search the records. Select additional search filter
criteria from the drop-down menu.

Tip: To search the exact phrase, enclose the


search phrase within double quotes (for example,
"Juan-Finance-564").

Export checked items to CSV Export the data to a CSV file based on:
• Filters
• Selection

Refresh Refresh the contents to view the updated status.


Customize columns Show or hide specific columns.
View To view details of a table entry, mouse over the
entry to expand and click Audit details.

Audit log table

View the following audit details in the table. Click a column to sort it in ascending and descending order.
Sort up to three columns by pressing Shift when selecting additional columns. Use a drag-and-drop
operation to move the column left or right.
Table item Description

Status Shows action status.


Time Shows the date and time of the action
performed.
Action Type Shows the type of action performed. Some of
the action types captured in Audit logs are:
• Connect Credential Vault
• Create / Edit / Delete Role / User
• User / Client Login / Logout
• Allocate License
• Create / Activate / Deactivate Automation
• Run / Schedule bot Stopped / Resumed /
Paused / Ended
• Unlock the bot

© 2020 Automation Anywhere. All rights reserved.     445


    Automation Anywhere - Manage

Table item Description

Item Name Shows the entity on which action was


performed.
Action Taken By Shows the user that performed the action.
Device Shows the device or machine name or IP
address that was used to perform the action.
Source Shows the component: Enterprise Control
Room, Enterprise client or API, from where the
action originated or was performed.
Request ID Shows the unique identity number assigned to a
specific set of user actions.

Audit log entries

Each audit log has four (4) entries for each bot that has completed execution. The entry shows the status
of each stage of the bot life cycle.
Audit log entry Explanation Troubleshooting

Create automation Bot was sent to the control If you do not see this entry or
room and was compiled see a failure against it:
successfully.
• Check if the Enterprise
Control Room is up and
running.

Bot Sent To Device Enterprise Control Room If you do not see this entry or
deployed the bot on the see a failure against it:
specified device successfully.
• Check if you have
configured the Node
manager on the
corresponding device
correctly.
• Check for the app
Automation Anywhere
Bot Manager in Add
Remove Programs or in
Control Panel > Uninstall
a program. Try to reinstall
by uninstalling and
downloading the app again.
• Try to reinstall by
uninstalling and
downloading the app again
from Device Manager.
• Ensure the device auto login
details are set correctly.

© 2020 Automation Anywhere. All rights reserved.     446


    Automation Anywhere - Manage

Audit log entry Explanation Troubleshooting

Run bot Deployed Bot has started execution on If you do not see this entry or
the specified device. see a failure against it:
• Check if you have
configured the Node
manager on the
corresponding device
correctly.
• Check for app Automation
Anywhere Bot Manager
in Add Remove Programs
or in Control Panel >
Uninstall a program. Try to
reinstall by uninstalling and
downloading the app again.
• Try to reinstall by
uninstalling and
downloading the app again
from Device Manager.
• Ensure device auto login
details are set correctly.

Run bot finished Bot execution was completed If you do not see this entry or
successfully. see a failure against it:
• Check for the bot execution
progression in Activity In
progress.
• Check the code at the line
where activity log has been
paused for errors.
• If it has paused at a message
box, minimize all windows
and check if the message
box is in the background.

Devices
The device is an Automation Anywhere Enterprise client machine through which a user connects to
the Enterprise Control Room to create or run bots. Manage devices that are registered to the Enterprise
Control Room through the My devices page located under the DEVICES tab.

Devices

As an Enterprise Control Room user with Bot Runner, Bot Creator, and Device pools privileges, use the
DEVICES tab to do the following:
• View a list of devices registered and connected to the current instance of the Enterprise Control
Room.

© 2020 Automation Anywhere. All rights reserved.     447


    Automation Anywhere - Manage

• Create and view a list of device pools available from the current instance of the Enterprise Control
Room.
• Run bots immediately on selected Bot Runners.
• Schedule bots to run on selected Bot Runners.
• Run bots on selected device pools.

Note: Only an admin user has access to see all the devices in the Enterprise Control Room. A non-admin
user does not have access to view Bot Creators.

My devices
The My devices page displays all configured devices and the current state for each device listed. A device
can be in one of the following states:
Connected Device is logged in to the Enterprise Control
Room.
Disconnected Device is not logged in to the Enterprise Control
Room.
Offline Device has been unregistered or disabled by the
Enterprise Control Room administrator.

The following actions are enabled:

Add local host as a device The Bot agent is a lightweight application that
enables you to run bots on your device by
connecting a local machine to the Enterprise
Control Room. To run bots on a local machine,
install the Bot agent and add the local device to
the list of enabled host devices.
Run bot now with checked items Runs the bot on selected device.
Export checked items to CSV Export the data to a CSV file based on:
• Filters
• Selection

Refresh Refresh the contents to view the updated status.


Customize columns Show or hide specific columns.

My device pools

Device pools provide a logical grouping of similar Bot Runners to run bots with the work items from a
queue. For example, group devices of a particular department or unit and create a device pool for it.

© 2020 Automation Anywhere. All rights reserved.     448


    Automation Anywhere - Manage

Register device and install Bot agent


The Bot agent is a lightweight application that enables you to run bots on your device by connecting a
local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent and
add the local device to the list of enabled host devices.

Note: Use the mouse to roll over action icons to identify specific functions.

1. Log in to the Enterprise Control Room through your Automation Anywhere Enterprise URL.
2. Navigate to MY DEVICES.
3. From the action icons, click Add local bot agent.
4. Click Connect to my computer.
5. Follow the steps outlined in the wizard.
6. Refresh the My Devices page and verify that the local device is added.

Video: How to Install the Bot Agent in Enterprise A2019

Set device credentials. Optionally, Edit profile.


To learn more, see Training - Bot Runners and Control Room communicate without human intervention.
This course introduces you to learn how to register devices in the Enterprise Control Room
To access this course, you must log in with a registered Automation Anywhere University or A-People
account. .
Related tasks
Create device pools
Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
Related reference
Manage my device pools
As a Device Pool administrator you can create, edit, and view all devices pools that can be used for
scheduling automations. The device pool gives the ability to restrict bot deployments to a specific set of
devices and to take advantage of any available device in the pool.

Set device credentials


To enable a device for running bots, set the local device credentials.
The Bot agent is a lightweight application that enables you to run bots on your device by connecting
a local machine to the Enterprise Control Room. To run bots on a local machine, install the Bot agent
and add the local device to the list of enabled host devices. Add the local device before editing the
credentials. See Register device and install Bot agent.
For Automation Anywhere Enterprise Community Edition users, your profile contains only one set of
credentials at a time. These credentials are applied to any device you select to run your bots. Ensure
each device that you use accepts the credentials in your profile.
Automation Anywhere Enterprise Cloud users have the option to apply different credentials to registered
devices.
1. Click the Device icon and select Update credentials.

© 2020 Automation Anywhere. All rights reserved.     449


    Automation Anywhere - Manage

2. In the Device login credentials section, enter the Username and Password for the device.
Device login credentials are required to run a bot from this device.
If your username is part of a domain, include the domain within the format domain\username.
Typically, home users are not part of a domain, unless they are specifically configured.
3. Click Update.

Create your first bot

Edit profile
Manage user profiles.
For users of Enterprise Control Room configured with a non-directory environment, change the
password, first name, last name, and email address.
1. Click the Device icon and select Update credentials.
2. In the Device login credentials section, enter the Username and Password for the device.
Device login credentials are required to run a bot from this device.
If your username is part of a domain, include the domain within the format domain\username.
Typically, home users are not part of a domain, unless they are specifically configured.
3. Click Update

Manage my device pools


As a Device Pool administrator you can create, edit, and view all devices pools that can be used for
scheduling automations. The device pool gives the ability to restrict bot deployments to a specific set of
devices and to take advantage of any available device in the pool.
As a Device Pool Owner or Consumer, you can view only those device pools of which you are the owner
or consumer. Only users with the AAE_Queue Admin role can do device management tasks.

Note: You need to create device pools to view those in the list. To get started, click Create device pool.

For ease of access, you can search by device pool name.


• Click a column to sort it in ascending and descending order. You can sort up to three columns by
holding the Shift key when you click two more columns. This gives you the option of sorting two
additional columns. This way the sorting is done on the entire table and not just the data that is
currently visible to you. The last sorting is stored in memory applied by a user per session.
• Use a drag-and-drop operation to move the column left or right
• Move your mouse cursor at the end of the column and drag to re-size

Create device pools


Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
• The Create device pools feature permission or the AAE_Pool Admin role must be assigned to you.
• You can add only those Unattended Bot Runners that are not part of any other pool and are not
associated with any role.

© 2020 Automation Anywhere. All rights reserved.     450


    Automation Anywhere - Manage

• If the device associated with the Unattended Bot Runner is added to the device pool, you can only
use the Run bot with queue option to run bots on that device. You cannot create a device pool
comprising of Attended Bot Runners.
• You can add Enterprise Control Room user roles as consumers. Only users with these roles can use
the pool for any automation.

By default, the creator of the pool is the device pool owner.


To create a device pool, do the following:
1. Go to Devices > My device pools page.
2. Click Create device pool on the top right of the My device pool page.

Tip: If no device pools are available, click the create a device pool link in the My device pool page.

The Create device pool page appears.


3. Enter a valid device pool name.
For example, you can create a Finance Automation pool that can run all finance-related automations
on Unattended Bot Runners from the finance department.
4. Select Unattended Bot Runners from the list.
This list shows only the devices with Unattended Bot Runner licenses.

Restriction: Unattended Bot Runners that are a part of other device pools are disabled for selection.

5. Add the Unattended Bot Runner(s) to the Selected devices list.

Tip: Click the left arrow button to remove the Bot Runner from the Selected devices list.

6. Subsequently, grant permissions to view, edit, and delete the device pool to the other Enterprise
Control Room users:
a) Click Next to select the Device Pool Owners.
b) Select user(s) from the Available users list.

Tip: Search the list of users based on their Username, First name, or Last name.

c) Click the right arrow button


The user appears in the Selected users list.

Note: The device pool creator is listed as the default owner of the pool.

d) Click the left arrow button to remove the user from the Selected users list.

Restriction: You cannot remove the device pool creator.

© 2020 Automation Anywhere. All rights reserved.     451


    Automation Anywhere - Manage

7. Click Next to select the Device Pool Consumers.


Do this step so that the device pool consumers can view the device pool when they run the
automation for the bot with a queue by following the next set of steps.
a) Select a Role from the Available roles list.

Tip: Search for a role name.

b) Click the right arrow button.


The user appears in the Selected roles list.

Tip: Click the left arrow button to remove the user from the Selected roles list.

8. Click Create Device Pool.


The device pools for which you have consumer privileges are listed in the My Device Pools page.

View device pool details


Related concepts
Run bot with queue
Collectively process all work items of a queue across all the Bot Runners present in one or more device
pools.

View device pool details


As a Enterprise Control Room user with device pool management privileges or as a device pool owner,
you can view device pool details to ensure the information provided is correct and if required customize
as per your automation requirement.
Use the Device pool details page to view automations that are scheduled to run with or without
workload.
To view device pool details:
1. Go to Devices > My Device Pools
2. Locate the device pool to view, mouse over the View action icon and click.
The Device pool details page appears. The Scheduled Automations tab is selected by default. It lists
the automations that are created using Run bot now or Schedule bot (upcoming schedules) on that
device pool.
The second tab, Run with Queue Automations lists the automations that are scheduled to run for
Workload using the option Run bot with queue.
The page also has the device pool details such as the Name, Description, Status, and General details.
It allows you to view additional details of the device pool such as Automations, Devices, Owners, and
Consumers.
3. Select each tab to view its details.
Automations Shows the automations that are using the device
pool and the order that is chosen to run those.
This is shown as the default view. To find an
automation quickly, use the search option using
Status, Automation name, Queue, or Activity
type.

© 2020 Automation Anywhere. All rights reserved.     452


    Automation Anywhere - Manage

You can perform the following actions on a table


column:
• Click a column to sort it in ascending and
descending order. You can sort up to three
columns by holding the Shift key when you
click two more columns. This gives you the
option of sorting two additional columns.
This way the sorting is done on the entire
table and not just the data that is currently
visible to you. The last sorting is stored in
memory applied by a user per session.
• Use a drag-and-drop operation to move the
column left or right
• Move your mouse cursor at the end of the
column and drag to re-size

Devices Shows list of unattended Bot Runner devices


that are part of the device pool.
Owners Shows list of device pool owners that are
granted permission to view, edit, and delete the
device pool.
Create device pools

Consumers Shows the list of device pool consumers who


are granted permission to view the device pool
as an option to running automations.
Create device pools

General Details Shows the last modified date and time, name
of the user who modified device pool details,
and the Object Type which is the component on
which modification was done.

Edit device pool, or Run bot with queue.


Related tasks
Create device pools
Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
Delete device pools
You can delete a device pool comprising of unattended Bot Runners after your entity's automation goals
are achieved and the device pools are no longer required.

Edit device pool


As a Enterprise Control Room user with device pool management privileges or as a device pool owner,
you can edit device pool details to customize as per your automation requirements.
When you open the device pool in edit mode, you have to first define the priority or the order in which
the automations will run in the Automations tab. This is visible only when you edit a device pool and is
not available when you create a device pool. Apart from this you can update the Bot Runner, Owner, and
Consumer details.

© 2020 Automation Anywhere. All rights reserved.     453


    Automation Anywhere - Manage

To edit a device pool, do the following steps:


1. Go to Devices > My Device Pools
2. Locate the device pool to edit, mouse over the Edit action icon and click.
You can also edit device pool details when in the view mode.
View device pool
3. Select the order in which your automations will run using queues in the Run with queue automations
tab.
Select either Round robin or Priority as shown in table which appears only on the Run with queue
automations tab. This option is not available when you Schedule Automations.
• Round robin Use this to run your automations at equal time intervals termed as Time slice. A Time
slice unit can be defined in seconds, minutes, and hours. You can calculate or estimate the time
for each automation and then provide this number.
This means that the automations are executed for only 5 minutes first, then system checks for
other automations in queue for execution, If yes, that automation is paused and next automation
is executed. This will continue till all automations in the queue are executed.

Note:
• The default Time Slice is set to 5 minutes.
• The Time slice cannot be set to zero.

• Priority as shown in table Use this to run your automations on priority defined in the Priority table.
This method allows you to run automations in order of priority. Automations are processed till all
are consumed from the specified automation queue.
The following details are listed the priority table:
Table Item Description

Priority Shows the priority number allotted to


that queue.
• The Priority column is editable.
You can set/re-set automation
implementation priority. Ensure that
you provide unique priority value to
two different work items as same
values will not be allowed.
• You can also view the Priority list in
ascending or descending order by
clicking the ordering arrows in the
Priority header.

Status Shows the automation status - Active or


Inactive
Automation Name Shows the automation that is selected to
run on the device pool
Started On Shows the run date and time of the
automation
bot Shows the bot name that will run using
this device pool

© 2020 Automation Anywhere. All rights reserved.     454


    Automation Anywhere - Manage

Table Item Description

Queue Shows the Queue name that will be


used to run automation using this device
pool
Activity Type Shows the Activity type used to run the
automation using this device pool - Run
bot with queue.

You can perform the following actions on a table column:


• Click a column to sort it in ascending and descending order. You can sort up to three columns
by holding the Shift key when you click two more columns. This gives you the option of
sorting two additional columns. This way the sorting is done on the entire table and not just
the data that is currently visible to you. The last sorting is stored in memory applied by a user
per session.
• Use a drag-and-drop operation to move the column left or right
• Move your mouse cursor at the end of the column and drag to re-size

4. Update the list of unattended Bot Runner devices that will be included in the device pool.
5. Update the list of device pool owners who are granted permission to view, edit, and delete the
device pool.
6. Update the list of device pool consumers who are granted permission to view the device pool as an
option while running automations.
7. Click Save changes.

Related tasks
Create device pools
Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
View device pool details
As a Enterprise Control Room user with device pool management privileges or as a device pool owner,
you can view device pool details to ensure the information provided is correct and if required customize
as per your automation requirement.
Delete device pools
You can delete a device pool comprising of unattended Bot Runners after your entity's automation goals
are achieved and the device pools are no longer required.

Delete device pools


You can delete a device pool comprising of unattended Bot Runners after your entity's automation goals
are achieved and the device pools are no longer required.
You can choose to delete your device pools in either of two ways:
• Delete one device pool
• Delete multiple or all device pools

1. Delete one device pool:


a) Go to Devices > My Device Pools.
b) Locate the device pool to delete, mouse over the Delete action icon and click.
c) Confirm or cancel as required.

© 2020 Automation Anywhere. All rights reserved.     455


    Automation Anywhere - Manage

2. Delete multiple or all device pools


a) Select the device pools to delete or select all device pools by selecting the Select All check box
in the header.
b) Click Delete given at the top of the device pools table.
c) Confirm or cancel as required.

If the device pool is being used for workload automation, you will not be allowed to delete it.
Based on your selection, the devices are deleted.

Related tasks
Create device pools
Create a device pool with a unique name and add Unattended Bot Runners to the device pool.
View device pool details
As a Enterprise Control Room user with device pool management privileges or as a device pool owner,
you can view device pool details to ensure the information provided is correct and if required customize
as per your automation requirement.

Workload management
Divide your automations into small, logical Work Items from the Workload page. Process the Work Items
simultaneously to ensure that your automation goals are achieved with optimum resource utilization.

Prerequisites

To manage your workload automation, ensure that you are allocated a combination of any or all of the
following roles and permissions:
Feature type Privileges

User roles • AAE_Admin


• AAE_Queue_Admin
• AAE_Pool_Admin

Activity permissions • View my in progress activity


• View my scheduled bots
• Schedule my bots to run

Device permissions • View and manage my Bot Creator, Bot


Runner, and device pools
• Create device pools
• Administer all device pools

Bots permissions • View my bots


• Run my bots

© 2020 Automation Anywhere. All rights reserved.     456


    Automation Anywhere - Manage

Feature type Privileges

Workload permissions • View and manage my queues


• Create queues
• Administer all queues

Create workload queues


A queue is one of the main building blocks of Workload Management (WLM). A queue holds data known
as Work Items for further processing. The system distributes these Work Items to individual Unattended
Bot Runners in a device pool for processing.
For workload automation, create device pools, add Bot Runners to the pool, create queues, add queue
owners/participants/consumers, define the work item structure, insert work items, and finally run the
automation with the queue.

Create device pools and add bot runners to the Create a device pool with a unique name and add
pool Unattended Bot Runners to the device pool.
Create queues Create queues that hold specific sets of data your
bot is expecting for automation. To create queues,
an Enterprise Control Room administrator assigns
the AAE_Queue Admin role with View and manage
my queues, Create queues, Administer all queues,
and View my in progress activity permissions.
Add queue owners Add queue owners who can create, edit, and view
queues. The queue creator is the default queue
owner and is able to add other Enterprise Control
Room users as queue owners, if required.
Add participants to queue Add queue participants from different roles defined
in the Enterprise Control Room. This is an optional
step.
Add consumers of queues Add queue consumers from different roles defined
in the Enterprise Control Room. This is an optional
step.
Define Work Item structure Define the Work Item structure for processing in
a queue. This enables you to manually upload the
Work Items from the system in the absence of
ready data in a file.
Add Work Items Add Work Items from an Excel or CSV file to the
queue after you define the structure.

Related concepts
Run bot with queue

© 2020 Automation Anywhere. All rights reserved.     457


    Automation Anywhere - Manage

Collectively process all work items of a queue across all the Bot Runners present in one or more device
pools.

Create queues
Create queues that hold specific sets of data your bot is expecting for automation. To create queues, an
Enterprise Control Room administrator assigns the AAE_Queue Admin role with View and manage my
queues, Create queues, Administer all queues, and View my in progress activity permissions.
Create a queue by providing details such as the queue name, queue owners, participants, consumers,
and work item structure. A summary of these details is available in the tab on the left side of the Create
queue page. Open any tab to edit the details.
1. Go to Workload > Queues.
2. Click Create queue.
The Create queue page appears.
3. Configure the following General Settings:
a) Queue Name: Enter a name for the queue that reflects its purpose.
For example, Payroll Queue for work items that are designed to manage a payroll system.
b) Optional: Description: Enter a description that reflects what the queue will achieve.
For example, the Payroll Queue will process automation that are designed to manage the
payroll system.
c) Reactivation Threshold: Select the minimum number of new work items with a Ready to Run
status required in the queue to resume the queue processing after all the work items in the
queue are processed.
By default, this is 1 (one).
d) Optional: Time required for a person to complete one work item: Select the average time that a
person would need to complete one work item in seconds, minutes, hours, or days.

4. Click Next to add the queue owners.


Add queue owners

Note: You can choose to Create draft of queue and add the remaining information later.

Add queue owners


Add queue owners who can create, edit, and view queues. The queue creator is the default queue owner
and is able to add other Enterprise Control Room users as queue owners, if required.
Queue owners are allowed to edit the queue and add new work items to the queue.

1. Select user(s) from the Available Users list in the Owners tab.
2. Click the left arrow key.
The users are added as Queue Owners in the Selected users list.
3. Click Next to add the queue participants.
Add queue participants

© 2020 Automation Anywhere. All rights reserved.     458


    Automation Anywhere - Manage

Add participants to queue


Add queue participants from different roles defined in the Enterprise Control Room. This is an optional
step.
Participant roles can add new work items and view the queue. However, they are not allowed to edit
other queue properties.

1. Select role(s) from the Available Roles list in the Participants tab.
2. Click the right arrow button.
The roles are added as Participants in the Selected roles list.
3. Click Next to add the queue consumers.
Add consumers of queues

Add consumers of queues


Add queue consumers from different roles defined in the Enterprise Control Room. This is an optional
step.
Queue consumers can view the queue and all the work items in the queue. In addition, they can use this
queue for running bots on Unattended Bot Runners.

1. Select role(s) from the Available Roles list in the Consumers tab.
2. Click the right arrow button.
The roles are added as Consumers in the Selected roles list.
3. Click Next to define the Work Item structure.
Define Work Item structure

Define Work Item structure


Define the Work Item structure for processing in a queue. This enables you to manually upload the Work
Items from the system in the absence of ready data in a file.
Define a Work Item structure using any one of the following methods:
1. Using an Excel/CSV file.
2. Using an existing work item template.

© 2020 Automation Anywhere. All rights reserved.     459


    Automation Anywhere - Manage

3. Manually

Remember: The work flow to process Work Items differs for a queue based on the method that you
choose in the Define Work Item Structure tab.

1. Select a method to add header columns for Work Item processing:


• Use an Excel/CSV file: Add the header columns from an existing Excel or CSV file.
a. Type a unique name for the Work Item structure in the Work item template field.
For example, if the queue contains employee information, you can specify the Work item
template as Employee Data.
b. Select a column for inclusion in the Work Item structure from the list of column names. The
columns are defined based on the header rows of the selected Excel or CSV file. A maximum
of ten (10) columns are allowed for selection and viewing in the Enterprise Control Room.
For example, you can select column headers Employee Name, Employee ID, and
Designation. You can then select the Data Type - Text, Number, or Date for that column. You
can also choose to view these columns being processed in the Activity page.

Note: The system allows you to filter/sort Work Items on the columns for viewing the Work
Item data in the Enterprise Control Room.

c. Select up to three columns for sorting in an ascending or descending order. When the
system processes the Work Items from the queue, it uses the sort criteria specified to retrieve
the Work Items in that order.
For example, to process payslips with first Employee Id followed by Employee Name from 1
to n and A to Z, specify Employee Id and Employee Name in an ascending order.

• Use work item template: Add header columns by searching for an Existing work item template or
from the Available work item templates.
This allows you to pass the values or attributes from the template to a TaskBot with the help of
Work Item variables when you use the option Run bot with queue.

Tip: Search for an existing Work Item template when there are a large number of templates
available for selection.

Use Work Item variables


• Manually: Define the Work Item structure manually. You do not have to select from an existing
structure.
a. Type a name for the Work Item structure in theWork item template field.
For example, if the queue contains employee information, add the Work item template as
'Employee Data'
b. Add column header names for the Work Item and select the data type for each column -
Text, Number, or Date
c. Select the display and sorting for the columns in the .

2. Click Next to add the Work Items.


Add Work Items

© 2020 Automation Anywhere. All rights reserved.     460


    Automation Anywhere - Manage

Add Work Items


Add Work Items from an Excel or CSV file to the queue after you define the structure.

Tip: You can also add Work Items later by editing the queue.

Edit queues

1. Click Browse to select an Excel or CSV file.


The file is added as a Work Item in the queue.
2. Click Create Queue.
The queue is successfully added at the top of the Queues list. You can choose to apply the column
sorting to view as required.

• Now that you have created a queue, it is now ready for deployment from a bot.
Run bot with queue
• Manage Work Items of a queue to fix the discrepancies before queue processing and reduce your
automation-related errors.
Manage Work Items

Run bot with queue


Collectively process all work items of a queue across all the Bot Runners present in one or more device
pools.
To run a bot with queue, ensure you are allocated a combination of any or all of the following roles and
permissions:
Feature type Privileges

User roles • AAE_Admin


• AAE_Queue_Admin
• AAE_Pool_Admin

Activity permissions • View my in progress activity


• View my scheduled bots
• Schedule my bots to run

Device permissions • View and manage my Bot Creator, Bot


Runner, and device pools
• Create device pools
• Administer all device pools

Bots permissions • View my bots


• Run my bots

© 2020 Automation Anywhere. All rights reserved.     461


    Automation Anywhere - Manage

Feature type Privileges

Workload permissions • View and manage my queues


• Create queues
• Administer all queues

Use Run a bot with queue from any of the following pages:
1. Activity > Scheduled
2. Bots > My Bots page
3. Workload > Queues page

The procedure for running a bot with a queue is the same in all these pages.
You can run bots on Unattended Bot Runners only. You cannot run bots on Attended Bot Runners from
the .
To process the work items using the Bot Runners, choose the TaskBot to run, select a queue, add a Bot
Runner, and assign it to a device pool.
Related tasks
View automation of a queue

Add TaskBots and dependent files


Add a TaskBot, review the input values, and dependent files for the automation in the Taskbots tab from
the Run bot with queue page.

1. Go to Activity > Scheduled, Bots > My Bots, or Workload > Queues page.
2. Click Run bot with queue
You are taken to the Activity > Run bot with queues Create page.
3. Enter a Name for the automation.
4. Enter Description.

Tip: This could describe the purpose of running the TaskBot with a queue.

5. Go to the folder that contains the required TaskBot.


6. Select a TaskBot to process in the queue from the list.
By default, the Bots folder is selected.

Tip: Use Search to find a TaskBot quickly.

The Input values and Dependencies options appear at the bottom of the page.
7. Optional: Select the Input values check box to add the values of variables to the bot during run time.
This is enabled only if the selected TaskBot has Input values.
8. Optional: Review the list of dependent files, if available.
This is enabled only if the selected TaskBot has Dependencies.

© 2020 Automation Anywhere. All rights reserved.     462


    Automation Anywhere - Manage

9. Click Next to add a queue, Bot Runner and device pool.


Add queue, Bot Runner, and device pool
If the selected TaskBot does not contain a work item template, an error message appears at the top
of the page. The TaskBot also has an icon that indicates a missing work item template.

Add queue, Bot Runner, and device pool


Add a queue, Bot Runner, and device pool to the automation from the Run bot with queue page using
Queue, Run as, and Device pool tabs.
You can select only those queues that are not in use and for which you have consumer access privileges.
The In use queues appear disabled in the Available queues list. This means that you cannot use multiple
queues to add Bot Runners.

Tip: Use Search to quickly find the required queue, Bot Runner, and device pool.

1. Select a Queue from the Queues list.


2. Click Next.
The Run as tab is launched.
3. Select a Bot Runner from the Available bot runners list.
4. Click Next.
The Device pool tab is launched.
5. Select a Device Pool from the Available device pools list.
6. Click Add.
The queue and device pool are added to the run bot with the queue list.
7. Optional: Click Remove to replace the queue and/or device.
8. Click Run bot with queue.
The queue status changes to In use on the Queues page.

Manage workload queues

Manage workload queues


For workload maintenance tasks such as view the details of queues to pause, stop, or resume its
automation, edit the queues, manage the work items in the queue, and delete the obsolete queues.

Workload maintenance tasks

For workload automation maintenance, do the following (in any order):

View queue details Use the View queues details page to view the
details of a particular queue.
Edit queues Edit a queue using two methods - from the
Queues list, or from the View queue page.
Delete Queues Delete selected or all queues.
Manage Work Items Manage Work Items of a queue to fix the
discrepancies before queue processing and reduce
your automation-related errors.

© 2020 Automation Anywhere. All rights reserved.     463


    Automation Anywhere - Manage

Related reference
Actions allowed on view queue page
Use different actions such as sorting, searching, or filtering on the table view of the queues.

View queue details


Use the View queues details page to view the details of a particular queue.
Permissions required:
1. Queue Owner or Queue Participant rights
2. View and manage my Queues feature permission

1. Go to Workload > Queues


2. Hover over a queue to view
3. Click the vertical ellipsis button
4. Click the view details button
This launches the View queues page which shows details of the queue in two sections:
a. Name, Description, My access status, and queue Status such as:
• New when the work item is added to the queue recently.
• On hold when the work item is deferred from processing by a Bot Runner.
• Failed when the work item processing failed on Bot Runner.
• Completed when the work item successfully processed by a Bot Runner or marked
Completed.
• Data error when there is an error in loading data from the file.
• Active when the work item is currently being processed or staged for processing.
• Ready to run when the work item is successfully processed for execution does not have any
data errors and can be staged for processing.

b. Queue contents in different tabs such as:


1. Work Items: This is the default view. This allows you to view all work items in a list form. Use
this to edit, delete or modify the column view and change the status of all or selected work
items.
2. General: View the Reactivation Threshold and Time required to complete one work item.
3. Owners: View the user names of queue owners who can edit the queue and add new work
items.
4. Participants: View the user names of queue participants who can add new work items and
view the queue.
5. Consumers: View the user names of consumers who can view the queue and all the work
items in the queue. In addition, they can use this queue when running bots.
6. Work Item Structure: View the work item structure that you defined when creating the
queue.

Tip: Edit any of these details by either clicking the edit this queue link or the Edit button. Also delete
the queue by clicking the Delete button.

© 2020 Automation Anywhere. All rights reserved.     464


    Automation Anywhere - Manage

Related concepts
Manage Work Items
Manage Work Items of a queue to fix the discrepancies before queue processing and reduce your
automation-related errors.
Related tasks
Create queues
Create queues that hold specific sets of data your bot is expecting for automation. To create queues, an
Enterprise Control Room administrator assigns the AAE_Queue Admin role with View and manage my
queues, Create queues, Administer all queues, and View my in progress activity permissions.
Edit queues
Edit a queue using two methods - from the Queues list, or from the View queue page.
Delete Queues
Delete selected or all queues.
Related reference
Actions allowed on view queue page
Use different actions such as sorting, searching, or filtering on the table view of the queues.

Edit queues
Edit a queue using two methods - from the Queues list, or from the View queue page.
Permissions required:
1. AAE_Queue Admin role
2. Queue Owner rights to edit queues that you created
3. Queue Participant rights to edit queues that are created by other queue owners

1. Go to Workload > Queues


2. Edit a queue from the View queue page or from the Queues list
3. Hover over a queue to edit
4. Click the vertical ellipsis button
5. Click the View button
The View queue page is launched.
6. Click either of the following to launch the Edit Queue page
• edit this queue link
• Edit button

7. Edit the queue details such as the queue name (applicable only if in draft), description, work items,
threshold and time values, owners, participants, and consumers.

Note: The Work Item structure cannot be edited after it is defined.

8. Upload a file for the work item that will be used for processing in this queue
The Work Items tab is shown by default.

Tip: You can search for a work item quickly based either on Status or Status details using the search
option.

9. Click Browse

© 2020 Automation Anywhere. All rights reserved.     465


    Automation Anywhere - Manage

10. Select the file to upload

Note: You can upload only an Excel or CSV file.

11. Click Save changes


If you provide a duplicate name, an error is displayed.
12. Edit the name and save the changes made to the queue
An edit successful message appears.

Delete Queues
Related concepts
Manage Work Items
Manage Work Items of a queue to fix the discrepancies before queue processing and reduce your
automation-related errors.
Related tasks
Create queues
Create queues that hold specific sets of data your bot is expecting for automation. To create queues, an
Enterprise Control Room administrator assigns the AAE_Queue Admin role with View and manage my
queues, Create queues, Administer all queues, and View my in progress activity permissions.
View queue details
Use the View queues details page to view the details of a particular queue.

Delete Queues
Delete selected or all queues.
Permissions required:
1. AAE_Queue Admin role
2. Queue Owner rights

1. Go to Workload → Queues

© 2020 Automation Anywhere. All rights reserved.     466


    Automation Anywhere - Manage

2. Delete selected or all queues


• Delete selected queue
a. Hover over a queue to delete
b. Click the vertical ellipsis button
c. Click the Delete button
d. A confirmation message to permanently delete the selected queue appears.
e. Click Yes, delete to confirm or No, cancel to discard the action.
f. A confirmation message appears after you delete the queue

• Delete multiple selected or all queues


a. Select the check box of required queues or select the check-box given in the header to
select all queues
b. Click the Delete button above the table header.
c. A confirmation message to permanently delete multiple queues appears.
d. Click Yes, delete to confirm or No, cancel to discard the action.
e. A confirmation message appears.

Note: A queue will not be deleted if it is being used for processing a work item. An error
message appears for that particular queue.

Related tasks
View queue details
Use the View queues details page to view the details of a particular queue.
View automation of a queue
Edit queues
Edit a queue using two methods - from the Queues list, or from the View queue page.

Actions allowed on view queue page


Use different actions such as sorting, searching, or filtering on the table view of the queues.

Searching and filtering

For ease of access, apply search parameters to Status and Queue Name columns.
• Specify the search parameters in the search bar for Queue Name. When you specify search
parameters for the same column, the system searches using OR operator. When you specify search
parameters for different columns, the system searches using AND operator.
• Choose the search parameters from a list in the search bar for Work Item Status.

Table items

The following describes the list of items that can be viewed in the table:

© 2020 Automation Anywhere. All rights reserved.     467


    Automation Anywhere - Manage

Table Item Description

ID Shows the system generated id for a work item.


When a work item is added to a queue, system
generates an id for that work item.
Status Shows Work item status:
• New when the work item is added to the
queue recently.
• On hold when the work item is deferred
from processing by a Bot Runner.
• Failed when the work item processing failed
on Bot Runner.
• Completed when the work item successfully
processed by a Bot Runner or marked
Completed.
• Data error when there is an error in loading
data from the file.
• Active when the work item is currently being
processed or staged for processing.
• Ready to run when the work item is
successfully processed for execution does
not have any data errors and can be staged
for processing.

Start Time and End Time Shows the Work Items processing start/end
time and date.
Modified by Shows the name of the user who had modified
the Work Item last.
Last Modified Shows the time and date when the Work Item
was modified last.

Note: Apart from the above system generated columns, the fields that you define in your work item are
also displayed as columns.

Actions on table column

Use the following actions on a table column:


• Click a column to sort it in ascending and descending order. You can sort up to three columns by
holding the Shift key when you click two more columns. This gives you the option of sorting two
additional columns. This way the sorting is done on the entire table and not just the data that is
currently visible to you. The last sorting is stored in memory applied by a user per session.
• Drag a column to the left or right
• Move your mouse cursor at the end of the column and drag to re-size

Actions on Work Items

Use the following tasks on specific Work Items:

© 2020 Automation Anywhere. All rights reserved.     468


    Automation Anywhere - Manage

Table Item Description

Refresh Allows you to refresh the table contents so that


you can view the latest Work Item status
Delete Allows you to delete one or multiple Work
Items.
Mark complete Allows you to mark one or more Work Items as
Complete whose status is On hold, Data Error,
or Ready to run.
New Allows you to mark one or more Work Items as
New whose status is On hold, or Data Error
On hold Allows you to mark one or more Work Items as
On hold whose status is New
Customize columns Allows you to show or hide specific columns. By
default, all columns are displayed including the
ones defined in the Work Item.

Alternately, select Work Items and use the following actions. Note that these actions can be performed
only at a table level and not on individual Work Items.

Table Item Description

View Allows you to view details of selected Work


Item.
Edit Allows you to edit details of selected Work Item.
You can see this icon only if you are the Queue
Owner or Participant or Consumer and the
status of the Work Item is Unsuccessful, On
hold, or Data error
Delete Allows you to delete the selected Work Item.
Note that if a Work Item is in Active state, you
are not allowed to delete it.

Manage Work Items


Manage Work Items of a queue to fix the discrepancies before queue processing and reduce your
automation-related errors.

Permissions required

You need any of the following permissions to manage the work items:
1. AAE_Queue Admin role
2. View and manage my Queues feature permission
3. Queue Owner, Queue Consumer, and/or Queue Participant permissions

© 2020 Automation Anywhere. All rights reserved.     469


    Automation Anywhere - Manage

View work items


View work items with a status of Completed, Unsuccessful, On hold, Active, or Data Error in the View
work item page.

1. Go to Workload > Queues.


2. Select and open a queue in view or edit mode.
3. Hover over a work item to view it.
4. Click the vertical ellipsis button.
5. Click View.
The View work item page appears. The page provides details of the work item in four sections - Work
Item Details, Work Item, Automation, and Work Item Results.
6. In the Work Item Details section, view the following:
a) Status
1. Successful or Unsuccessful for work items that have failed, are in unknown state or
stopped.
2. Pending for work items that are deferred, new or paused.
3. Active for work items that are already processed in the queue and are running.
4. Data error for work items that are being uploaded from the file.

b) Status Details
1. Successful for work item with a status of NA.
2. Unsuccessful for work items with one or more errors has an Unknown status or is stopped.
3. Active for work item with a status of NA.
4. Pending for a work item that is new, deferred, or paused.
5. Data Error for work items with one or more errors.

c) Start time and End time: This is shown when the work item is being processed.
d) Queue Name: View the name of the queue of this work item.

7. In the Work Item section, view the following:


a) Attributes of the selected work item.
b) Audit log comments (if any) that were added when editing the work item.

8. In the Automation section, view the name of the automation, bot name, and device pool under
which this work item was processed.
9. In the Work Item Results section, view the output status of the work item processed in the Enterprise
Control Room
10. In the General Details section, view the Last modified date and time, Modified by, and Object type.

1. Edit work items


2. Delete work items

Related reference
Work item status and actions

© 2020 Automation Anywhere. All rights reserved.     470


    Automation Anywhere - Manage

Edit work items


Use the Queues page or the Work item page to edit the work items of a queue if their status is
Unsuccessful, On hold, or Data Error.

1. To edit a work item, use any of the following methods based on where you are in the Workload
page:
• Queues page:
a. Hover over a work item to edit it.
b. Click the vertical ellipsis button.
c. Click Edit.

• Work Item page > Edit button

The work item page appears in edit mode.


2. Change the work item status to Mark complete, Defer, or Re-process in the Work item attributes and
automation details section
The system will set the status to Data Error during the data load if there is any issue with the data.
For example, if a user types a text value for a number field, or an invalid date string for an attribute of
date type, the status will be displayed as Data Error.
Work item status and actions
3. Click Save changes.

Delete work items

Delete work items


Delete work items one at a time or in bulk in the View work item page. You are allowed to delete a work
item only if its status is not Active.

1. Go to Workload > Queues.


2. Select and open the queue in view or edit mode.
3. Hover over a work item to view it.
4. Click the vertical ellipsis button.
5. Click Delete.
The selected work item is deleted successfully.

Note: You can also delete a work item one at a time or in bulk using the Delete option provided
above the Work items table.

Related reference
Work item status and actions

© 2020 Automation Anywhere. All rights reserved.     471


    Automation Anywhere - Manage

Managing packages
Users with the Upload package permission can upload and manage packages.
Manage packages from the Bots > Packages view of the Enterprise Control Room. In addition to the
basic action buttons, users with the Upload package permission also have the Add package action
available.
From the Bots > Packages > View package view, users with the Upload package permission can manage
packages that are used by all users in the Enterprise Control Room. Typically, the last updated package is
the default.
• Upload packages privileges are required to add new or update packages.
• Previously disabled packages require direct action to reenable the package. Disabled packages
continue to be available for use by legacy bots; however, disabled packages are not available for
creating new bots.
• Existing bots might be affected when an existing package is updated or disabled at the Enterprise
Control Room level. The best practice is that Bot Creators update bots to use the latest package when
possible.

The following options are available when adding a new package.


Reject Stops the upload process.
Accept, enable and set as default Uploads and enables the selected package, setting
to the default package for the Enterprise Control
Room.
Accept and enable Uploads and enables the package, but the package
is not set as the default package. Bot Creators
need to specifically select non-default packages to
use them for creating bots.

The following options are available for managing packages.


Set as default Select a package and set is as the default. As soon
as a package is set to default, it is the package that
all Bot Creators in the Enterprise Control Room
use.
Disable Disable a package so that users cannot use it to
create new bots. Bots that were created using a
disabled package continue to work.
Delete Deleting a package removes the actions contained
in the package from the Enterprise Control Room
for all users.

Important: A package cannot be deleted if it is


being used by a bot.

Manage packages from the Bots > Packages > View package page.
Add packages from the Bots > Packages page.

Video: Updating a package

© 2020 Automation Anywhere. All rights reserved.     472


    Automation Anywhere - Manage

Updates to packages are available in each release of Enterprise A2019 and admins or users can choose to
update to the latest package.

Add packages to the Enterprise Control Room


Users with Upload package permission can add packages to the Enterprise Control Room for use by all
Bot Creators.
Valid user login credentials for the Enterprise Control Room with Upload package permission is required.
1. From the Bots > Packages page, click the Add package icon.
2. Browse to the location of the package to add.
Packages are Java Archive (JAR) files that contain actions used to create bots.
3. Select the package to add, and click Upload package.
4. On the Bots > Packages > Confirm package page, there are 3 options:
Reject Stops the upload process.
Accept, enable and set as default Uploads and enables the selected package,
setting to the default package for the Enterprise
Control Room.
Accept and enable Uploads and enables the package, but the
package is not set as the default package. Bot
Creators need to specifically select non-default
packages to use them for creating bots.

Related concepts
Build and test a demo package and bot
This practical how to section demonstrates that creating, changing, and managing packages allow you to
customize actions and efficiently manage packages for all Enterprise Control Room users.
Related tasks
Manage Enterprise Control Room packages
Mange packages in the Enterprise Control Room.
Create a demo bot with the demo package
Create a bot using the demo package to verify the actions that were created.

Manage Enterprise Control Room packages


Mange packages in the Enterprise Control Room.
To manage packages in the Enterprise Control Room, users need to have Upload package permission.
Package management actions apply to all users; however, user can select specific package versions
within a bot.
1. From the Bots > Packages page, click View package.
2. From the Bots > Packages > View package there are 3 options:
Set as default Select a package and set is as the default. As
soon as a package is set to default, it is the
package that all Bot Creators in the Enterprise
Control Room use.

© 2020 Automation Anywhere. All rights reserved.     473


    Automation Anywhere - Manage

Disable Disable a package so that users cannot use it to


create new bots. Bots that were created using a
disabled package continue to work.
Delete Deleting a package removes the actions
contained in the package from the Enterprise
Control Room for all users.

Important: A package cannot be deleted if it is


being used by a bot.

Related concepts
Managing packages
Users with the Upload package permission can upload and manage packages.
Related tasks
Add packages to the Enterprise Control Room
Users with Upload package permission can add packages to the Enterprise Control Room for use by all
Bot Creators.

Credentials and lockers


Sensitive information, such as user credentials, account numbers, and social security numbers that are
included in automation tasks, are encrypted and stored as credentials centrally in the Credential Vault.

Credential Vault

Sensitive information does not need to be stored in bots or on Bot Runner systems. The Credential Vault
facilitates a logical separation of credentials from the bots.
Credential Vault variables are created from the Enterprise Control Room and made available to all the Bot
Creators and Bot Runners registered with the Enterprise Control Room. When bots are moved from one
environment to another, no changes are required in the bots. Bots can seamlessly pick up the credential
values applicable for the new environment from the Enterprise Control Room. Additionally, the Enterprise
Control Room automatically stores configuration-related sensitive data into the Credential Vault by
default.

Benefits of creating credentials

Apart from providing a secure and centralized location for storing credentials:
• Minimizes credential fraud.
• Provides an environment to enable improved security.
• Enables businesses to adhere to the processes and credential management compliance standards.
• Offers increased automation opportunities with secure data applications.

© 2020 Automation Anywhere. All rights reserved.     474


    Automation Anywhere - Manage

My Credentials tab

With the AAE_Locker Admin permission, you can view all user credentials. Other actions available under
this tab include:

Create credential Create a credential and add the required attributes.


Create locker with checked items Select credentials to add to the locker.
View Roll over the view icon to see the details of the
selected credential.
Delete Delete the selected credential.

In the search pane, filter credentials by credential name. The following information is displayed:
Type Shows the type of credential as user-provided or
standard.
Name Name of the credential.
Locker Name Name of the assigned locker for the credential.
My Access Credential owner Credential has been
created by you.
Credential non-owner Credential has been
created by other user.

Request Status All values provided Value has been given.


Requests sent Request has been
sent to users to input
credential value.

Credential Owner Name of the user who has created the credential.
Last Modified Date and time when the credential was last edited.
Modified By Name of the user who has modified/edited the
credential.

My Lockers tab

Credentials are further divided in logical groups called lockers. Lockers are used to group related sensitive
information, that is included in automation tasks in the form of credentials, and share it with other users.
Users with the following permissions can work with lockers:

Manage my lockers This permission enables you to create and manage


lockers.
Administer ALL lockers This permission enables you to view all the lockers
and do limited actions on them. This permission is
available for AAE_Locker Admin role only.

The roles and permissions related to locker management are:

Owners A locker owner can edit, view, and delete a locker,


and can add or remove other owners.

© 2020 Automation Anywhere. All rights reserved.     475


    Automation Anywhere - Manage

Manager A locker manager has access to the same


functions as a locker owner, but does not
have permission to add owners, managers, or
participants to the locker.
Locker Participants A locker participant has access to view a locker
and participants, and can also add own credentials
to a locker. A locker participant does not have
access or visibility of credentials created by other
users.
Locker Consumers A locker consumer has access to view a locker
and input credential value. To assign a locker
consumer, select one or more user-defined roles.
The users belonging to these selected roles are the
consumers of the locker.

Note: Users can see lockers only if they have created them or if they are a member of that locker.

From the search pane you can filter lockers based on locker name. The following describes the list of
items that can be viewed in the table:

Name Name of the locker.


My consumer permission Consumer or not a consumer.
My additional permission locker participant, locker manager, locker owner.
Managers Users with locker manager permission.
Credentials Number of credentials assigned to a locker.
Owners Name of user who created the locker.
Last Modified Date and time when the locker was last edited/
modified.
Modified By Name of the user who has modified/edited the
locker.

The following describes the list of performable actions that can be done on individual entries in the table:

View Enables you to view locker.


Edit Enables you to edit a locker.
Delete Enables you to delete a locker.

Related tasks
Create credential
Create a credential and add the required attributes.
Create locker
Create a locker to group similar credentials to share with other users.
Set up locker and assign credentials

© 2020 Automation Anywhere. All rights reserved.     476


    Automation Anywhere - Manage

The locker is used to group related sensitive information and can be shared with other users.

Set up locker and assign credentials


The locker is used to group related sensitive information and can be shared with other users.
Do the following to set up the locker and assign credentials:
1. Create a role
Define a role and assign permissions to access various features for building bots.
2. Create credential
Create a credential and add the required attributes.
3. Create locker
Create a locker to group similar credentials and share with other users.

Related tasks
Edit a credential
Edit details of a credential, such as the credential definition and value.
Edit a locker
Edit permissions for lockers.

Create credential
Create a credential and add the required attributes.
Users are enabled to add up to 50 attributes to each credential.
1. Enter the Credential name and optionally, the Description.
2. Enter the Attribute name and optionally, the Description.
3. Select Input:
Standard Enter the value. All users see the same credential
value set by the credential owner.
User-provided The value field is grayed-out because the values
are not preset during creation. Only users of the
locker containing this credential can provide the
value.
4. Select Security:
Masked All masked values will be shown as asterisks.
5. Click Create credential.
Assign the credential when adding the credential details. If no locker was created, create a locker
and then assign the credential.

Assign credentials to a locker. See Create locker.

© 2020 Automation Anywhere. All rights reserved.     477


    Automation Anywhere - Manage

Edit a credential
Edit details of a credential, such as the credential definition and value.
If a credential type is user-provided, then locker consumers have permission to edit the credential and
their credential value.
1. Go to Bots > Credentials
2. Select the credential and click Edit credential.
If your credential is assigned to a locker, then you can only edit the value of common attribute. And
if the attribute is user-provided, then the locker consumers can edit the value.
3. In the Edit credentials page, make the required changes.
If email notification setting is enabled and credentials are added to a locker, then all the locker
consumers shall receive an email. Learn more
• A credential can be edited by a credential owner, or if the credential type is user-provided then
locker consumers can edit the credential value.
• In case of user-provided credential, you can only edit General information such as adding or
removing a locker.
• In case of standard credential, you can edit General information such as adding or removing a
locker and Attribute detail such as the credential value.

4. After you complete editing the credential, click Save changes or click Cancel to undo the changes.
The maximum limit of credential attributes that is allowed is 50. If you have upgraded to the current
version and have migrated credentials that have more than 50 attributes, when editing that particular
credential, the following message displays: Credentials can only have a maximum of 50
attributes. To continue, remove the additional attributes that cannot be saved and add those to
a new credential.

View a credential
As an authorized user, you can view details such as the credential details, attribute name, description,
credential type and value, and general details of any credential.
To view a credential, follow the steps mentioned below:
1. Go to Bots > Credentials.
2. In My Credentials tab, choose the credential. Go to action list and click View credential.
View credential page is displayed with the following details:
• Edit credential- Allows you to modify the your credential.
• Credential details- Description and credential owner.
• Attribute name, credential description, type, value
• General details- last modified (date and time), modified by, object type, credential type

Create locker
Create a locker to group similar credentials to share with other users.
Make certain you have created the necessary credentials to add to a locker. One locker can hold up to
ten credentials. A credential can only belong to one locker. See Create credential.

© 2020 Automation Anywhere. All rights reserved.     478


    Automation Anywhere - Manage

Credentials are further divided in logical groups called lockers. To create a locker, follow these steps:
1. Navigate to Bots > Credentials
2. Type the locker name and optionally, type the locker description.
3. Select the Credentials to add to a new locker.
Available credentials appear. Select one or multiple credentials from the list and add them to the
locker.
4. Click on the Create locker with checked items.
5. Supply locker name and description.
6. Add the Owners.
The locker owner can edit, view, and delete a locker and also add or remove other owners.
7. Type the Managers.
The locker manager has access to functionality, but cannot add owners, managers, or participants to
the locker.
8. Add the Participants.
A locker participant has access to view a locker and add their own credentials to a locker.

Note: A locker participant does not have access to or visibility of credentials created by other users.

9. Add the Consumers.


Select one or more roles. Users belonging to these selected roles have access to the locker. System-
created roles are not shown in the consumer list.
If the credential type is:

Standard Locker consumers can view the locker and all


the credentials inside the locker. All consumers
see the same credential value set by the
credential owner.
User-provided Locker consumers can input their information
in user-provided credentials with user-provided
attributes.
10. Click Create locker.

Edit a locker
Edit permissions for lockers.
To edit a locker, follow the steps mentioned below:
1. Go to Bots > Credentials

© 2020 Automation Anywhere. All rights reserved.     479


    Automation Anywhere - Manage

2. In My Lockers tab, select the locker to edit. Then on the action list, click edit locker.
Only a locker owner or locker admin has permission to edit a locker. You can make changes to the
following:
• Credentials- Add or remove credentials that are assigned to a locker.
• Owners- Add or remove locker owners.
• Managers- Add or remove locker managers.
• Participants- Add or remove locker participants.
• Consumers- Add or remove locker consumers.
If email notification setting is enabled and credentials are added to a locker, then all the locker
consumers will receive an email.

3. Click Save changes after you finish editing the locker.

Credential Vault email notifications


When the email notification setting is enabled, it ensures that users are notified of any changes to
credentials and lockers.

Overivew

Email notifications are sent for the following scenarios:

Credential is added to a locker When credential is added to a locker, a notification


is sent to all consumers of the locker to their email
address registered in the Enterprise Control Room.
The email consists of a link to the credential that is
added to the locker. The consumers are redirected
to edit the credential page wherein they input the
credential value.
Member is added or removed from a locker An email notification is sent when a new member
(co-owner or participant) is added to a locker
or removed from the locker as a member of
participant.
Change in permission for locker members When a locker owner/admin grants or removes
locker membership permissions from a locker, an
email notification is sent to the locker members at
their email address. This ensures that members are
notified of their membership changes within the
locker.
Locker consumer gets added or removed from a When a role assigned to a locker is modified by
role assigned to a locker, or consumer role gets addition or removal of users, an email notification
added or removed from a locker is sent to the new or existing user at their email
address so that the consumers are notified that
credentials are pending for their input in the locker.
Also when a new role added to a locker or
an existing role is revoked from the locker, an
email notification is sent to the new or existing
consumers at their email address so that the
consumers are made aware of the changes.

© 2020 Automation Anywhere. All rights reserved.     480


    Automation Anywhere - Manage

Administration
Enterprise Control Room administrators manage settings related to the database, Credential Vault, ,
users, roles, action packages, licensing, and more.

Learn more about:


Related tasks
Create a role
You can define a role and assign permissions to access various features of the Enterprise Control Room.
Create user
Add a new user by assigning a role and device license.
Installing licenses
Upload a new license into the Automation Anywhere Enterprise Control Room.
Create credential
Create a credential and add the required attributes.

Users management
As a Cloud user with administrator permissions, you can create, view, edit, delete, enable or disable a
user. Creating users steps vary depending if the user is a non-Active Directory, Active Directory, or an
Single Sign On user from an IdP server.

Column Actions

• Click a column header to sort by ascending or descending order.


• Drag and drop a column header to move the column left or right.
• Drag the end of a column corner to re-size.

Individual User Actions

Do the following tasks on an individual user:

View Opens View user page in read-only mode. It shows


user details, assigned roles, and general details,
such as Last Modified, Modified by, Object type,
and User type.
You can edit a user detail and enable or disable a
user.
Edit Opens the Edit user page in write mode. It enables
updates to user details, device login credentials,
assigned roles, and device licenses.
When you edit a user, an email is sent notifying the
user if SMTP is enabled.
Enable︱Disable Activates or deactivates the user. When you enable
or disable a user, an email is sent notifying the user
if SMTP is enabled.

© 2020 Automation Anywhere. All rights reserved.     481


    Automation Anywhere - Manage

Delete Deletes the user. This is useful when users leave an


organization or moved to another role. This free
both the device, to which the user was attached,
and the allocated license.
When you delete a user, an email is sent notifying
the user if SMTP is enabled.

Table-level Actions

Do the following tasks by hovering over the icons at the top-right of the User table. These actions can be
performed only at a table-level and not on individual items.

Create role with checked items Adds a role and assigns the selected users. See
Create user.
Delete checked items Deletes the selected users. You cannot delete a
user who is currently logged in.
Export to CSV Exports the selected users in the table in CSV
format.
Refresh Refreshes the table and reflects the latest data.
Customize columns Select the columns to show or hide in the table.

Create user
Add a new user by assigning a role and device license.
To create a new user, follow these steps:
1. Go to Administration > Users.
2. Click Create user.
The icon is located at the top-right of the User table. The Create user page is displayed.
3. In the General Details section, supply the following user details:

Enable User Select for the user to be able to login


immediately.
Username Type a unique user name.
Description Optional. Type a description for the user.
First name Optional. Type the first name for the user
Last name Optional. Type the last name for the user.

Note: The number of characters allowed in First


name and Last name is 50.

Password Type and confirm a password for the user.


Ensure the password follows any necessary
password policy.
Email Type and confirm the email address for the
user. If SMTP is enabled, the user is sent an
email to this address to confirm the account. All
important Enterprise Control Room notifications
will be sent to this email address.

© 2020 Automation Anywhere. All rights reserved.     482


    Automation Anywhere - Manage

Note: You can use the "@" character to


accommodate email user-names.

4. In the Select roles section, assign a role from the Available roles table.
Mark each role to assign. Select multiple roles for the user as necessary. Click # to move the roles to
the selected column. For more information on specific roles and permissions, please see Roles.
For example, to create a new Automation Anywhere Enterprise administrator, select AAE_Admin.
5. Assign a device license to the user.
The following are license types:

None The user will have access to the Enterprise


Control Room only.
Bot Creator - Development license Enables user to create and run bots. Auto login
enabled by default.
Unattended Bot Runner - Run-time license Users with this license can perform all
automation tasks that Attended users can
perform. Additionally, this license can also be
used for Control Room deployment, centralized
scheduling, and API based deployment.
Attended Bot Runner - Run-time license Users with privilege to run bots on their
workstations. These users can also make use of
local schedules and triggers for time or event
based automation.
6. Click Create user or Create user and add another.
The new user is displayed in the User table. If SMTP is enabled, an email will be sent to the new user
inviting them to log in.

Related concepts
Licenses - an overview

Create an Active Directory user


Add the Active Directory user by selecting AD domain, providing AD environment details, and assigning a
role and device license.
To create a new user, follow these steps:
1. Click Create user.
The icon is located at the top-right of the User table. The Create user page is displayed.
2. In the General Details section, supply the following information:

Enable User Select for the user to be able to login


immediately.
Active Directory domain Select the active directory name for the user.
The list displays all domains that are available in
the Active Directory domain controller.

Note: Enterprise Control Room Active


Directory supports single forest multi-domain
environment.

© 2020 Automation Anywhere. All rights reserved.     483


    Automation Anywhere - Manage

Username Click CHECK NAME IN ACTIVE DIRECTORY. If


the user name is present in the Active Directory
database, the First name, Last name, Email, and
Confirm email fields are auto-populated. If the
data is not auto-populated from, type the details
into the fields.
If the username is not present in the Active
Directory database, an error message is
displayed. Contact the network administrator to
resolve the issue.

Password Type and confirm a password for the user.


Ensure the password follows any necessary
password policy.
Email Type and confirm the email address for the
user. If SMTP is enabled, the user is sent an
email to this address to confirm the account. All
important Enterprise Control Room notifications
will be sent to this email address.

Note: You can use the "@" character to


accommodate email user-names.

a. : Type a password for the user. Ensure that you are assigning a password that follows the
password policy of your organization.
b. Confirm password: Type the password again. This should be same to what you typed in the
Password field.

3. In the Select roles section, assign a role from the Available roles table.
Mark each role to assign. Select multiple roles for the user as necessary. Click # to move the roles to
the selected column. For more information on specific roles and permissions, please see Roles.
For example, to create a new Automation Anywhere Enterprise administrator, select AAE_Admin.
4. Assign a device license to the user.
The following are license types:

None The user will have access to the Enterprise


Control Room only.
Bot Creator - Development license Enables user to create and run bots. Auto login
enabled by default.
Unattended Bot Runner - Run-time license Users with this license can perform all
automation tasks that Attended users can
perform. Additionally, this license can also be
used for Control Room deployment, centralized
scheduling, and API based deployment.
Attended Bot Runner - Run-time license Users with privilege to run bots on their
workstations. These users can also make use of
local schedules and triggers for time or event
based automation.

© 2020 Automation Anywhere. All rights reserved.     484


    Automation Anywhere - Manage

5. Click Create user or Create user and add another.


The new user is displayed in the User table. If SMTP is enabled, an email will be sent to the new user
inviting them to log in.

Reset user password


The Enterprise Control Room administrator generates an email process for the user to reset their
password.
Only administrators can initiate the email process.
1. Navigate to Administration > Users.
2. Select the desired user from the list and click Edit user.
3. Click Send reset password email.
The selected user receives an email with the necessary instructions to reset the password.

Roles
Administrators configure roles for permission to perform actions such as create a bot, edit, or delete it for
various features and operations in Enterprise Control Room.

Roles

Role Based Access Control (RBAC) grants access to users based on the assigned roles and the
accessibility provided to the user. The benefits of creating roles include:
• Increased security through controlling users access according to their specified roles.
• Decreased need of customer support.
• Easy and accurate monitoring of the use and access of data by higher management, leading to better
research management.

The Enterprise Control Room enforces role-based access control. There are two types of roles:
System-created By default, these roles are preconfigured.
User-created Users create these roles and the roles can be
customized. If a user-created role is created with
all Enterprise Control Room permissions, it is not
considered a Enterprise Control Room Admin
role. Only the system-created Admin role has this
privilege.

Default roles

AAE_Admin This role allows access to all features, including


creating other Admin users and access to all
folders and files. The only role that can access
Enterprise Control Room settings.
AAE_Locker Admin This role allows to view all credentials and all
lockers. A Locker Admin can change the owner

© 2020 Automation Anywhere. All rights reserved.     485


    Automation Anywhere - Manage

of a credential that they do not own. For lockers


they do not own, they can delete the locker, edit
permissions, and remove credentials.

Note: This permission is not applicable to


Enterprise Control Room Admin role.

AAE_Basic This role provides permissions to upload and


download TaskBots in the My Tasks folder. Limited
access to other features.
AAE_Pool Admin This role allows user to view and manage all device
pools.

Note: Users with AAE_Pool Admin do not have


permission to see any bots and supporting files.

AAE_Queue Admin This role allows user to view and manage all
queues.
AAE_Bot Insight Admin This role provides permission to view and manage
data in Bot Insight. Limited access to Enterprise
Control Room features. (If Bot Insight license is
installed). This allows a user to access Bot Insight
RESTful APIs to get access to the data logged by
the Enterprise Control Room, and by a task during
'Production' run.
AAE_Bot Insight Consumer This role provides permission to view data in Bot
Insight. Limited access to Enterprise Control Room
features. (If Bot Insight license is installed)
AAE_Bot Insight Expert This role provides permission to manage data in
Bot Insight. Limited access to Enterprise Control
Room features. (If Bot Insight license is installed)
AAE_BotFarm Admin This role provides BotFarm admin privileges to the
user.
AAE_BotFarm Agent This role provides view and manage privileges to
the user.
AAE_IQ Bot Validator This role allows user to access the IQ Bot Validator
screen. Limited access to Enterprise Control Room
features. (For a Bot Runner with an IQ Bot license).
AAE_IQ Bot Services This role grants a user the permissions to access
the IQ Bot console. Limited access to Enterprise
Control Room features.

Note: Bot Insight, BotFarm, and IQ Bot roles are displayed only if you have respective licenses.

© 2020 Automation Anywhere. All rights reserved.     486


    Automation Anywhere - Manage

Permissions for roles

Only an administrator or Enterprise Control Room user with roles permission can assign roles to users
and provide access to them for various features and operations. Assign the following permissions to a
role:

Dashboard View dashboards. Available to all users.


Activity All users can view their own activity.
Bots View my bots
Event Triggers View and manage trigger events.
Devices View and manage my Bot Runners, and device
pools.
Workload View and manage my queues.
Audit Log View all audit log actions.
Administration View and manage settings and is available only
for Enterprise Control Room and or Community
Control Room administrators and cannot be
granted to any other roles.
IQ Bot View IQ Bot related information.

API Allows a user to generate an API key that is to be


used for authenticating the user when making
an authentication API call. The permission is not
available by default and has to be assigned to a
user defined role separately.

Table-level actions

Do the following tasks:

Create user with checked items Adds user and assigns the selected roles.
Delete checked items Deletes the selected roles. A role cannot be
deleted if there are users assigned to it.
Refresh Refreshes the table and reflects the latest data.
Customize columns Select the columns to show or hide in the table.
Related concepts
Bot permissions for a role
Related tasks
Create a role

© 2020 Automation Anywhere. All rights reserved.     487


    Automation Anywhere - Manage

You can define a role and assign permissions to access various features of the Enterprise Control Room.

Create a role
You can define a role and assign permissions to access various features of the Enterprise Control Room.
Only an admin or Enterprise Control Room user with the Manage role permission can assign roles to
users and provide them with access to various features and operations.
Follow these steps to create a role:
1. Go to Administration > Roles.
2. Click Create role.
3. Enter a Role name and optionally Role description.
4. Select a new role permissions:
Default permissions:
a) View dashboards
b) View my in progress activity
c) Manage my credentials and lockers
d) View and manage my Bot runners, Bot creators and device pool
e) View and manage my queues

Activity Allows users to manage in progress bot activities.


Event Triggers Allows users to manage event trigger options.
Bots Allows users to manage bots options.
Package Manager Allows users to manage packages.
Devices Allows users to manage device options.
Workload Allows users to manage queues.
Audit Log Allows users to manage audit log actions.
Administration Allows users to access administrative
permissions.
API Allows users to access API options.
IQ Bot Allows users to view IQ Bot options.
5. Click Next.
6. In the Users tab, assign your role to existing users.
Users shown as disabled cannot be selected if they have been deactivated by an Admin user. Also,
your own user is reflected as disabled in the users' list and cannot be removed.

Tip: You can select multiple users for your role in the Users tab. This allows more than one user to
be assigned the same role at a time, which reduces the effort unlike the Users landing page.

7. After you complete selecting users for your role, click Create role.

Related reference
Roles

© 2020 Automation Anywhere. All rights reserved.     488


    Automation Anywhere - Manage

Administrators configure roles for permission to perform actions such as create a bot, edit, or delete it for
various features and operations in Enterprise Control Room.

Settings
Configure the connection to the Credential Vault and enable email notifications.

IQ Bot

View the website address where IQ Bot is currently installed, if applicable. Click Edit to update the IQ Bot
URL.

Credentials

Manage the Connection mode to connect to the Credential Vault using a Master key.
View and edit the Connection mode details in Settings > Credentials. Roll the mouse over the Edit icon
to make changes.

Express Mode Auto connect to the Credential Vault with the


master key that is stored in the system during
Enterprise Control Room configuration.
Manual Mode Manually connect to the Credential Vault using
the master key that was available during Enterprise
Control Room configuration.

Note: Provide this key every time you start or restart the Enterprise Control Room.

Email

All users have to confirm email accounts by clicking on the confirmation link that they receive, set the
password, and security questions before user can login to the Automation Anywhere Enterprise Control
Room. By default, email notifications are disabled. Mouse over the Edit icon to make changes.

User Authentication

Configure the Control Room to authenticate users via the database option or switch to a SAML identity
provider (IDP).
Related tasks
Set up SAML authentication
Switch an authenticated environment Enterprise Control Room database to a SAML identity provider
(IDP).
Edit email notifications

© 2020 Automation Anywhere. All rights reserved.     489


    Automation Anywhere - Manage

Specify details about the email server you want to use and the events when the email notification must
be sent.

Set up SAML authentication


Switch an authenticated environment Enterprise Control Room database to a SAML identity provider
(IDP).
Sign in to the Enterprise Control Room as an Admin user. The SAML IDP side setup must be validated
before configuring the Enterprise Control Room.
To set up the Enterprise Control Room as a service provider in the SAML IDP, follow these steps:
1. Set the ACS or service provider URL to <Enterprise Control Room URL>/v1/
authentication/saml/assertion.
2. Create an Entity ID, that is, any name that identifies the Enterprise Control Room on the SAML IDP.
3. Map the following Enterprise Control Room attributes to the corresponding IDP attributes:
• UserID
• FirstName
• LastName
• EmailAddress

4. Get the service provider metadata, generated as an XML file, from the SAML IDP for the Enterprise
Control Room.
This is required for setup within the Enterprise Control Room.

Note: You have to add the values from Steps 2 and 4 in the Enterprise Control Room to complete
the setup.

To switch the Enterprise Control Room to a SAML authenticated environment, follow these steps:
1. Navigate to Administration > Settings.
2. Access User Authentication > Edit.
3. Select the Use SAML option to enter the SAML information.

Note: The Use Control Room database option is selected by default.

4. In the SAML metadata field, enter the data from the SAML IDP.
5. In the Unique Entity ID for Control Room (Service Provider) field, enter the Entity ID.
6. In the Encrypt SAML Assertions field, select one of the following options:
• Do not encrypt: the SAML assertions are not encrypted.
• Encrypt: the SAML assertions are encrypted.

7. Optional: Enter the Public key and Private key values.

Note: Enter keys if you require encrypted SAML assertions.

8. Click Validate SAML Settings.


You have to validate your SAML settings before you can save your changes.
When you click this option, you will be redirected to a SAML service provider web page where
you will be prompted to enter credentials and other data. After validation is complete, you will be
redirected back to this configuration page.

© 2020 Automation Anywhere. All rights reserved.     490


    Automation Anywhere - Manage

9. Log in to the page and perform these steps:


a) Navigate to the Metadata Manager and add the new service provider.
b) Enter Enterprise Control Room metadata in the required field.
c) Enter the Entity ID for the Enterprise Control Room service provider.
d) Select the option to retrieve the user's information such as username, first name, last name,
email.
e) Save the new service provider.

10. Click Save changes.


After you have successfully saved your settings, you will be logged out of the Automation Anywhere
Enterprise Control Room.
11. Log back in to the system with your new credentials.

Configure Credential Vault Connection mode


Credential Vault is a centralized location for securely storing credential information used by bots.
Configure the Connection mode to connect to the Credential Vault using a Master key.

Note: Provide this key every time you start or restart the Enterprise Control Room.

To configure settings for Credential Vault, select Express or Manual mode.

Express mode Auto connect to the Credential Vault with the


master key that is stored in the system during
Enterprise Control Room configuration.
Manual mode Use this to manually connect to the Credential
Vault using the master key that was available during
Enterprise Control Room configuration.

When switching modes, provide the Master Key in the field and click Save for the changes to take effect.

Tip: Restart the server machine (on which the Enterprise Control Room is installed) or services to allow
changes to take effect.

All updates to the Credential VaultConnection mode are captured in the Audit Log.
Related tasks
Set up locker and assign credentials
The locker is used to group related sensitive information and can be shared with other users.
Related reference
Credential Vault email notifications
When the email notification setting is enabled, it ensures that users are notified of any changes to
credentials and lockers.

Edit email notifications


Specify details about the email server you want to use and the events when the email notification must
be sent.
To configure Email settings, perform these steps:
1. Click ADMINISTRATION > Settings.

© 2020 Automation Anywhere. All rights reserved.     491


    Automation Anywhere - Manage

2. Expand the Email tab and click Edit.


3. Select Send email notifications.
By default, the email notifications are disabled.
4. Specify the details of the server that you want to use to send email notifications:
• From this email address: Enter the email address that you want to use to send email notifications.
• Email server host: Specify the email server that you want to use to send email notifications.
• Email server port: Specify the email port that you want to use to send email notifications.
• Select the My server uses a secure connection (SSL/TLS) option if the server uses a secured
connection.
• Select the My server requires authentication option if the server requires credentials for access.
Specify the Username and Password you want to use to access the server.

Important: The options to specify or modify the email server details are available only for the On-
Premises deployment.

5. Select any or all of the following option to specify the events when an email notification must be
sent:
• User initiates Forgot Password process from Login screen
• User information changes, to the user
• A user is activated, deactivated or deleted, to the user
• A Task Bot stops running because it is unsuccessful, to the user who started or scheduled it
• A BLM package is exported or imported, to the user who performed BLM export or import

6. Click Save changes.

Licenses
The All Licenses page displays detailed information about current product and device licenses.

Product licenses

The Automation Anywhere Enterprise Control Room is the web-based application at the center of the
Digital Workforce providing enterprise-wide management and control. The Enterprise Control Room
ensures reliable, scalable, and secure bot deployment and execution. From this central vantage point,
operators can receive tasks from the Bot Creator and push to the Bot Runners for execution with simple
mouse clicks. The Automation Anywhere Enterprise Control Room monitors and audits all scheduled and
running bots, in real time.
The Automation Anywhere Enterprise Control Room provides an automated mechanism for tracking and
controlling the use of licensed software across Bot Creators and Bot Runners, addressing NIST Change
Management CM-10.

Device licenses

Bot Creator The Bot Creator license provides the capability to


create, schedule, trigger, and edit bots.

© 2020 Automation Anywhere. All rights reserved.     492


    Automation Anywhere - Manage

Bot Runner The Bot Runner license provides authorization to


execute bots, independently and asynchronously.

Unattended Bot Runner Users with this license


- Run-time license can perform all
automation tasks that
Attended users can
perform. Additionally,
this license can also be
used for Automation
Anywhere Enterprise
Control Room
deployment, centralized
scheduling, and API-
based deployment.
Attended Bot Runner - Users with privilege
Run-time license to run bots on their
workstations. These
users can also make
use of local schedules
and triggers for time-
based or event-based
automation.
IQ Bot A2019 IQ Bot automates
business processes that
rely on semi-structured
or unstructured data.
IQ Bot licenses are
purchased based on
the number of pages of
processing required.

Bot Insight Bot Insight provides real-time, RPA native analytics


for both business insights and operational
intelligence. Bot Insight Analytics license is
purchased on a per user basis.

Entitlement models

Two licensing models are available for Automation Anywhere Enterprise Version A2019:

File-based entitlements When Version A2019 operates in a file-based


entitlement mode:
• A license file is configured, generated, and
installed for each Control Room.
• The Control Room administrator can then issue
these licenses to specific user accounts.
• Each user consumes a license within a Control
Room. If the same user is created in multiple
Control Rooms, they will use up a license
entitlement in each Automation Anywhere
Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     493


    Automation Anywhere - Manage

• File-based entitlements only supports a floating


user license model.

Cloud-based entitlements Available and accessed from a cloud-based license


repository. Information exchanged between
the Control Room and the license server meet
GDPR compliance requirements. If you cannot
allow access to an external service, such as the
License Service, because of network or security
constraints, contact Automation Anywhere
support.

RBAC on License Management

Access to License Management is deny-all and allow by exception based on roles and domains as
defined in RBAC. Only those users who have access to License Management permission can view the
entitlement details from the Automation Anywhere Enterprise Control Room.

Baseline inventory controls: Bot Creators, Bot Runners, and Bots

The Automation Anywhere Enterprise Control Room manages all automation operations. Inventory
controls are maintained through the application of RBAC to establish a single point of control for Base
Line Configurations (NIST CM-2), access restrictions for configuration management (NIST CM-5 and 6).
Automated baseline reporting can be configured.
Related tasks
Create user
Add a new user by assigning a role and device license.
Create credential
Create a credential and add the required attributes.
Create a role
You can define a role and assign permissions to access various features of the Enterprise Control Room.

Installing licenses
Upload a new license into the Automation Anywhere Enterprise Control Room.
Administrative privileges are required to make changes to the license.
Be logged into the Automation Anywhere Enterprise Control Room as the administrator.
1. Navigate to Administration > License.
2. Mouse over and click Install license.
3. Browse to and select the license.
4. Click Install license.

Related reference
Users management
As a Cloud user with administrator permissions, you can create, view, edit, delete, enable or disable a
user. Creating users steps vary depending if the user is a non-Active Directory, Active Directory, or an
Single Sign On user from an IdP server.
Roles

© 2020 Automation Anywhere. All rights reserved.     494


    Automation Anywhere - Manage

Administrators configure roles for permission to perform actions such as create a bot, edit, or delete it for
various features and operations in Enterprise Control Room.
Settings
Configure the connection to the Credential Vault and enable email notifications.

Enterprise Control Room Fail-Safe status


When the Enterprise Control Room is unable to connect to the license server, it moves into Fail-Safe
status.
With respect to the Enterprise Control Room license server database, the Enterprise Control Room can
be in one of three status states. These states indicate what user licensing actions can be done. With each
state change, an entry is made in the audit log.

Active Normal operations. All API calls from the Enterprise


Control Room are accepted by the license server.
Users can be assigned floating licenses as they log
on. Floating licenses can be released as users log
off.
Fail-Safe Only the heartbeat API call is allowed to the license
server. All other calls from the Enterprise Control
Room are stopped.
Operations, such as granting logging in users a
license, or deleting a license assigned to a logged
in user are restricted.
Fail-Safe-Expired The Enterprise Control Room stops all operations,
all users are logged out of the Enterprise Control
Room.

Fail-Safe mode actions

When the Enterprise Control Room loses connection with the licensing server and moves into Fail-Safe
mode:
• The Enterprise Control Room administrator is sent an email notification, saying the Enterprise Control
Room is in Fail-Safe mode. The administrator can take remedial action to re-establish the connection.
• Currently logged in users continue to have access and can do tasks.
• User licenses cannot be allocated to or de-allocated from users.

Fail-Safe-Expired mode actions

When the Fail-Safe time limit expires, the Enterprise Control Room moves into Fail-Safe-Expired state:
• All connected users are shut down.
• The Enterprise Control Room reports Shutdown status to the license server.
• The Enterprise Control Room shuts down.

© 2020 Automation Anywhere. All rights reserved.     495


    Automation Anywhere - Manage

Active mode actions

When the Enterprise Control Room is restarted and operational, and connectivity to the license server
established, the Enterprise Control Room is in Active state:
• Users who had assigned licenses prior to the Fail-Safe, have their original licenses re-allocated.
• New users can request and be allocated licenses.

Enterprise Control Room APIs


The Automation Anywhere Enterprise Control Room provides various public APIs which allow you to
customize your business automation for third-party applications.
These reference topics provide information that you can use with different APIs.

Filters in an API request body Filtering provides basic conditional queries and
page control for processing web pages. There
are 3 basic features related to filtering: filtering
conditions, sorting columns, and pagination
parameters.
Features to roles mapping Create roles from the Enterprise Control Room
Administration user interface or through the User
Management API.

These APIs enable the third-party applications to consume RPA, orchestrate bots, and manage the RPA
data based on events.

Audit API
Requests audit data for a given input combination of date filter, sorting mechanism, and pagination.

JSON Web Token (JWT) All Enterprise Control Room APIs require a JSON
Web Token (JWT) to access the APIs. Generate
an authentication token using the Authentication
API. A JWT is required to run all Enterprise Control
Room APIs.
Roles and license Users with the AAE_Admin role or users with the
View everyone's audit log actions permission are
able to view audit logs for the Enterprise Control
Room.

You can view the Audit API in the Community Edition.

Note: APIs can be viewed in the Community Edition, but API functionality is limited. You need a licensed
Enterprise A2019 Edition to access the full functionality of the APIs.

• URL: http://<your_control_room_url>/v1/messages/list
• Method: POST

Note:

© 2020 Automation Anywhere. All rights reserved.     496


    Automation Anywhere - Manage

• Use the Swagger definition files installed with your Enterprise Control Room to test the APIs. View the
available Swagger APIs at http://<your_control_room_url>/swagger/
• You can also use a REST client to complete this task.

1. Add an authentication token to the request header.

Note: Use the Authentication API to generate a JSON Web Token.

2. Select POST as the method.

Note: Apply filters to perform basic conditional queries and pagination control for processing web
pages. There are three basic features related to filtering: filtering conditions, sorting columns, and
pagination parameters. Refer to the Filters in an API request body.
The following example requests unsuccessful login attempts for the month of December.

Request body:

{
"sort": [
{
"field": "createdOn",
"direction": "desc"
}
],
"filter": {
"operator": "and",
"operands": [
{
"operator": "gt",
"field": "createdOn",
"value": "2019-12-01T00:00:00.001Z"
},
{
"operator": "lt",
"field": "createdOn",
"value": "2019-12-31T23:59:59.999Z"
},
{
"operator": "eq",
"field": "status",
"value": "Unsuccessful"
},
{
"operator": "substring",
"field": "activityType",
"value": "LOGIN"
},
{
"operator": "substring",
"field": "userName",
"value": "[email protected]"
}
]
},
"fields": [],
"page": {
"length": "1000",
"offset": "0"
}

© 2020 Automation Anywhere. All rights reserved.     497


    Automation Anywhere - Manage

3. Send the request.


• In Swagger, click Execute.
• In a REST Client, click SEND.

The response for this example returned data for date filter, sorting, and pagination. When there is
no filtering used in the request, a successful response returns all pages for the specified Enterprise
Control Room.
Response body:

{
"page": {
"offset": 0,
"total": 731064850,
"totalFilter": 9
},
"list": [
{
"id": "XlHj6G4BFXSpOOji5B7S",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T04:21:19Z",
"requestId": "04965c2e-82e0-4ce4-a88d-bebe1dc3a2a8",
"createdBy": "0"
},
{
"id": "g1Hj6G4BFXSpOOji2Rwx",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T04:21:16Z",
"requestId": "61672553-477d-4012-ab47-2a27f6553c4e",
"createdBy": "0"
},
{
"id": "31Hj6G4BFXSpOOjivRdV",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T04:21:09Z",
"requestId": "cad26f91-8f13-4509-8a30-48c0e7462339",

© 2020 Automation Anywhere. All rights reserved.     498


    Automation Anywhere - Manage

"createdBy": "0"
},
{
"id": "2jyk6G4BFXSpOOji5MAg",
"eventDescription": "User provided incorrect password.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:12:30Z",
"requestId": "b20083fb-a6d5-43ac-af50-944e4aea6fd9",
"createdBy": "0"
},
{
"id": "Wjyk6G4BFXSpOOjiu6z9",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:12:20Z",
"requestId": "a936ac6a-4962-40fd-92b5-2f03c2df66c4",
"createdBy": "0"
},
{
"id": "ezyk6G4BFXSpOOjilaFv",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:12:10Z",
"requestId": "6f520201-6a6a-4d24-8fbc-82ea5e5a6fea",
"createdBy": "0"
},
{
"id": "JDyk6G4BFXSpOOjihZ-C",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:12:06Z",
"requestId": "61bb3ef8-2a06-4fab-adaf-172a78ca99a5",
"createdBy": "0"
},
{
"id": "7jyk6G4BFXSpOOjieJnK",

© 2020 Automation Anywhere. All rights reserved.     499


    Automation Anywhere - Manage

"eventDescription": "User does not exist in Control Room.",


"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:12:03Z",
"requestId": "04d5b586-cc5b-4d3b-a78b-aaf364c1ceb4",
"createdBy": "0"
},
{
"id": "ETyk6G4BFXSpOOjiaJjt",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "12.xxx.xx.x",
"userName": "[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-09T03:11:58Z",
"requestId": "ebeb01de-1f81-4a7c-8978-405806e146bd",
"createdBy": "0"
}
]
}

Response headers:

cache-control: no-cache, no-store, max-age=0, must-revalidate


content-encoding: gzip
content-length: 739
content-type: application/json
date: Mon, 09 Dec 2019 18:41:36 GMT
expires: 0
pragma: no-cache
status: 200
vary: Accept-Encoding, User-Agent
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block

Note: You can also run REST requests from a command terminal. The following is a curl request
example. This example is formatted for readability.

curl -X POST "https://product.supremomono.com/v1/audit/messages/


list" -H "accept: application/json" -H "X-Authorization:
eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiI1MiIsImNsaWVudFR5cGUiOiJXRUIiLCJsaWNlbnNlcyI6WyJERVZFTE
q2Y6HQT2rrQCoifnsQ9qrvoSBl-WUM1LXXc2Jw31r18i4J3yM1lYwSNJ5-EvfS0pVf-
tiDpdfHBWm9gGfaJzStKRx_TcGHaCN5_iCj3ZZbKGDGUqfEv7v4bkk_xwJCWJ2TnyY8gacKKtS3fBZb354OFJLoz
e9Y3yus9aM6qIsGSrg9vwsu3b7wN7b44b-
rpNmfWiwqN5N4_UWVLvTblyNh8DOAd5B4uimFkPho3p1vY0so14TpfC59ztpkQS8lnqZbBWw" -H
"Content-Type: application/json" -d "{ \"sort\": [ { \"field\": \"createdOn
\", \"direction\": \"desc\" } ], \"filter\": { \"operator\": \"and\",
\"operands\": [ { \"operator\": \"gt\", \"field\": \"createdOn\", \"value
\": \"2019-12-01T00:00:00.001Z\" }, { \"operator\": \"lt\", \"field\":

© 2020 Automation Anywhere. All rights reserved.     500


    Automation Anywhere - Manage

\"createdOn\", \"value\": \"2019-12-31T23:59:59.999Z\" }, { \"operator\":


\"eq\", \"field\": \"status\", \"value\": \"Unsuccessful\" }, { \"operator
\": \"substring\", \"field\": \"activityType\", \"value\": \"LOGIN\" },
{ \"operator\": \"substring\", \"field\": \"userName\", \"value\":
\"nafis.keshwani\" } ] }, \"fields\": [], \"page\": { \"length\": \"1000\",
\"offset\": \"0\" }}"

Related concepts
Example for createdOndate and userName filters for Audit API
Create a filter that finds audit log entries for a specified date range for user with a specific string in their
userName.

Example for createdOndate and userName filters for Audit API


Create a filter that finds audit log entries for a specified date range for user with a specific string in their
userName.

Request body

Finding the audit log entries you need is a formidable task. Use filtering to help narrow your results.
The following example request identifies unsuccessful logins for users with the string "john,doe" in their
userName from December 1, 2019 to December 7, 2019.
Example:

{
"sort": [
{
"field": "createdOn",
"direction": "desc"
}
],
"filter": {
"operator": "and",
"operands": [
{
"operator": "gt",
"field": "createdOn",
"value": "2019-12-01T00:00:00.001Z"
},
{
"operator": "lt",
"field": "createdOn",
"value": "2019-12-31T23:59:59.999Z"
},
{
"operator": "eq",
"field": "status",
"value": "Unsuccessful"
},
{
"operator": "substring",
"field": "activityType",
"value": "LOGIN"
},
{
"operator": "substring",

© 2020 Automation Anywhere. All rights reserved.     501


    Automation Anywhere - Manage

"field": "userName",
"value": "john,doe"
}
]
},
"fields": [],
"page": {
"length": "1000",
"offset": "0"
}
}

Response body

This request identified 3 audit log entries out of 731,148,339 entries from this Enterprise Control Room's
log entries.

{
"page": {
"offset": 0,
"total": 731148339,
"totalFilter": 3
},
"list": [
{
"id": "kLjB8G4BFXSpOOjiomK1",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "50.xxx.xxx.xx",
"userName": "john,[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-10T17:00:52Z",
"requestId": "3c0f8e47-5820-43e8-b2b3-83b2f1cb86c9",
"createdBy": "0"
},
{
"id": "SLjB8G4BFXSpOOjikl5i",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "50.xxx.xxx.xx",
"userName": "john,[email protected]",
"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-10T17:00:48Z",
"requestId": "eba3e5a7-0034-440a-a786-110a84fea7c9",
"createdBy": "0"
},
{
"id": "7bjB8G4BFXSpOOjicEGO",
"eventDescription": "User does not exist in Control Room.",
"activityType": "LOGIN",
"environmentName": "",
"hostName": "50.xxx.xxx.xx",
"userName": "john,doe",

© 2020 Automation Anywhere. All rights reserved.     502


    Automation Anywhere - Manage

"status": "Unsuccessful",
"source": "Control Room",
"objectName": "N/A",
"detail": "",
"createdOn": "2019-12-10T17:00:39Z",
"requestId": "64184450-aad5-4024-bcf5-491fb5276d0c",
"createdBy": "0"
}
]
}

Related concepts
Filters in an API request body
Filtering provides basic conditional queries and page control for processing web pages. There are 3 basic
features related to filtering: filtering conditions, sorting columns, and pagination parameters.
Related tasks
Audit API
Requests audit data for a given input combination of date filter, sorting mechanism, and pagination.

Authentication API overview


Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.
The JWT is a text string with 703 characters.

{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW5hb
tl1CBg_cDGbwj5FvaBt9u5xKu5W5j3Nur6x3PF62NeB3ZIdxiUPaFBU0Br84mPJMD4_EpwBfbeSVOMH6ngiLtJYh
oV-U1Iw0JHiX2-Ug", . . .
}

auth

POST http://<your_control_room_url>/v1/ Body parameters:


authentication
{
"username": "string",
"password": "string",
"apiKey": "string"
}

Make a post request to generate a JWT.


• The username of the Automation Anywhere
user.
• The password of the Automation Anywhere
user.
• The apiKey is required to configure Single
Sign On (SSO). It can also be used in place of a
password for users that are assigned to the API
key generation role.

© 2020 Automation Anywhere. All rights reserved.     503


    Automation Anywhere - Manage

• A JWT is required in the header of other


Enterprise Control Room APIs.
• Authentication tokens have a default timeout of
20 minutes.

Not all parameters are required to generate an


authentication token. Go to the examples listed
here for detailed information.
• Authenticate with username and password
• Authenticate with username and apiKey

Note:
Simple and Protected Negotiation GSSAPI
Mechanism (SPNEGO)
You can use SPNEGO, pronounced "spenay-go,"
when your Enterprise Control Room is configured
properly with the following authentication features:
• Active Directory (AD) mode of authentication
• AD is Kerberos enabled

In an Enterprise Control Room with SPNEGO


properly configured, users do not need to enter a
username and password to generate a JWT.
SPNEGO Authentication API URL
example:https://<your_control_room_url/
v1/authentication/SPNEGO

GET http://<your_control_room_url>/v1/ URL parameter:


authentication/token/{token}
The token you are validating.

Note: The token is passed as a parameter in the


URL. There are no parameters for the request
body.

Read Validate an authentication token for task


details.

POST http://<your_control_room_url>/v1/ Body parameter:


authentication/token
A refresh token allows you to get a new token
without the need to collect and authenticate
credentials every time a token expires.

{
"token": "string"
}

Click Refresh an authentication token for a detailed


example of this API.

POST http://<your_control_room_url>/v1/ Header parameter:


authentication/logout

© 2020 Automation Anywhere. All rights reserved.     504


    Automation Anywhere - Manage

Immediately expires the token that you add to the


header of the request.

POST 'http://
<your_control_room_url>/v1/
authentication/logout'
-H 'X-Authorization: <access_token>

Click Immediately logout (expire) an authentication


token for a detailed example of this API.

POST http://<your_control_room_url>/v1/ The .../atuhentticataion/app/login API


authentication/app/login is a service to service authentication API used
by Automation Anywhere internally supported
applications. This API is not supported for use by
external users.

Authenticate with username and password


Make a POST request with a username and password to generate a JSON Web Token (JWT) to use for
authentication in Enterprise Control Room APIs.
• Valid username and password for your Enterprise Control Room
• REST client or access to Automation Anywhere Swagger for your Enterprise Control Room.

Note: Passwords are 8-15 characters and contain the characters: a-z, A-Z, 0-9, at sign (@), dash (-),
underscore (_), exclamation (!), pound (#), dollar ($), percent (%), ampersand (&), and period (.).

• URL: http://<your_control_room_url>/v1/authentication
• Method: POST

1. Enter the following parameters in the request body.


Request body:

{
"username": "jdoe",
"password": "mypassword@123"
}

Depending on how your Enterprise Control Room is configured, a domain could be require with the
username.

{
"username": "your-domain\\jdoe",
"password": "mypassword@123"
}

© 2020 Automation Anywhere. All rights reserved.     505


    Automation Anywhere - Manage

2. Send the request.


• In a REST Client, click SEND.
• In the Swagger interface, click Execute.

Response body:

Note: The JWT is a 703 character string.

{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW
tl1CBg_cDGbwj5FvaBt9u5xKu5W5j3Nur6x3PF62NeB3ZIdxiUPaFBU0Br84mPJMD4_EpwBfbeSVOMH6ngiLt
oV-U1Iw0JHiX2-Ug",
"user": {
"id": 9,
"email": "[email protected]",
"username": "jdoe",
"domain": null,
"firstName": "",
"lastName": "",
"version": 9,
"principalId": 9,
"deleted": false,
"roles": [
{
"name": "API_Key_Generation",
"id": 23,
"version": 0
},
{
"name": "AAE_Basic",
"id": 2,
"version": 0
},
{
"name": "Docrole1",
"id": 18,
"version": 0
},
{
"name": "AAE_Meta Bot Designer",
"id": 13,
"version": 0
}
],
"sysAssignedRoles": [],
"groupNames": [],
"permissions": [

. . .

],
"licenseFeatures": [
"RUNTIME"
],
"emailVerified": true,
"passwordSet": true,
"questionsSet": true,
"enableAutoLogin": false,
"disabled": false,
"clientRegistered": false,

© 2020 Automation Anywhere. All rights reserved.     506


    Automation Anywhere - Manage

"description": "",
"createdBy": 1,
"createdOn": "2019-10-10T13:39:56-05:00",
"updatedBy": 1,
"updatedOn": "2019-10-13T02:09:38-05:00",
"publicKey": null,
"appType": null,
"routingName": null,
"appUrl": null
}
}

Related concepts
Authentication API overview
Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.

Authenticate with username and apiKey


Make a POST request with a username and API to generate a JSON Web Token (JWT) to use to
authenticate in Enterprise Control Room APIs.
• A user with the Generate API-Key role

Note: The Generate API-Key feature requires the creation of a custom role, see Create and assign API
key generation role.
• Generate API-Key
• Valid username and apiKey for your Enterprise Control Room
• REST client or access to Automation Anywhere Swagger files for your Enterprise Control Room.

• URL: http://<your_control_room_url>/v1/authentication
• Method: POST

Using a Generate API-Key enables users to create tokens without the need to gather user credentials.
1. Enter the following parameters in the request body.
Request body:

Note: The API-Key is a 40 character string.

{
"username": "jdoe",
"apiKey": "3/.Z)8:P`+yVJq . . . *fTk.i>|VOOl&:"
}

Depending on how your Enterprise Control Room is configured, a domain could be require with the
username.

{
"username": "your-domain\\jdoe",
"apiKey": "3/.Z)8:P`+yVJq . . . *fTk.i>|VOOl&:"

© 2020 Automation Anywhere. All rights reserved.     507


    Automation Anywhere - Manage

Note: The API-Key Duration API-Key Duration can be configured by an Admin user from the
ADMINISTRATION > Settings > General tab.

2. Send the request.


• In a REST Client, click SEND.
• In the Swagger interface, click .

Response body:

Note:

Note: The JWT is a 703 character string.

{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW
tl1CBg_cDGbwj5FvaBt9u5xKu5W5j3Nur6x3PF62NeB3ZIdxiUPaFBU0Br84mPJMD4_EpwBfbeSVOMH6ngiLt
oV-U1Iw0JHiX2-Ug",
"user": {
"id": 9,
"email": "[email protected]",
"username": "jdoe",
"domain": null,
"firstName": "",
"lastName": "",
"version": 9,
"principalId": 9,
"deleted": false,
"roles": [
{
"name": "API_Key_Generation",
"id": 23,
"version": 0
},
{
"name": "AAE_Basic",
"id": 2,
"version": 0
},
{
"name": "Docrole1",
"id": 18,
"version": 0
},
{
"name": "AAE_Meta Bot Designer",
"id": 13,
"version": 0
}
],
"sysAssignedRoles": [],
"groupNames": [],
"permissions": [

. . .

],

© 2020 Automation Anywhere. All rights reserved.     508


    Automation Anywhere - Manage

"licenseFeatures": [
"RUNTIME"
],
"emailVerified": true,
"passwordSet": true,
"questionsSet": true,
"enableAutoLogin": false,
"disabled": false,
"clientRegistered": false,
"description": "",
"createdBy": 1,
"createdOn": "2019-10-10T13:39:56-05:00",
"updatedBy": 1,
"updatedOn": "2019-10-13T02:09:38-05:00",
"publicKey": null,
"appType": null,
"routingName": null,
"appUrl": null
}
}

Related concepts
Authentication API overview
Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.
Related tasks
Authenticate with username and password
Make a POST request with a username and password to generate a JSON Web Token (JWT) to use for
authentication in Enterprise Control Room APIs.

Refresh an authentication token


Refresh valid authenticatoin tokens without the need to collect user credentials.
• The token you are refreshing.
• REST client or access to Automation Anywhere Swagger files for your Enterprise Control Room.

• URL: http://<your_control_room_url>/v1/authentication/token
• Method: POST

1. Enter the following parameters in the request body.


Request body:

{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW
iCO-vs--8b_pLG9XSUR0186uvXFopB75eVAaG-1l_AZhR78UE6Voi7_UggzHkLRrEpQ-
szR7cmFDpLxZ28xLnFJYhaIuMNdw9dWDVquBWTQSpYGNJd56D-
tFFHBodwVdNamqWHxaQebq1zMyUyQV6Q-gKdgubpT5gwuXnp-
BwScjHOYM3Fpj_nt0nEbJC5uWpJNtLQBpVzhsRwwlRKNOHQVbo6X7zkvKBoij8ewa5FWQwX7T-760BeqfssR6
X5PcyCkrVJju2XqItQ9XMGNP7h_MaUDotU_CJyguPZA"
}

© 2020 Automation Anywhere. All rights reserved.     509


    Automation Anywhere - Manage

2. Send the request.


• In a REST Client, click SEND.
• In the Swagger interface, click Execute.

Response body: A new token with an updated experation time.

{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW
GQ3T8fndjw",
"user": {
"id": 1,
"email": "[email protected]",
"username": "admin",
"domain": null,
"firstName": "",
"lastName": "",
"version": 1,
"principalId": 1,
"deleted": false,
"roles": [
{
"name": "AAE_Admin",
"id": 1,
"version": 0
}
],
. . .
],
"licenseFeatures": [],
"emailVerified": true,
"passwordSet": true,
"questionsSet": true,
"enableAutoLogin": false,
"disabled": false,
"clientRegistered": false,
"description": "",
"createdBy": 0,
"createdOn": "2019-09-25T16:03:05-05:00",
"updatedBy": 0,
"updatedOn": "2019-09-25T16:03:05-05:00",
"publicKey": null,
"appType": null,
"routingName": null,
"appUrl": null
}
}

Related concepts
Authentication API overview
Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.

Validate an authentication token


Send a REST request to verify if a token is valid.
• The token you are validating.

© 2020 Automation Anywhere. All rights reserved.     510


    Automation Anywhere - Manage

• REST client or access to Automation Anywhere Swagger files for your Enterprise Control Room.

• URL: http://<your_control_room_url>/v1/authentication/token
• Method: GET

1. Enter the following parameters to the request URL.


http://<your_control_room_url>/v1/authentication/token?token=<token>
2. Send the request.
• In a REST Client, click SEND.
• In the Swagger interface, click Execute.

Response body:
The token is valid.

{
"valid": true
}

The token is invalid.

{
"valid": false
}

Related concepts
Authentication API overview
Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.

Create and assign API key generation role


API key generation is available in Enterprise Control Room v11.3.2 and later. By default this parameter is
not enabled for any of the System-created roles. An administrator is able to create a custom role for API
key generation and assign that custom role to users.
This task describes how an administrator can create and assign a custom role for API key generation.
1. Log in as an administrator to the Enterprise Control Room.
2. Go to Administration > Roles.
3. Click Create role . . ..
4. Scroll to the API section.
5. Select Generate API-Key.
6. Type a unique name in the Role name field.
7. Click Create role.
8. Go to Administration > Users, and assign the custom role you just created to non-admin users.
9. Log in as the user you assigned the Generate API-Key role to.
10. Under the user name, click Generate API-Key, and copy the API-Key to your clipboard.

Use the API-Key to log into an Enterprise Control Rooms using SSO, or use the API-Key to log in a user
without the user's password.

© 2020 Automation Anywhere. All rights reserved.     511


    Automation Anywhere - Manage

Related concepts
Authentication API overview
Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.
Related tasks
Authenticate with username and apiKey
Make a POST request with a username and API to generate a JSON Web Token (JWT) to use to
authenticate in Enterprise Control Room APIs.

Immediately logout (expire) an authentication token


Immediately invalidate an access token so that it cannot be used for authentication.
• The URL for the Enterprise Control Room in which the token was generated
• The token to expire

1. Enter the following parameters to the request URL.


http://<your_control_room_url>/v1/authentication/logout
2. In a header for this request, enter the token that is to be expired.

Note: There are no body parameters in this request.

3. Send the request.


• In a REST Client, click SEND.
• In the Swagger interface, click Execute.

Response header:

Note: A 204 response code indicates that the request was successful and that there is no additional
content to be sent to the response body.

Status Code: 204 No Content


cache-control: no-cache, no-store, max-age=0, must-revalidate
content-security-policy: default-src 'self'
content-type: application/json
date: Thu, 31 Oct 2019 08:37:35 GMT
expires: 0
pragma: no-cache
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block

Related concepts
Authentication API overview

© 2020 Automation Anywhere. All rights reserved.     512


    Automation Anywhere - Manage

Use the Authentication API to generate, refresh, and manage JSON Web Tokens (JWT) that are
required for authorization in all Enterprise Control Room APIs. Access this API from https://
<your_control_room>/swagger/ui/?url=/swagger/api/v1/auth-api-supported.yaml.

Filters in an API request body


Filtering provides basic conditional queries and page control for processing web pages. There are 3 basic
features related to filtering: filtering conditions, sorting columns, and pagination parameters.
Here is an example of the JSON filtering structure using all 3 of the basic features.

{
"filter": {
"operator": "NONE",
"operands": [
null
],
"field": "string",
"value": "string"
},
"sort": [
{
"field": "string",
"direction": "asc"
}
],
"page": {
"offset": 0,
"length": 0
}
}

Filter Filtering can be a simple conditional evaluation of a


single field, for example:

createdOn > 2019-01-0108:00:00:000Z

The field "createdOn" and its value are operands.


The greater than sign is the operator. This example
would find all rows in a table that were created
after January 1, 2019 after 8:00 AM.

"filter": {
"operator": ">",
"operands": [

],
"field": "createdOn",
"value":
"2019-01-0108:00:00:000Z"
}

Operator • Type: String


• Enum: NONE, lt,
le, eq, ne, ge, gt,
substring, and, or,
not

© 2020 Automation Anywhere. All rights reserved.     513


    Automation Anywhere - Manage

Operands • Field
• Type: String
• Value: The field
name to filter on.

• Value
• Type: String
• Value: An
appropriate value
for the field you
are filtering on.
Fields are specific
to the API and the
fields in the table.

PageRequest
"page":{
"offset":0,
"length":0
}

Pagination rules parameters


• Offset:
Type: integer
The numeric value that indicates how many
rows into a table that the filter starts evaluating.
• Length
Type: integer
The number of lines that are returned in a single
page of results.

Sort
"sort":[
{
"field":"string",
"direction":"asc"
}
]

• Field
Type: string
The name of the field to use for sorting.

© 2020 Automation Anywhere. All rights reserved.     514


    Automation Anywhere - Manage

• Direction
• asc = ascending (smallest to largest, 0 to 9,
A to Z)
• desc = descending (largest to smallest, 9 to
0, Z to A)

SortItem When used, the


sortItem is embedded in
the sort feature.

{
field string
Enum:[

createdOn
]
direction
string
Enum:[
desc,
asc
]
}

• Field
Type: Enum
[ createOn ]
• Direction
Type: Enum [ desc,
asc ]

Features to roles mapping


Create roles from the Enterprise Control Room Administration user interface or through the User
Management API.
Roles are a logical container for permissions and have interdependencies with bots, users, and licenses.

Dashboards All users have permission to view dashboards


Activity Monitor, pause, stop, and resume ongoing
automation activities.
See Activity for details about viewing and managing
bot activity.
Event Triggers Add triggers to your bots to run TaskBots
automatically in response to an event, such as a
new window opening or when a specific file is
created. See Triggers for details about the trigger
types, allowed actions, and guidelines for using
triggers.
Bots Create, record, run, and edit automated processes
or bots. See Working with bots.

© 2020 Automation Anywhere. All rights reserved.     515


    Automation Anywhere - Manage

Credentials and lockers Sensitive information, such as user credentials,


account numbers, and social security numbers that
are included in automation tasks, are encrypted
and stored as credentials centrally in the Credential
Vault.
MetaBot This permission is used to ensure that all legacy
MetaBot logic and functions continue to work in
the cloud.
Devices The device is an Automation Anywhere Enterprise
client machine through which a user connects
to the Enterprise Control Room to create or run
bots. Manage devices that are registered to the
Enterprise Control Room through the My devices
page located under the DEVICES tab.
Workload Divide your automations into small, logical Work
Items from the Workload page. Process the
Work Items simultaneously to ensure that your
automation goals are achieved with optimum
resource utilization. See Workload management.
Workload management
Bot Store The world's leading marketplace for bots and
Digital Workers. Go to the Bot Store.
Audit log View logs and details of specific activities. See
Audit Log for more details.
Administration Enterprise Control Room administrators manage
settings related to the database, Credential Vault, ,
users, roles, action packages, licensing, and
more.See Administration for more details.
API The Automation Anywhere Enterprise Control
Room provides various public APIs which allow
you to customize your business automation for
third-party applications. See Enterprise Control
Room APIs for more details.
IQ Bot IQ Bot provides cognitive (intelligent) automation
that can learn further from humans to uncover
and transform important, but less structured
data to automate business processes quickly and
efficiently, simultaneously reducing human error.

Dashboards

View dashboards Permission/feature: There is no ID for this feature


because it is default for all users.
By default, all users have permission to view
dashboards.

© 2020 Automation Anywhere. All rights reserved.     516


    Automation Anywhere - Manage

Activity

View my in progress activity Permission/feature ID: 58


All users can view their own activity.

Manage my in progress Permission/feature: 51


activity
All users can pause,
resume or cancel their
own activity and move
their finished activities
to history.

View everyone's in progress activity from my Permission/feature: 36


folders
The user can monitor those ongoing automations
where the user has either run or schedule access
on the respective TaskBot.

Manage everyone's in Permission/feature: 52


progress activity
The user can monitor
and manage (pause,
resume, cancel) those
ongoing automations
where the user
has either run or
schedule access
on the respective
TaskBot. Users can
also move the finished
automations to history.

View my scheduled bots Permission/feature ID: 28


Users can see their scheduled bots regardless of
which user scheduled the bot.

Schedule my bots to Permission/feature ID:


run 10
This requires the ability
to view and manage
Bot runners.

Edit my scheduled Permission/feature ID: 5


activity
Users can edit their
scheduled bots, even if
the bots are scheduled
by a different user.

Delete my scheduled Permission/feature ID:


activity 11
Users can delete
schedules for any of
their bots regardless of

© 2020 Automation Anywhere. All rights reserved.     517


    Automation Anywhere - Manage

which users scheduled


the bot.

View and manage ALL Permission/feature ID:


scheduled activity from 53
my folders Users can view, edit,
and delete all the
schedules on the bot
Folders that the user
has access to. This
includes the schedules
that the user created or
schedules created by
other users.
View and manage ALL Permission/feature ID: 6
scheduled activity Users can view, edit,
and delete all the
schedules in the
system. This includes
the schedules that
the user created or
schedules created by
other users.

Event Triggers

View event triggers Permission/feature ID: 907


Users can only view event triggers.

Manage event triggers Permission/feature ID:


908
Users can manage
event triggers.

See Triggers.

Bots

View my bots Permission/feature ID: 29


Users can view the bots they create.

Run my bots Permission/feature ID: 7


Users can run their own
bots.
Export bots Permission/feature ID:
31
A user can export
bots and related
bot dependencies.
Exporting bots requires
the user to have

© 2020 Automation Anywhere. All rights reserved.     518


    Automation Anywhere - Manage

download permission
for the bot and its
dependencies.
Import bots Permission/feature ID:
32
A user can import
bots and their related
dependencies.
Importing a bot requires
a user to have upload
permissions for the bot
and its dependencies.
Create folders Permission/feature ID:
54
Users can create
subfolders inside folders
to which they already
have access.
Rename folders Permission/feature ID:
55
Users can rename
subfolders to which
they already have
access.

Note: Only empty


folders can be
renamed.

Credentials and lockers

Manage my credentials and lockers Permission/feature ID: 59


By default, all users can view and manage their
credentials. Other users can give permissions to
interact with other lockers.

Manage my locker Permission/feature ID:


26
Users can create and
manage their own
lockers.
Administer ALL lockers Permission/feature ID:
Not available
This permission
is currently not
implemented.
Create standard Permission/feature ID:
attributes for a 61
credential

© 2020 Automation Anywhere. All rights reserved.     519


    Automation Anywhere - Manage

Users can create


standard, shared
attributes for a
credential, in addition to
user-provided attributes.
View and edit ALL Permission/feature ID:
credentials attributes 64
value The user can view
and update attribute
values of user-provided
credentials that belong
to other users through
an API.
Bots auto-login Permission/feature ID:
credentials API 46
The user can set the
Auto-Login credentials
of other users through
an API.

MetaBot

Access to MetaBot Designer Permission/feature ID: Not available


Bot Creator users can access MetaBot Designer to
view, create, and update MetaBots.

Note: This feature is used for internal features and


is not user assignable.

Package Manager

View packages Permission ID: 92


Users can view packages.

Manage Packages Permission ID: 93


Users can view and
manage packages.

Devices

Register device Permission/feature ID: 94


Users can register a localhost device.
View and manage ALL device(s) Permission/feature ID: 96
Users can view and manage all registered devices.
Delete the device(s) Permission/feature ID: 240

© 2020 Automation Anywhere. All rights reserved.     520


    Automation Anywhere - Manage

Users can delete devices they have registered.


View and manage my Bot runners, Bot creators Create device pools Permission/feature ID:
and device pools 40
Users can create and
manage their own
device pools.
Administer ALL device Permission/feature ID:
pools Not available
This permission is not
yet enabled.

View and manage BotFarm Permission/feature ID: Not available


This permission is not yet enabled.

Workload

View and manage my queues Permission/feature ID: 43


Users can create and manage their own queues.

Create queue Permission/feature ID:


41
Allow the user to create
and manage their own
queues.
Administer ALL queues Permission/feature ID:
67
Allows the user to
manage all queues in
the the system. Only
available to users with
the AAE_Pool Admin
role.
SLA Calculator Permission/feature ID:
42
Users can calculate
workload service level
agreements (SLA).

Bot Store

View Bot Store Permission/feature ID: 1163


Users can upload a bot package or from the Bot
Store to the Digital Worker Enterprise Control
Room private workspace.

Add bots from the Bot Permission/feature ID:


Store to My Bots 1164

© 2020 Automation Anywhere. All rights reserved.     521


    Automation Anywhere - Manage

Users can add the


bot package or Digital
Worker from the Bot
Store to their Enterprise
Control Roomprivate
workspace.

Submit bots to Bot Store Permission/feature ID: 1165


The user can submit a bot package or Digital
Worker to the Bot Store.

Audit log

View everyone's audit log actions Permission/feature ID: 14


Users can view all audit log activity for the
Enterprise Control Room.

Administration

View users Permission/feature ID: 1


Users can only view all other users in the system.

Create users Permission/feature ID: 3


Users can create new
users in the Enterprise
Control Room.
Edit users Permission/feature ID: 4
Users can edit all users
in the system.
Delete users Permission/feature ID: 2
Users can delete any
user in the Enterprise
Control Room.

View roles Permission/feature ID: 62

Manage roles Permission/feature ID:


12

View migration Permission/feature ID: 1166


Users can run new migrations.

Manage migration Permission/feature ID:


56
Users can run new
migrations.

Update migration status Permission/feature ID: 1167


Bot Runner Run-as user can update the bot
conversion status in the Enterprise Control Room.

© 2020 Automation Anywhere. All rights reserved.     522


    Automation Anywhere - Manage

View Licenses Permission/feature ID: 20


Users can view the license details for the Enterprise
Control Room.

Manage user's device Permission/feature ID:


licenses 48
Users can assign device
licenses to users.
Install licenses Permission/feature ID:
49
Users can install
Automation Anywhere
Enterprise licenses from
the Enterprise Control
Room.

API

Bot Insight Data API Permission/feature ID: 47


Allows access to Bot Insight RESTful APIs to the
data logged by the Enterprise Control Room and
by a task during production runs.
Generate API-Key Permission/feature ID: 91
Users can generate an apiKey that can be used
in the Authentication API. See Authenticate with
username and apiKey.

IQ Bot

View IQ Bot Permission/feature ID: 69


Users can view the default dashboards in the IQ
Bot portal.

View learning instances Permission/feature ID:


from the same role 79
Users can view learning
instances created by
other users with the
same role in the IQ Bot
portal.
View ALL learning Permission/feature ID:
instances 80
Users can view all
learning instances in the
IQ Bot portal.
Launch validator Permission/feature ID:
72

© 2020 Automation Anywhere. All rights reserved.     523


    Automation Anywhere - Manage

Create learning Permission/feature ID:


instances 73
Users can access IQ Bot
Validator to review and
update documents with
exceptions.
Edit learning instances Permission/feature ID:
75
Users can create
learning instances in the
IQ Bot portal.
Delete learning Permission/feature ID:
instances 75
Users can edit their
learning instances in the
IQ Bot portal.
Send Learning instances Permission/feature ID:
to production 77
Users can send their
learning instances to
production in the IQ
Bot portal.
Train learning instance Permission/feature ID:
groups 78
Users can train their
learning instance
groups in the IQ Bot
portal.

View domains Permission/feature ID: 71


Users can view all domains in the IQ Bot portal.

Create domains Permission/feature ID:


81
Users can create
domains in the IQ Bot
portal.
Import domains Permission/feature ID:
84
Users can import
domains in the IQ Bot
portal.
Export domains Permission/feature ID:
85
Users can export
domains in the IQ Bot
portal.

View Administration Permission/feature ID: 72

© 2020 Automation Anywhere. All rights reserved.     524


    Automation Anywhere - Manage

Users can access the Administration tab in the IQ


Bot portal.

View and manage Permission/feature ID:


settings 86
Users can manage
advanced configuration
settings of the IQ Bot
portal.
View and manage Permission/feature ID:
migration 87
Users can access the
migration utility to
export and import
learning instances in the
IQ Bot portal.

© 2020 Automation Anywhere. All rights reserved.     525


    Automation Anywhere - Analyze

Analyze
Bot Insight is an Automation Anywhere Enterprise analytics platform that provides real-time, interactive,
and smart insights about business processes and operational intelligence. It leverages the large amount
of content-level and productivity data that the deployed bots generate, touch, interact with, and
process. It translates the data captured by the deployed bots into insights through auto-generated and
customizable dashboards. Bot Insight is available with out-of-the-box dashboards that you can start using
instantly. These dashboards provide analyses to measure the performance of your digital workforce and
predict and solve preventable business problems.

Learn more about these topics:

Bot Insight overview


This section outlines a process you can follow to access Bot Insight, build bots enabled for analytics,
access generated dashboards, and use widgets to drill down information for analyses.

Step 1: Create and edit bots The workbench provides tools, packages, and
actions to create bots to automate processes.

Step 2: Instrument the bot for analytics Business analytics provides information about the
transactional analytics for the data that is logged
by the variables that are tagged in a task. The
information provided can be about the total sales
in a month, invoicing and payment trends, insight
about new customers, and quote to order ratio.

Step 3: Access Bot Insight Access Bot Insight to perform the business
analytics.

Step 4: Customise dashboards and widgets Dashboards represent the RPA infrastructure in
the form of meaningful visuals and charts, so that
you can analyze, interpret, and take action on the
updates that are important to you. The dashboards
display dynamically updated information of active
users, registered clients, failed tasks, apps, bots,
bot schedules, workflows, queues, and the overall
status of devices.

Step 5: Publish a business analytics dashboard Publish a dashboard to display the production data
generated by the task. The analytics consumers
who primarily analyze and interpret data can
access the published dashboard.

Related concepts
Dashboards overview

© 2020 Automation Anywhere. All rights reserved.     526


    Automation Anywhere - Analyze

The Bot Insight dashboard provides exclusive graphical insight so that you can make informed decisions
for your bots.
Related tasks
Run your first bot
Run a bot from the same device that you used to create the bot.
Related reference
My bots
Analyze package
Use the Analyze package to launch or end the transaction analytics of an application or file.

Accessing Bot Insight


This section provides information about how to access Bot Insight.

Access Bot Insight from Enterprise Control Room

To use Bot Insight, the Enterprise Control Room must have the Bot Insight license applied, and you must
be logged in as a user with one of the following roles:
1. AAE_Bot Insight Expert
2. AAE_Bot Insight Consumer
3. AA_Bot Insight Admin

In the Enterprise Control Room, select Dashboard, and locate the Insights tab. In the Insights tab, click
Explore Bot Insights. The Bot Insight window appears.
Alternatively, you can access Bot Insight from the Workbench. See Accessing Bot Insight from the
Workbench .

Accessing Bot Insight from the Workbench


The Workbench provides all the tools required for building, customizing, and enhancing automated
processes using drag-and-drop operations.
To access Bot Insight from the Workbench, do the following:
1. From the Bots menu, click My Bots.
The My Bots window appears.
2. Click PUBLIC to view the public bots that can be viewed, run, and checked out by other people,
based on the permissions set by the administrator.
3. Click PRIVATE to view your bots and files.

Note: Private bots and files cannot be viewed by other users. If a bot or file is checked out from the
PUBLIC tab, it can be viewed and run by other users. However, the bots and files cannot be edited by
other users.

4. Select your bot from the Files and Folders menu.


Alternatively, enter the search parameters in the Search Name field and search for your bot.

© 2020 Automation Anywhere. All rights reserved.     527


    Automation Anywhere - Analyze

5. Open the bot and click Analyze.


The Bot Insight window appears.

Using Bot Insight


Use Automation Anywhere Bot Insight to track bot data for analytics.
Automation Anywhere bots are built, run, and monitored in the Enterprise Control Room. Bot Insight
accesses real-time business insights and digital workforce performance data to leverage content-level
productivity data from the bots that are deployed.
Log in to Automation Anywhere Enterprise Control Room as an AAE_Bot Insight Expert or
AAE_Bot Insight Consumer to interactively analyze bot data and enhance bot widgets.
In the Enterprise Control Room, select the Bot Insight tab, to do the following tasks:
• Interactively analyze the bot data in the dashboards.
• Refine and enhance widgets in the Bot Insight dashboards before they are published for wider
consumption and deployed to production.

Roles
Automation Anywhere Enterprise Control Room restricts Bot Insight access to users with certain roles.
Access to the dashboard depends on the user roles assigned to a user and the access permission
granted to those user roles. See Role-Based Access Control.
Apart from the Bot Creators, users with the following user roles have access to Business Analytics
dashboards:
• Bot Insight Admin
• Bot Insight Expert
• Bot Insight Consumer

Bot Insight Admin

Use this role to perform the following operations in Bot Insight:


• View the Data Profile of the task data for which the dashboard report is generated.
• Analyze and save the system-generated dashboards.
• Analyze, save, publish, and delete the user-generated dashboards.
• Bookmark, compare, and share the dashboards.

Bot Insight Expert

Use this role to perform the following operations in Bot Insight:


• Analyze the data in the dashboards that are deployed in the production environment.
• Save the system-generated dashboards.
• Analyze, save, publish, and delete the user-generated dashboards.
• Bookmark, compare, and share the dashboards.

© 2020 Automation Anywhere. All rights reserved.     528


    Automation Anywhere - Analyze

Bot Insight Consumer

Use this role to perform the following operations in Bot Insight:


• Analyze the data in the dashboards that are deployed in the production environment.
• Bookmark, compare, and share the dashboards.

Role-Based Access Control


Role-based Access Control (RBAC) enables an Enterprise Control Room administrator to restrict access
to the various components of Bot Insight.
The Enterprise Control Room administrator can grant access to various user roles based on your
requirements. When adding a user, you assign appropriate roles to that user. A user will have access to
the components and folders based on the roles assigned to them.

Role-based access control for business analytics

Dashboards for business analytics are available for the tasks that are enabled for analytics. The Enterprise
Control Room administrator and users who have access to a task can view the dashboards for those
tasks. You can access the dashboard for a task from the Insight tab in the DASHBOARD section of the
Enterprise Control Room and from the ANALYZE tab in the Workbench.
To view the Bot Insight dashboards, you must be granted access to the folder containing the
corresponding tasks.
For example, you have created various tasks related to sales and accounting and stored them in the Sales
and Accounts folder. If you want to grant access to the sales-related tasks to members of your sales
department, you need to provide them access to the Sales folder. The same applies to grant access to
the accounts-related tasks in the Accounts folder.
The following table illustrates the access the various members of the Sales and Accounts team will have:

Sales_Dep Accounts_Team
John Mark Dave Smith Micheal
Access to Yes Yes Yes No No
the Sales
folder
Sales1 Yes Yes Yes No No
Sales2 Yes Yes Yes No No
Access No No No Yes Yes
to the
Accounts
folder
Accounts1 No No No Yes Yes
Accounts2 No No No Yes Yes
Accounts3 No No No Yes Yes

© 2020 Automation Anywhere. All rights reserved.     529


    Automation Anywhere - Analyze

Business analytics
Business analytics provide information about the transactional analytics for the data that is logged by the
variable tagged in a task. The information provided can be about the total sales in a month, invoicing and
payment trends, insight about new customers, or quote to order ratio.
When you tag variables for analytics in a task, and run the task, Bot Insight generates the analytics
dashboard . By default, the generated dashboard has the same name as that of the task. You can
customize the system generated dashboards based on your requirement.
System-generated dashboards are the dashboards that the system automatically generates for the tasks
that are enabled for analytics. The system-generated dashboards are available in the Configure tab in the
Bot Insight window.
Customized dashboards are the system-generated dashboards that you have customized based on your
needs. The customized dashboards can be published, and are available in the Analyze tab in the Bot
Insight window.

Configuring a task for business analytics


To configure a business analytics automation task, enable analytics (using the Analyze: Open and
Analyze: Close actions) and tag the variables that are of interest for data analysis.
To configure a task for business analytics in an existing bot:
1. Log in to the Enterprise Control Room.

Note: Ensure that you have the Bot Creator license assigned to you.

2. In the My Bots pane, select the folder that contains the task for which you want to enable analytics.
The Actions palette appears in the left-hand side. See Actions palette content for bot creation.
3. Build a bot.
For more information about building and editing a bot, see Get started building bots.
4. Insert the Analyze: Open action at the beginning of the transaction.
5. Insert the Analyze: Close action at the end of the transaction.
The Analyze: Close menu lists all the variables in the transaction. Select the variables that are tagged
in the transaction to process business analytics.

Note: This feature enables you to deselect variables that could raise potential privacy concerns,
such as social security numbers or bank account details.

6. Click Apply.
Click Reset to reset the variable selection.
7. Click Save.

© 2020 Automation Anywhere. All rights reserved.     530


    Automation Anywhere - Analyze

8. Click Run.
The Bot Run Successfully message appears.

9. Click Analyze.
The Bot Insight window appears.
10. Select a bot from the Select a Dashboard drop-down list.
Click on the arrow to view the list of bots.

Dashboards overview
The Bot Insight dashboard provides exclusive graphical insight so that you can make informed decisions
for your bots.
Dashboards represent the RPA infrastructure in the form of meaningful visuals and charts so that you can
analyze, interpret, and take action on the updates that are important to you. You can use dynamically
updated information about active users, failed tasks, apps, bots, bot schedules, workflows, queues, and
the overall status of devices to create custom dashboards and widgets.
The primary purpose of dashboards is to help take corrective actions to fix any errors. The dashboard
provides a brief overview of all the default widgets available for each bot.
When you create and run a bot, Bot Insight automatically creates a default dashboard. If you have a
parent bot and a child bot, Bot Insight creates a separate dashboard for each of the bots.
When you deploy and run a bot on the Bot Runner machine, Bot Insight aggregates all the information
related to that bot. The published dashboard for that bot displays the aggregated botbot information.
The My dashboards menu displays the following dashboards:
• Operations dashboard
• Business dashboard

Note: You must have either the AAE_Bot Insight Admin or the AAE_Bot Insight Consumer role
assigned to you to view the published dashboard.

© 2020 Automation Anywhere. All rights reserved.     531


    Automation Anywhere - Analyze

Viewing the Bot Insight dashboard


You can view information about your bots on the Bot Insight dashboard from the Enterprise Control
Room.
1. Log in to the Enterprise Control Room with one of the following roles:
• AAE_Bot Insight Admin
• AAE_Bot Insight Expert
• AAE_Bot Insight Consumer

2. Click Explore Bot Insight from the Insights tab.


The Bot Insight dashboard appears in a new window.

Bot Insight dashboards


The Bot Insight dashboards provide customizable widgets that you can use to gain insights for specific
scenarios.
Business analytics provide information about the transactional analytics for data that is logged by the
variable tagged in a task. The information provided can be about total sales in a month, invoicing and
payment trends, insight about new customers, or quote-to-order ratio. You can select the dashboard of
your choice from the Select a Dashboard drop-down menu to view the analytics.
When you tag variables for analytics in a task, and run the task, Bot Insight generates the analytics
dashboard . By default, the system-generated dashboard has the same name as that of the task. You can
customize the system-generated dashboards based on your requirement.
Bot Insight provides the following dashboards:
• Configure
The system-generated dashboards are available in the Configure tab in the Bot Insight window. You
can customize the dashboards based on the requirement.
• Analyze
The customized dashboards can be published and are available in the Analyze tab in the Bot Insight
window.
• Operation
The Operation dashboard provides information about bots that are created, deployed, or scheduled to
run across different Bot Runner machines. You can use the information to enhance productivity and
take measures based on real-time information for RPA deployments.

Related concepts
Operations dashboard

© 2020 Automation Anywhere. All rights reserved.     532


    Automation Anywhere - Analyze

The Bot Insight Operations dashboard provides information about bots that are deployed on different
Bot Runner machines, and the bot statistics based on the performance. You can use this information to
enhance productivity and take measures based on real-time information for RPA deployments.

Operations dashboard
The Bot Insight Operations dashboard provides information about bots that are deployed on different
Bot Runner machines, and the bot statistics based on the performance. You can use this information to
enhance productivity and take measures based on real-time information for RPA deployments.
The Operations dashboard provides visual insight into the various operational aspects of the bots. The
Operations dashboard displays hyperlinks to the Bots Dashboard and the Audit Dashboard. The Bots
Dashboard and the Audit Dashboard appear as Default dashboards. Bot Insight automatically creates the
Default dashboard, based on the variables that are used in the specific bot. Use the Save As function to
save Default dashboard as Custom dashboard. You can add widgets from the Visualizations menu to
custom dashboards. See Widgets overview.
• Bots dashboard
View information about bots that are created, deployed, running, and scheduled across various Bot
Runner machines. The dashboard displays the following bot information:
• Total Bot Runs: Displays the number of bots run.
• Total Completed (Success): Displays the number of bots that have run successfully.
• Total In Progress: Displays the number of bots that are in progress.
• Total Failed: Displays the number of bots that have failed to deploy or run.
• Weekly Bot Status: Displays the weekly status of bots that are scheduled to run. Hover over the
widget to view the number of bots that have run successfully, failed to deploy, and failed to run. It
also displays the percentage-wise weekly bot statistics.
• Failure Reasons: Displays information on why a particular bot has failed. The Error Message field
displays a snapshot of the original error message and extensive details on why the bot failed. You
can use the Export function to export the error messages and logs into a csv file, which you can
later use to troubleshoot.

• Audit dashboard
The audit dashboard displays various widgets that provide information about the Enterprise Control
Room events. A user with View everyone's audit log actions permission can view a snapshot of audit
information captured in the Enterprise Control Room. See Roles.
The Audit dashboard displays the following information:
• Event Distribution by Activity Type
• Event Distribution by User Name
• Event Distribution by Source
• Event Distribution by Control Room Source
• Event Distribution by Workbench Source

You can perform the following actions in the Operations dashboard:


• Enter the name of the dashboard in the Search text box to directly access a particular dashboard.
• Click the FAVORITE tab to bookmark your dashboard.
• Double-click the FAVORITE menu to remove bookmarks.

You can view information in the following tabs:


• TOTAL VIEWS: Displays the number of users who viewed a particular dashboard.

© 2020 Automation Anywhere. All rights reserved.     533


    Automation Anywhere - Analyze

• LAST REFRESHED: Displays the time and date when a particular dashboard was last refreshed.

Click the arrow next to the Operations dashboard tabs to organize the dashboards based on your
requirement.
You can customize the widgets in the Operations dashboard. You can perform the following functions:
• Saving a dashboard
• Comparing dashboards
• Sharing a dashboard
• Deleting a dashboard
• Taking a screenshot
• Downloading a PDF file from the dashboard

Business dashboard
The Bot Insight Business dashboard provides information about the Bot Insight data and statistics based
on the performance. You can use this information to enhance productivity and take measures based on
real-time information for RPA deployments.
The Business dashboard provides visual insight into the various business aspects of the bots. You can
access the Default and Custom dashboards from the Business dashboard. Bot Insight automatically
creates the Default dashboard, based on the variables that are used in the specific bot. Use the Save As
function to save Default dashboard as Custom dashboard. You can add widgets from the Vizualizations
menu to custom dashboards. See Widgets overview.
In the Custom dashboards, Bot Insight also enables you to export data from a dashboard widget to csv
files. See Exporting data from a dashboard widget.
You can perform the following actions in the Business dashboard:
• Enter the name of the dashboard in the Search text box to directly access a particular dashboard.
• Click the FAVORITE tab to bookmark your dashboard.
• Double-click the FAVORITE menu to remove bookmarks.

You can view the information in the following tabs:


• BOT NAME: Displays the name of the bots that are associated with the respective business
dashboards.
• TOTAL VIEWS: Displays the number of users who viewed a particular dashboard.
• LAST REFRESHED: Displays the time and date on which a particular dashboard was last refreshed.
• MODIFIED BY: Displays the name of the user who has last modified the dashboard.

Click the arrow next to the Business dashboard tabs to organize the dashboards based on your
requirement.
In the DASHBOARD NAME tab, select the dashboard that you want to access to view the dashboard. You
can also enter the name of the dashboard in the Search text box to access the dashboard directly.
Click Rank in the Distinct Count row to view the rank of each variable. You can view the string data
type values that are logged by a variable for the maximum or minimum number of times. This further
enhances your ability to verify that the data is logged correctly in the bot. See Viewing ranks of string
datatype values.
The Business dashboard widgets displays the following information:
• The total number of variables
• Pie chart representing the relationship between variables in numbers and strings

© 2020 Automation Anywhere. All rights reserved.     534


    Automation Anywhere - Analyze

• Comparison between number variables and transaction status


• Bar chart representing the distribution between the number variables and string variables
• The comparison between number variable distribution and transaction status

The Profile dashboard displays information about bot variables and the transaction data. The Task Name
table displays the variable name, display name, data type, inclusion details, minimum, maximum, average,
sum, and distinct count for the date, string, and number variables. Click Preview to view the total number
of records maintained for each variable.
The Transaction Data table displays the variable name, display name, data type, inclusion details,
minimum, maximum, average, sum, and distinct count metrics for the following parameters:
• Machine Name
• Transaction Name
• Transaction Start Time
• Transaction End Time
• Total Transaction Duration (Start Time - End Time)
• Transaction Status (In Progress or Completed)

You can customize the widgets in the Business dashboard. You can perform the following functions:
• Saving a dashboard
• Comparing dashboards
• Sharing a dashboard
• Deleting a dashboard
• Taking a screenshot
• Downloading a PDF file from the dashboard

Editing a data profile


You can modify the data profile of both the Custom and Default Business dashboard without making any
changes to the bot.
You can edit the data profile and regenerate the dashboard based on the new data profile. You can edit
the display name of a variable, change its data type, and exclude it from the dashboard.
Bot Insight provides smart data profiling for information about countries, states, and zip or postal codes.
Bot Insight analyzes the information provided in the variables and automatically identifies the information
as:
• Country (country code or the full name of the country)
• State (state code or the full name of the state)
• Zip code (5-digit zip code)

You can edit the data profile to convert the above parameters from numeric format to string (country
and state) based on your requirements. You can convert the zip code to either string or numeric format,
and use the information to create widgets (world and US map widgets) in the Bot Insight dashboard.
1. Open the Bot Insight dashboard.
2. In the Configure menu, click Profile.
The Profile window appears, displaying all the variables that you have tagged during the bot creation.
3. Click EDIT.
4. Specify a new name for a variable in the Display Name field.

© 2020 Automation Anywhere. All rights reserved.     535


    Automation Anywhere - Analyze

5. Select an option from the Datatype drop-down list to specify a new data type for a variable.
You can change the datatype of a numeric variable to string, string to country, state, and zip code.

Note: Changes to the Data Type parameter cannot be reverted.

6. Clear the Inclusion check box to exclude the variable from the dashboard. Select Inclusion to
include a variable from the dashboard and configure how the initial SMART dashboard is generated.
You can view the minimum, maximum, average, sum, and last value for the numeric values, but not
for the string and timestamp variable types.
7. Click Save and Generate Dashboard to save the changes and generate the dashboard with the
updated value.

Saving a dashboard
This section provides information on how to save a dashboard.
To save a dashboard, do the following.
1. Open the dashboard.
2. From the Actions menu, select Save as.
The Save Dashboard window appears.
3. In the Dashboard Name field, enter the name for the dashboard.
4. In the Dashboard Description field, enter the description of the dashboard.
5. Click Save.

Comparing dashboards
You can compare dashboards that belong to two separate processes, or the same process with different
filters. The dashboards selected for comparison appear side-by-side, which enables you to obtain more
insights.
To compare dashboards, do the following:
1. Open the dashboard that you want to compare.
2. Click Compare on the toolbar.
The Compare dashboard tab appears. The dashboard you have opened appears in the left section of
the window.
3. In the right section of the window, search for the dashboard that you want to compare this
dashboard with.
4. Select the dashboard from the search results.
The dashboard appears in the right section. You can now compare the dashboards displayed in the
left and right sections of the window.

© 2020 Automation Anywhere. All rights reserved.     536


    Automation Anywhere - Analyze

Deleting a dashboard
You can delete a user-created dashboard using the Delete option.
To delete a customized dashboard, do the following:
1. Open the dashboard you want to delete.
2. Click Delete on the toolbar.
3. Click Okay.
When you delete a dashboard, it does not impact the data associated with that dashboard. You can
delete dashboards that are available in the Analyze and Configure tab of the Bot Insight window.
The dashboards available in the Analyze tab are the published dashboards. Therefore, if you delete a
dashboard from the Analyze tab, it will be no longer available for other users.

Customizing a dashboard
Log in to Bot Insight with the AAE_Bot Insight Expert role to customize the information displayed
in the system-generated dashboard, to make it more relevant for an analytics consumer.
To make changes in a Business Insight dashboard, create a copy of the dashboard, and then update the
copy.
After you create customized dashboards for a bot, you can make changes to the tagged variables.
You can delete and add variables, as per the requirement. By default, the standard dashboard always
displays the latest data profile. We recommend you use the system generated standard dashboard, and
then create customized dashboards from it. Data profile updates are highlighted with a red dot in the
following scenarios:
• When there are data profile updates.
• The variables that are newly added displays the message NEW.
• The variables that are deleted displays the message DELETED.

• When the customized dashboard data profile does not match with that of the standard dashboard.

Related tasks
Editing a data profile
You can modify the data profile of both the Custom and Default Business dashboard without making any
changes to the bot.

Viewing ranks of string datatype values


You can view the string datatype values that are logged by a variable for the maximum or minimum
number of times. This further enhances your ability to verify that the data is logged correctly in the bot.
To view the ranking of values stored in a string variable, do the following:
1. Open the dashboard for which you want to edit the data profile.
2. Click the Data Profile tab.

© 2020 Automation Anywhere. All rights reserved.     537


    Automation Anywhere - Analyze

3. Click Rank within the Distinct Count column.


The Distinct Count column displays the number of unique values logged by a variable.

Note: The Rank option is only available for the variables that log values of string datatype. A pop-
up message displays the top five values that are logged for the maximum number of times in the
variable.

4. You can select Bottom from the list to display the top five values that are logged for the least
number of times in the variable.
5. You can select an option from the list to display five or ten values in the pop-up.

Previewing data
You can view all the variable data associated with a task using the Preview Data option.
To view the variable data, do the following:
1. Open the dashboard for which you want to preview the data.
2. Click the Data Profile tab.
3. Click the Preview data button. A new window appears displaying all the variable data associated with
that task.

Verifying the data populated in customized dashboard


After you create a custom dashboard that contains new widgets or customized widgets from the system-
generated dashboards, you can verify the data that gets populated in the dashboard.
To verify whether data is properly populated in a customized dashboard, do the following:
1. Open the task for which you want to verify the data in Bot Insight.
2. Click Run on the toolbar.
3. Click the ANALYZE tab.
The system-generated dashboard for the task appears.
4. Click the Analyze tab in the Bot Insight window and search for the customized dashboard for which
you want to verify the data.
5. Select the dashboard from the search results.
The dashboard appears.
6. Click the Data Profile tab and verify the data for the dashboard.

Publishing a business analytics dashboard


Bot Insight allows you to publish a business analytics dashboard that has been generated for a task. You
can publish both the Custom and Default Business dashboards. Before you publish a dashboard, ensure
that the particular bot resides in the Public folder in the Enterprise Control Room.
To publish a dashboard, do the following:
1. Open the dashboard that you want to publish.
2. Customize the dashboard based on your requirements and verify the content and presentation
formats.
3. Click Publish on the toolbar.

© 2020 Automation Anywhere. All rights reserved.     538


    Automation Anywhere - Analyze

4. Specify a name for the dashboard, and then click Okay.


The dashboard is now published and available to display the production data generated by the task.
The dashboard updates the data each time a task runs in the production environment from the
Enterprise Control Room on a regular basis.
In the Enterprise Control Room, ensure that you deploy the bot in the Bot Runner device, so that the
published dashboards are populated with data.

Related tasks
Import bots
You can import a bot from one Control Room to another.
Related reference
My bots

Reviewing data in published dashboard


You can review the data available in a published dashboard.
To review the data in a published dashboard, do the following:
1. Open the Bot Insight window.
2. Search for the dashboard for which you want to view the data.
3. Select the dashboard from the search results.
The selected dashboard appears.
4. Review the data available in the dashboard.
The dashboard reflects the data processed by the task in the production environment.
5. You can export the entire dashboard in PDF or PNG format for offline consumption and review.

Sharing a dashboard
You can share the link to view a dashboard through email using the Share via email option.
To share the link of a dashboard, do the following:
1. Open the dashboard that you want to share.
2. Click Share via email on the toolbar.
The email client configured on your system appears. The email client contains a link to access the
dashboard.
3. Specify the email address of the recipients and send the email.

Downloading a PDF file from the dashboard


You can download the data available in the dashboard as a PDF file.
To download the PDF file, perform the following steps:
1. Open the Bot Insight window.
2. Search for the specific dashboard.
3. Select the dashboard from the search results.
The selected dashboard appears.
4. Review the data available in the dashboard.

© 2020 Automation Anywhere. All rights reserved.     539


    Automation Anywhere - Analyze

5. In the Actions menu, click Download PDF.


The Download PDF window appears.
6. Navigate to the location on your local disk drive.
7. Click Save.

Taking a screenshot
You can take a screenshot of the data available in the dashboard.
To take a screenshot of the dashboard, do the following:
1. Open the Bot Insight window.
2. Search for the dashboard for which you want to view the data.
3. Select the dashboard from the search results.
The selected dashboard appears.
4. Review the data available in the dashboard.
5. In the Actions menu, click Screenshot.
The Download PDF window appears.
6. Navigate to your local disk drive location.
7. Click Save.

Widgets overview
The Bot Insight dashboard provides a host of highly customizable widgets that you can use to gain
insights for specific scenarios.
When you select a particular bot, the default widgets automatically appear in the Dashboard window.
You can select the widgets, and reposition them in the dashboard. To search for specific information, use
the Smart Filter function. You can enter the search parameters in the Smart Filter field.
You can also use multiple filters to search for data the widgets should display. Enter the filters (search
parameters), separated by a comma in the Smart Filter field. You can create, move, rename, and edit the
widget properties in a dashboard, based on your requirements.
The available options are:
• Chart Filters
• Chart Style
• Metric-based filters
• Comparison Metrics

© 2020 Automation Anywhere. All rights reserved.     540


    Automation Anywhere - Analyze

Use the Date Filter to view information on when a particular bot was active. You can enter the specific
dates, or use any of the following filters:
• Today
• Yesterday
• This Week
• Last Week
• This Month
• Last Month

Adding a dashboard widget


You can add custom widgets to the Bot Insight dashboard based on your requirements.
1. Open the dashboard.
2.
Click the icon.
The Add Visualization window appears. See Bot Insight Visualizations .
3. Select the widget that you want to add in the dashboard.
The Visualization Preview window appears.
4. Click Next.
The Construct Query window appears.
5. Enter the name of the chart, and add the parameters to construct your query.
6. Click Next.
The Ready to build window appears.
7. Click FINISH.
The widget appears in the dashboard.

Bot Insight Visualizations


The Bot Insight dashboards provide customizable widgets that you can use to gain insights for specific
scenarios.
Bot Insight offers the following visualization widgets:
• KPI
The KPI widget allows you to plot charts based on the key performance indicators: bot duration and
the volume of data that is processed by a specific bot.
• Vertical Bar Chart

© 2020 Automation Anywhere. All rights reserved.     541


    Automation Anywhere - Analyze

• Horizontal Bar Chart


• Vertical Stacked Bar Chart
• Horizontal Stacked Bar Chart
• Vertical Clustered Bar Chart
• Horizontal Clustered Bar Chart
• Pie Chart
• Donut Chart
• Line Chart
• Scatter Chart
• Bubble Chart
• US Map
• World Map
• Heat Map
• Data Table Chart

The US Map widget provides the following information about the data variables and enables you to drill
down to specific information:
1. Country
2. State
3. City
4. Zip Code

The World Map widget provides information about the data variables and enables you to drill down to
specific information:
1. Country
2. State
3. Zip Code
4. Latitude
5. Longitude

The Heat Map widget enables you to visualize data as a heat map chart. You can specify the dates by
function (day, week, month, or year) to drill down to specific information. This map displays all the
possible available combinations of variable values in the X and Y axes. Blank heat map blocks appear if
there the value attached to the variable is 0. The color of the heat map block depends on the value of
the information displayed. A new window with all the relevant information appears when you hover your
mouse over a particular heat map block.
The Data Table Chart widget enables you to view and analyze information about all the logged data in
a tabular chart. You can select the attributes and metrics based on your requirement. All the available
attributes and metrics are selected by default.
Related tasks
Adding a dashboard widget

© 2020 Automation Anywhere. All rights reserved.     542


    Automation Anywhere - Analyze

You can add custom widgets to the Bot Insight dashboard based on your requirements.

Editing a dashboard widget


You can edit the dashboard widget properties based on your requirements.
You can resize and save the widgets in the Bot Insight dashboard based on your requirements. When
you resize a dashboard widget, other widgets in the dashboard are automatically adjusted to fill in the
available layout.

Note: Bot Insight allows you to resize widgets in the standard and the customized dashboards. However,
it does not allow you to save the widgets after resizing in the standard dashboard.

1. Open the dashboard widget.


2. Click the Edit button.
The Edit window appears.
The Edit menu offers the following options:
Chart Title Renames the chart
Metric Changes the units
Aggregate By Changes the aggregation method
Group By Changes the parameters based on which the
widgets are grouped together
3. Click the bottom of a widget to change the attribute of the chart displayed within the widget.
4. Click Save As to save the widget.

Drilling down information in dashboard widget


You can drill down information from a dashboard widget based on your requirement. Select the options
available in the drop-down list to view specific information in the dashboard widgets.
To use the drill down function feature in the Bot Insight dashboard widget, do the following:
1. Open the dashboard and select the widget.
2. Right-click to view the Drill Down menu.
Drill Down menu sample for a mortgage analytics processing bot :
• Gender
• Mortage Type
• Customer ID
• Company Name
• Email
• Loan Due Date
• Loan Origin Date

Note: Bot Insight dynamically generates the Drill Down menu options based on the variables you
tag when creating the bot.

© 2020 Automation Anywhere. All rights reserved.     543


    Automation Anywhere - Analyze

Renaming a dashboard widget


You can rename a dashboard widget based on your requirement. The default name of a dashboard
widget is based on the type of information that the widget displays.
To rename a widget in the Bot Insight dashboard, do the following:
1. Open the dashboard for the widget to edit.
2. Rollover and click the Edit button.
The Edit Chart window appears.
3. In the Chart Title field, enter the name of the widget.
4. Click Next.
The Ready to build! Click Finish window appears.
5. Click Finish.
The Widget Updated message appears.

Exporting data from a dashboard widget


You can export data from the Bot Insight Custom Business dashboard widgets to CSV files based on the
requirement.
1. Open the dashboard.
2. Identify the widget.
3. Click the Actions icon.
4. Click Export.
The CSV file is automatically saved in your local drive as Chart name_summary_dd_mm_yyyy.

Bot Insight APIs


An application Programming Interface (API) allows other applications to connect with Automation
Anywhere Enterprise and fetch the required data.
You need to provide the syntax of an API to call that API into a program where you want to use it. The
syntax of an API contains various end points that are used to identify the methods to be used for an API.

Prerequisites

• You must have the AAE_Bot Insight Admin or AAE_Admin role assigned to you.
• You must have the data API license

Validations

If you want to get the data for a specific period, the following validations are applied:
• The dates must be provided in the ISO 8601 date format.
• The start date of the period must be less than the end date.
• The period must not be more than 60 days.

© 2020 Automation Anywhere. All rights reserved.     544


    Automation Anywhere - Analyze

• The end date time must be less than the current date time.

Bot Insight API details


To use the Bot Insight API, you have to send an HTTP request to the domain where the API is available.
Bot Insight offers APIs to extract business data, business data profiles, and to delete business data.
The HTTP request is a Bot Insight API that is appended to the base URL of the domain. For example,
http://{DOMAIN Name}:{Port}/v1/botinsight/data/api/{method}. In this syntax, you have
to provide the domain name or its IP address, the mentioned URIs, and the Bot Insight method you want
to call.

Note: The output of the Bot Insight APIs are paginated and fetches 1000 records at a time. You must use
an offset to fetch the next set of records. Specify 0 as the offset to fetch data for the first 1000 records, 1
for the next 1000 records, and so on.

Extracting business data profile

Description Use this API to extract the business data profile


logged in Bot Insight.
Method GET
Header X-Authorization <<authentication
token>>
Request Format http://<host>:<port>/v2/botinsight/
businessinsights/dataprofile
Input Parameters botname: Specifies the bot name.
botid: Specifies the public ID of the bot.

Note: Log in as the AAE_Bot Insight Admin


user to authorize the API.

Returns Returns information about the business data


profile logged through Bot Insight.

© 2020 Automation Anywhere. All rights reserved.     545


    Automation Anywhere - Analyze

JSON Object Input ?botname=/Automation Anywhere/Bots/


testBot&botid=DEV_12
Sample Response
[
{
"variableName": "prompt-
assignment",
"internalVariableName": "prompt-
assignment_bistring",
"displayName": "Prompt-
assignment",
"attributeType": "STRING",
"sumOfValue": 0.0,
"minimumValue": "",
"maximumValue": "",
"averageOfValues": 0.0,
"totalDistinct": "0",
"totalNullRecords": "0",
"enabled": "Y",
"addedState": "SAME"
},
{
"variableName": "var1",
"internalVariableName":
"var1_binumber",
"displayName": "Var1",
"attributeType": "NUMERIC",
"sumOfValue": 0.0,
"minimumValue": "",
"maximumValue": "",
"averageOfValues": 0.0,
"totalDistinct": "0",
"totalNullRecords": "0",
"enabled": "Y",
"addedState": "SAME"
}
]

User Role You must have the AAE_Bot Insight Admin


role to access the API.

Extracting business data

Description Use this API to extract the business data logged


in Bot Insight.
Method GET
Header X-Authorization <<authentication
token>>
Request Format http://<host>:<port>/v2/botinsight/
businessinsights/data

© 2020 Automation Anywhere. All rights reserved.     546


    Automation Anywhere - Analyze

Input Parameters Ensure that the following input are in query


param.
botname: Specifies the bot name.

Note: Retrieve the public bot ID internally.

fromdate: Specifies the bot run start date.


todate: Specifies the bot run end date.
limit: Specifies the extraction limit.
pageno: Specifies the page

Note: Log in as the AAE_Bot Insight Admin


user to authorize the API.

Returns Returns information about the business data


logged through Bot Insight.

© 2020 Automation Anywhere. All rights reserved.     547


    Automation Anywhere - Analyze

JSON Object Input ?botname=/Bots/


testBot&fromdate=2019-10-17T12:53:07&todate=201
Sample Response
{
"tenantId":
"00000000-0000-0000-0000-000000000000",
"businessData": [
{
"totalRecords": 23,
"count": 23,
"pageNo": 0,
"botId": "DEV_12",
"botName": "testBot",
"repositoryPath": "Automation
Anywhere/Bots/testBot",
"list": [
{
"executionId":
"e05f4c41-00e5-4b1b-93a6-8fefe5462e51",
"transactionId": "f1c9edfa-
ccc5-4b75-9ddb-cd28d8743b77",
"dateLogged":
"2019-10-24T09:25:02.194365800Z",
"data": {},
"environment": "DEV"
},
{
"executionId":
"e05f4c41-00e5-4b1b-93a6-8fefe5462e51",
"transactionId": "5283fa69-
ff2c-4e7d-80db-4296347d4a0e",
"dateLogged":
"2019-10-24T09:25:02.235259600Z",
"data": {
"prompt-assignment_bistring": "",
"var1_binumber": "300.0"
},
"environment": "DEV"
},
{
"executionId":
"e05f4c41-00e5-4b1b-93a6-8fefe5462e51",
"transactionId":
"518cd837-303b-4fec-8fd0-
e4be80aba23b",
"dateLogged":
"2019-10-24T09:25:02.312051400Z",
"data": {
"prompt-assignment_bistring": "",
"var1_binumber": "300.0"
},
"environment": "DEV"
},
{
"executionId":
"e05f4c41-00e5-4b1b-93a6-8fefe5462e51",
"transactionId":
"8416f8aa-8a6b-4a2c-bfe1-
c25c4322fb72",
"dateLogged":
"2019-10-24T09:25:02.271160700Z",
"data": {},
"environment": "DEV"
},
{
©"executionId":
2020 Automation Anywhere. All rights reserved.     548
"e05f4c41-00e5-4b1b-93a6-8fefe5462e51",
"transactionId": "b0004c41-
    Automation Anywhere - Analyze

User Role You must have the AAE_Bot Insight Admin


role to access the API.

Deleting business data

Description Use this API to delete logged data from either


the production mode or the development
mode for a particular Enterprise Control Room
instance.
Method DELETE
Header X-Authorization <<authentication
token>>
Request Format http://<host>:<port>/v2/botinsight/
data/deletetasklogdata
Input Parameters Tenant ID: Specifies the ID of the tenant.
Node Name or Machine Name: Specifies the
node name or the machine name to delete
information from a specific node or machine.
Bot ID: Specifies the public ID of the bot.
Mode: Specifies the mode: <DEV> or <PROD>
From Date: Specifies the bot run start date.
To Date: Specifies the bot run end date.

Note: Log in as the AAE_Bot Insight Admin


user to authorize the API.

Returns Returns the number of rows deleted with the


Bot ID.
JSON Object Input

{
"botName" :
"testBot",

"repositoryPath":"Automation
Anywhere/Bots/testBot",

"environment":"DEV",

"fromDate":"2019-09-22T09:33:23",

"toDate":"2019-11-24T09:33:23"
}

© 2020 Automation Anywhere. All rights reserved.     549


    Automation Anywhere - Analyze

Sample Response {
"botName": "testBot",
"repositoryPath": "Automation Anywhere/Bots/
testBot",
"deleteCount": 0
}

User Role You must have the AAE_Bot Insight Admin


role to access the API.

© 2020 Automation Anywhere. All rights reserved.     550


    Automation Anywhere Index

Index
A Bot Creator
ports required 91
A2019 526 bot insight
accessing bot insight license 492
build and edit bots 526 Bot Insight
action 389 overview 526
action pallet using 528
workbench 526 bot runner
active 438 license 492
Active Directory Bot Runner
create ports required 91
user 483 Bot Runners
activity disaster recovery 111
historical 442 bots
in-progress 442 first 78
Activity table 439, 443 hello world 78
activity type 438 browsers 95
add-bots 462
add-device-pools 463
add-queue-owners 458
C
add-queues 463 c 244
Administration cache storage 147
overview 481 caching 147
administrator mode 149, 158 capture image 296, 297, 297, 298, 299
analytics 219, 288, 328, 329, 332, 332 Certificate 122
introduction to Bot Insight 528 certificates
Analyze 526 required 147
Analyze package changed features 7, 13, 19, 25, 32, 34
variable tagging 526 chat-bot 470
annotation client
creation 424, 425 prerequisites 82
function 424, 425 client service
validation 424, 429 disaster recovery 111
annotations 424, 425, 429 Close 199
anti-virus settings 147 cloud
asynchronous 147 install 68
asynchronous replication 108 cluster
attended bot runner Control Room on Azure 136
license 492 processes 107
auto mode 154 Cluster 120
automation cluster setup 118
priority 453 concurrent operations 164
Automation Anywhere Enterprise configuration
operating system compatibility 71, 83 AD mode 154
Azure control room 150
cluster configuration 139 DR 108
customize cluster 136 configure
Azure cluster environment 135 Azure cluster 139
connected 447
B Connection
Credential Vault 491
background process 346, 388 Control Room
backup Azure cluster configuration 139
databases 89 Azure install 135
DR 109 customize cluster 136
bot creator data center components 39
license 492 database 89
disaster recovery 111

© 2020 Automation Anywhere. All rights reserved.    551


    Automation Anywhere Index

HA and DR 105 deprecated 7, 13, 19, 25, 32, 34


ports required 91 device pool
prerequisites 82 create 450, 455
control room configuration details 452
workflow 150 edit 453
control room login 75 update 453
control room service 147 view 452
Create devices 447
role 488 disaster recovery
Create user failover steps 111
Active Directory 483 HA 108
create worksheet 247 sites 109
create-queue 458 Disaster Recovery (DR) 105
creation annotation 424, 425 disconnected 447
Credential disk space 80
edit 478 do not repeat 391
view 478 DR
Credential Vault pre-configuration requirements 108
connection 491 prepare 109
email notification 480 restore primary site 113
credentials
required 147
requirements 87
E
Credentials Edit
overview 474 credential 478
current bot 438 locker 479
current command 438 edit task 389
custom install 118 edit-work-item 469
custom installation 152, 154, 156 elasticsearch 147
custom launch cycle 152, 154, 156 Email
custom mode 116, 152, 154, 156 notifications
cvs 447 Credential Vault 480
Enterprise Control Room 69
D equal to 202
excel action 256
dashboards express launch cycle 151
customize 526 express mode 116, 151
data center extract text from image 296, 297, 297, 298, 299
Control Room 39
database
control room 89
F
disaster recovery 111 failover mode 108
server requirements 89 failover steps 111
SQL 89 file name 219, 288, 328, 329, 332, 332
database management system 80 find 256
database replication 108 first bot 78
databases first time configuration
backup 89 control room 150
recovery 89 fixed features 7, 13, 19, 25, 32, 34
delete function annotation 424, 425
scheduled 442
delete task 389
delete-work-item 469 G
dependencies 462
getting started 151, 152, 154, 156
deploy
Getting started
HA 106, 108
Enterprise Control Room 69
load balancer 90
model options 104
single-node 104 H
deployment
concurrent operations 164 HA
time to start 164 processes 107

© 2020 Automation Anywhere. All rights reserved.    552


    Automation Anywhere Index

HA high availability 106, 108 O


High Availability 120
High Availability (HA) 105 ocr 296, 297, 297, 298, 299
historical offline 447
Activity 443 Open 199
historical activity 443 operating systems
HTTPS 90 compatibility 71, 83
https 149, 158 operations
repository 164
Overview
I Administration 481
import certificate 149, 158 credentials 474
install users 481
cloud 68
on Azure cluster 135 P
installation
configuration requirements 147 password 151, 152, 154, 156, 485
prerequisites 82 password limitation 118
installation path 149, 158 pause task 390
ip addresses paused 438
required 147 paused for input 438
permissions
required 147
K ports required 91
known limitations 7, 13, 19, 25, 32, 34 postgreSQL 118
postgreSQL server 106, 108
prerequisites 82
L primary site
disaster recovery 108, 111
language settings 147
HA 106
License
properties 219, 288, 328, 329, 332, 332
overview 492
load balancer 90
Locker Q
edit 479
log on 75 queue 438
login 75 queue-consumers 459
login steps 75 queue-participants 459

M R
maintenance RAM 80
databases 89 record task 389
manage-work-item 469 recovery
manual mode 152, 156 databases 89, 89
master key 151, 152, 154, 156 recovery site 108, 111
messaging 147 region settings 147
Microsoft SQL server 106, 108 release notes 7, 7, 13, 19, 25, 32, 34
Microsoft SQL Server 80 rename task 389
Microsoft Windows Server 80 repeat 219, 288, 328, 329, 332, 332, 391
migration, migrate 205 repeat a task 391
my devices 447 repository
concurrent operations 164
requirements
N credentials 87
reset 485
.NET Framework 80
reverse proxy 147
new features 7, 13, 19, 25, 32, 34
Role
non-active directory 75
create 488
notification 219, 288, 328, 329, 332, 332
new 488
NTP settings 147
run 389
run a bot 389, 440
run bot 447

© 2020 Automation Anywhere. All rights reserved.    553


    Automation Anywhere Index

run bot now 389 stop 392


run task 389, 390 task list 389
running a task 390 TCP 90
test 390, 391
TLS 122
S triggers 409
SAP 350 tuning
SAP automation 350 parallel repository operations 164
SAP integration 350
schedule U
activity 442
change 441 unattended bot runner
schedule a bot 440 license 492
schedule a task 409 upload task 389
scheduled activity Users
delete 442 overview 481
edit 441 using excel action 256
Scheduled activity 439 using ocr action 296, 297, 297, 298, 299
secondary site using variables 398
disaster recovery 108, 111
HA 106
security 219, 288, 328, 329, 332, 332
V
security question 151, 152, 154, 156 validation annotation 424
self-signed 122, 149, 158 validation annotations 429
self-signed certificate 149, 158 variables 398
send task 391 version
send to task 389 release notes 7
sending a task 391 versions
server browsers supported 95
hardware prerequisites 82 View
server message block (SMB) file share 106, 108 credential 478
servers view log 219, 288, 328, 329, 332, 332
databases 89 view-work-item 469
Service_Credentials 123 view-work-item-result 470
setup 80 view-work-items 470
single-sign on 118
single sign-on 152, 154, 156
single-node deployment 104 W
SMB file share 106, 108
windows services 147
SMB share
Windows services
disaster recovery 111
required 147
speed 219, 288, 328, 329, 332, 332
Windows_Services 123
SQL
wizard 151, 152, 154, 156
database 89
work-item-structure 459
SQL server 106, 108
workload-maintenance 463
stop task 390
workload-queues 457
storage
databases 109
subversion 80
subversion (SVN) server 106, 108
SVN repository 80
SVN server 106, 108
synchronization
time 147
system variables 399

T
Table
Activity 439
task
abort 392

© 2020 Automation Anywhere. All rights reserved.    554

You might also like