Automation Anywhere Version A2019.10 Enterprise On-Premises
Automation Anywhere Version A2019.10 Enterprise On-Premises
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
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
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
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
New features
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
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
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
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
Fixed features
Feature Description
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
New features
Dashboards overview
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
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
Known limitations
• 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
Feature Description
Feature Description
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
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
Supported packages
Package Version
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
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
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.
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.
• 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 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.
The fixed features in this release have not changed since the previous release.
The security fixes in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
Feature Description
The changed features in this release have not changed since the previous release.
The fixed features in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
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
• Bot Insight
• IQ Bot A2019
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.
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
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
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.
• 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.
• 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.
IQ Bot On-Premises version is available for this release with no additional features or updates since the
last release.
The fixed features in this release have not changed since the previous release.
The security fixes in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
Feature Description
The changed features in this release have not changed since the previous release.
The fixed features in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
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.
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.
Supported packages
Package Version
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
Changed features
Changed features
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.
• 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.
• 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 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.
The security fixes in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
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.
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.
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.
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.
The changed features in this release have not changed since the previous release.
The fixed features in this release have not changed since the previous release.
The deprecated features in this release have not changed since the previous release.
The known limitations in this release have not changed since the previous release.
Feature Description
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
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.
Upload document action The Upload document action lets you to upload
documents for processing with IQ Bot, using a
TaskBot.
Fixed features
Security fixes
Deprecated features
Known limitations
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.
Feature Description
Package Version
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
Fixed features
Security fixes
Deprecated features
Known limitations
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
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.
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.
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
• 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.
• Least Privilege and Access Controls user access are implemented in the Enterprise Control Room
through Role Based Access Control (RBAC).
• All Users and Roles are created and managed from the Enterprise Control Room.
• 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.
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.
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) 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
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.
(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).
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 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
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.
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 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.
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.
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.
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.
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.
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.
Authorized users assign various combinations of these access permissions to different sets of users and
roles based on the business requirements.
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.
Cryptographic providers
Use only the listed supported cryptographic providers.
Enterprise client
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.
• 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.
• 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.
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
Enterprise client
993
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.
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
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.
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.
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.
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.
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.
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.
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.
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 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
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
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.
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.
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.
Create Bot Runner instance on BotFarm, release virtual machine, terminate virtual machine.
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.
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
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.
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.
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.
All the database level transactions are done with a nonsystem administrator account. The Enterprise
Control Room installer passes the SQL Server 2012 certification test.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Overview
Use the Automation Anywhere Mobile application to monitor and manage bots. The application offers
the following capabilities:
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
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.
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.
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.
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.
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.
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.
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!
5. Run your first bot. Run a bot from the same device that you used to
create the bot.
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.
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
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.
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
(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.
The user interface for Automation Anywhere Enterprise is through a browser. Login to your device then
login to Enterprise Control Room through a browser.
(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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
4. Click Save.
Your bot is now ready to run.
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.
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.
Build bots using variables, actions, and the Universal Recorder. See Get started building bots.
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.
Control Room
database.
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.
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
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.
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.
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.
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
Microsoft Azure
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
Bot agent versions support the listed operating systems on a variety of platforms:
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.
(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.
(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.
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 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.
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.
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.
Database (SQL Server) authentication Provide credentials for a Microsoft SQL Server
user who has permission to connect to the
database.
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.
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.
HTTPS and
HTTPS 443 Web browsers
Web Socket
Configure each of the data center components that are required for Enterprise Control Room
integration.
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.
80 HTTP
80 HTTP
88 TCP/UDP (Kerberos)
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.
(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:
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.
Install the listed dependency if you plan to use the listed supported option.
Install the listed dependency for the listed Enterprise client or bot option.
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
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.
Universal Recorder
is initiated.
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
Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.
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.
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
Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.
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
Install the Automation Anywhere remote agent for Citrix on the Citrix Virtual Apps server where the
virtualized applications are installed.
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
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.
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.
Pros
• Easy to setup and configure
• Only a single server required
Cons
• No disaster recovery
• No high availability
• Susceptible to hardware failures
Use Cases
• Proof of concept
• Single-user use scenarios
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.
• 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.
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.
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
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.
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.
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.
DR configuration requirements
When you configure your Disaster Recovery enabled data centers for Automation Anywhere, ensure the
listed conditions are met.
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.
• 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.
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.
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.
• Login the Enterprise client, with its associated Bot Runners, to the backup site Enterprise Control
Room.
• Verify recovery is successful.
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.
• 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.
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.
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:
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.
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.
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.
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.
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.
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\.
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.
CAUTION: After configuration, you cannot add or remove nodes from the list of IP
addresses.
Related tasks
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.
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.
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.
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.
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.
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
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.
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.
Import a CA certificate in Windows
After the Enterprise Control Room installation, import a Certificate Authority (CA) certificate using the
Windows command prompt.
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 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
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.
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
Continue with 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.
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\.
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.
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.
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.
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.
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 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.
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.
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 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.
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.
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
When you have completed the pre-installation configurations, Begin 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.
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.
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.
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.
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.
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.
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.
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
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).
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.
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.
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.
Configure IP cluster
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.
4. Add the following parameters to the boot.db.properties file that is located in the config folder,
in the Automation Anywhere installation path.
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.
AA_CRFORCEHTTPSCONFIG=" " -
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.
$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"
#$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
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.
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.
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.
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
2. Scroll through the list to find the listed service name. Note the Status.
Installed services
Automation Anywhere
AACRcaching Used for distributed cache storage.
Control Room Caching
Automation Anywhere
Allows Enterprise Control Room services to
Control Room AAmessaging
communicate asynchronously.
Messaging
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.
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.
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
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.
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.
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
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.
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.
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.
Warning: If you lose the key, you will not be able to access the Enterprise Control Room.
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.
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.
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.
Warning: If you lose the key, you will not be able to access the Enterprise Control Room.
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.
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
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.
Warning: If you lose the key, you will not be able to access the .
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.
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
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
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.
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.
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
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\
When you install the Automation Anywhere Enterprise Control Room on Linux OS, the installer creates
the following directories.
Note: Remember your database username and password in order to the update migration script
value.
Note: The bulkadmin, dbcreator, and public roles are required to run the migration script.
Note: Your license entitlement validation date is provided within the context of the Orders email and
on the A-People License configuration page.
entitlements in your order, and the Control Rooms shows the number of control rooms in your
order, and allows to configure each licenses.
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.
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.
Note: The downloaded file is now installable to your development Enterprise Control Room
environment.
3. Select Recognfigure.
4. Select Yes to confirm recognfiguration.
5. Select Edit.
6. Update your values.
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.
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.
Overview
Automation Anywhere supports up-to 1000 simultaneous bot deployments and executions.
Users 5000
Roles 2000
Audit entries 5,000,000
Lockers 100
Credentials 5000
Repository files 2500
Repository folders 1250
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.
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 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.
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
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.
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
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.
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.
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"
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.
Frequency of usage is the number of times a command is used in all the bots scanned.
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
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.
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.
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'
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.
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.
\ProgramData\AutomationAnywhere \ProgramData\AutomationAnywhere
\Server Files\Default\0\Automation
. Anywhere\Bots
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
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.
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.
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.
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
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.
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.
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
11.x A2019
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]
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.
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.
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
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
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.
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.
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.
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
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.
The following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.
11.x A2019
$Day$ $System:Day$
$Month$ $System:Month$
$Year$ $System:Year$
$Hour$ $System:Hour$
$Minute$ $System:Minute$
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.
The following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.
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
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 following table lists the variables available for migration with this release and how they map to
A2019. N/A means there are changes.
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
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.
After you successfully run your bot, progress to Build a basic bot that uses a desktop application.
Related reference
Variables panel
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.
If the bot does not input all of the numbers into the calculator, try increasing the keystrokes delay.
#!/usr/bin/python
• 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.
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
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.
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 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.
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:
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.
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.
Action Description
Action Description
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.
Action Description
Use the following conditions inside an If loop to control the flow of execution in an automation task:
Condition Description
See If package .
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.
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.
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.
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
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.
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.
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.
Action Description
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.
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.
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.
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
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.
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
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.
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.
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.
Action Description
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.
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).
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.
4. Select a driver file from the My bots folder, the local device, or a file variable.
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.
8. Click Apply.
9. Click Save to save the automation.
6. Click Apply.
7. Click Save to save the automation.
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
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.
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.
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.
Action Description
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.
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.
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.
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.
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
John 50
Betty 50
Mike 40
Jill 35
Dan 45
John 101 50
Jill 102 35
Mike 103 40
Betty 104 50
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
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
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
John 101 50
Jill 102 35
Mike 103 40
Betty 104 50
John 101 50
Jill 102 35
Mike 103 40
Betty 104 50
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.
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.
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.
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
Action Description
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.
Note: To enter multiple variables, separate them with single quotation marks. For example,
to input the variables date1 and time1, enter 'date1''time1'.
• 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.
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.
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.
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.
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'.
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:
Delay package
Use the Delay package to add a timed delay to the logic.
Action Description
Dictionary package
The Dictionary package contains actions that enable you to do various operations on dictionary-type
values.
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:
In the example, 'CustomerID', 'Location', and 'Amount' are keys and the corresponding value assigned to
each key is separated by a colon.
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.
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.
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.
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.
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.
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: Ensure that the value you have provided in the field is correct.
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.
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.
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.
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.
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.
Note: Some of the actions must be used within a Loop action. See Using Email action in loop.
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: 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.
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.
• 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.
Action Description
Save attachments Saves attachments from one email to a specified folder. Use this action
within a Loop action.
• In the Save attachments to folder field, specify the location to save the
attachments.
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.
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).
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.
• 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.
4. Click Apply.
5. Click Save.
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.
Note: The To address, Cc, and Bcc fields are not case sensitive.
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.
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.
9. Click Apply.
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.
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.
9. Click Apply.
10. Click Save.
Note: The To address, Cc, and Bcc fields are not case sensitive.
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.
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.
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.
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}$
• 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.
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.
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.
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.
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.
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.
Action Description
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.
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.
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.
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.
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.
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.
Action Description
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.
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.
Action Description
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.
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.
Action Description
Action Description
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.
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.
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.
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.
Action Description
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.
Note: If the current workbook already has a worksheet with the same name, you must rename the
worksheet being appended.
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.
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.
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.
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.
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.
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.
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.
You can use the output value to Perform an if condition based on cell
value.
Action Description
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.
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.
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.
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.
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.
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.
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.
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.
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.
Action Description
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.
The following table lists the actions that you can use with a CSV file:
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.
Note: You can use the Zip action available in the Folder package to compress a file. See Using Zip
action.
Action Description
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).
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.
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.
7. Click Apply.
8. Click Save.
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.
5. Click Apply.
6. Click Save.
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.
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.
6. Click Apply.
7. Click Save.
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.
5. Click Apply.
6. Click Save.
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.
7. Click Apply.
8. Click Save.
Folder package
The Folder package contains actions that enable you to automate folder-related operations.
Action Description
Note: If this option is not selected, the system appends the name of
the new folder with a numeric value.
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.
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.
• Modified: Enables you to copy a folder based on the date it was modified.
Note: The Start date and End date are included in the period.
7. Click Apply.
8. Click Save.
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.
Note: The Start date and End date are included in the period.
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.
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.
Note: The Start date and End date are included in the period.
6. Click Apply.
7. Click Save.
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.
• 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.
3. After you have automated the tasks related to FTP / SFTP, terminate the connection to the server
using the Disconnect action.
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.
Action Description
Note: The system encounters an error if a folder with the same name
exists in the parent folder.
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.
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.
Action Description
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.
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.
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.
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.
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 Description
Action Description
Use the following conditions in the If action to control the flow of execution in an automation task:
Condition Description
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.
Condition Description
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
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.
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.
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.
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.
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.
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.
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 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.
IQ Bot package
The IQ Bot package enables you to upload and download documents from an IQ Bot server.
Action Description
Action Description
Related tasks
Upload multiple files with IQ Bot using Loop action
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.
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.
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.
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
Action Description
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.
Action Description
Related tasks
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.
5. Optional: In the Delay between each keystroke in ms field, the delay time.
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.
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.
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:
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.
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.
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).
Note: The package supports ANSI, Unicode, and UTF8. It can save files as .csv and .txt.
Action Description
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.
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 .
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 .
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.
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 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.
While Description
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.
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.
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
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.
Important: Select this check box if the bot will run on an unattended machine.
6. Click Apply.
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.
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.
Mouse package
Use the Mouse package to simulate mouse actions.
Action Description
5. Optional: In the Delay in milliseconds field, specify the total duration of the movement in
milliseconds.
6. Click Apply.
7. Click Save.
Number package
The Number package contains actions that enable you to perform various operations on a Number
variable.
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
Action Description
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.
Action Description
Action Description
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.
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.
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.
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.
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.
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.
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.
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.
Note: To use actions from other Office 365 packages, establish a connection using the Connect
action from that package.
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
Action Description
Action Description
• 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.
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.
Note: The best practice is for a system administrator to perform the following steps.
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.
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.
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.
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.
Operations Description
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.
Action Description
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.
Action Description
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.
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.
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.
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
8. Click Apply.
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
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
• 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.
• 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
Actions Description
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.
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.
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
Actions Description
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.
Actions Description
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.
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.
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.
Action Description
Action Description
Action Description
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
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
Action Description
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
Action Description
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.
Action Description
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.
• 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.
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.
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.
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.
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.
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
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.
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.
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:
• 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.
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.
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.
Action Description
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.
Action Description
Decrypt files Decrypts encrypted files. See Using the Decrypt files action
Action Description
Encrypt files Encrypts files to enable users to send them over the internet securely.
See Using the Encrypt files action
• TwoFish256
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.
Action Description
Action Description
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.
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.
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.
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
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.
Resources
To learn more, see Training - Write inline scripts in a bot. This course introduces you to new features in
the Python Script command.
Note: You must log in with a registered A-People Community account to access the course.
#!/usr/bin/python
• 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.
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.
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.
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.
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
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.
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
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.
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.
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.
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
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 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.
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
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: During runtime, verify that the TaskBot identifies the correct window.
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.
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.
By marking the Sheet contains a header option, you enable the bot to search for the column by the
header name during run time.
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.
8. Click Save.
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.
Action Description
Action Description
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.
• Install a Scripting Tracker or a similar tool to retrieve the field path of the SAP object.
Action Description
Action Description
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.
Action Description
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 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.
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.
Action Description
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.
4. In the Export As option, select CSV or Database to specify the export option of the table cell:
Choice Steps
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.
Action Description
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.
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.
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.
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
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.
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.
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).
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,
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.
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.
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 Description
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.
Action Description
• In the Assign the output to variable list, specify the Boolean variable.
Action Description
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.
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:'.
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'.
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'.
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
field. This indicates to the system to extract the text available before the first occurrence of
specific in 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.
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.
6. In the Assign the output to variable list, specify the list variable.
7. Click Apply.
8. Click Save.
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.
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.
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
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.
Note: The Terminal Emulator supports only TN3270E and TN5250E terminal types.
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.
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.
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.
Action Description
Note: You can enter a value of 1 through 999 to specify the row and
column number where the cursor is set.
Important: If you use any other action from this package before establishing the connection, you will
encounter an error.
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
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.
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.
• 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.
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.
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.
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.
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.
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.
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.
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.
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.
VBScript package
The VBScript package contains actions that enable VBScript functions in a task.
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.
Note: The Open action must be the first action to use the VBScript in a task.
Action Description
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 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.
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.
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.
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
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.
Action Description
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.
Action Description
• 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.
Action Description
Action Description
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.
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.
Action Description
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
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.
The Universal Recorder is also used within actions to capture coordinates (Mouse > Click action) or a
local file path (Application > Open program/file action).
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.
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.
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.
4. Click Save.
Overview
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.
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.
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
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.
Send a bot
Distribute automated bots to other people and or locations.
Using the Send To option, send tasks to the following locations:
Option Action
Startup Folder Enable the bot to run each time the computer
starts.
My Documents Run bots from the My Documents folder.
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
Bot Creators with AAE_Basic permission can select specific packages to use within a bot.
Tip: For existing bots, follow these steps to update to the default package.
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.
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
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.
Keys Action
Keys Action
Up Moves cursor up
Down Moves cursor down
Left Moves cursor left
Right Moves cursor right
Keys Action
Up Moves cursor up
Down Moves cursor down
Edit mode
Keys Action
Keys Action
Debug mode
Keys Action
F5 Play/pause/restart
F6 Step next
F7 Stop
F10 Exits debug mode
Shift F9 Toggles all breakpoints
Keys Action
Node details
Keys Action
Ctrl Enter Accepts current input and saves the action or trigger
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.
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
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
Date time
Use the actions in the Datetime package to perform operations on the Date time variables.
Variable Description
Variable Description
String
Use the following variables to change how a string is displayed.
Variable Description
System settings/parameters
Use the following variables to return data from the computer that is connected to the running Bot agent:
Variable Description
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.
• 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.
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.
Complex variable types The variable types described below store multiple
values of a simple variable type.
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.
Related tasks
Create a variable
Create a variable to store values.
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.
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.
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.
Note: Once the variable is initialized, you cannot change the type.
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.
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.
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.
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.
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
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
Follow the steps below to define an object trigger event for a bot.
1. Create a new or open an existing bot.
8. Click Apply.
Select Reset to reapply the controls.
The Triggers action appears above the Start action.
9. Click Save.
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
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.
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.
• 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.
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.
Related reference
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.
Note: All the components for the Package SDK are included in a single zip file starting with the
A2019.10 release.
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.
3. Edit the settings.gradle and change the root project name to something meaningful to you.
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
Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.
. . .
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
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.
3. Annotate the class with BotCommand and CommandPkg annotations to make the class eligible to be
converted to an action.
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.
• 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.
@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
This section contains code examples and explanations about how to code some basic bot capabilities.
@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
This section contains code examples and explanations about how to code some basic bot capabilities.
@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) {
}
}
Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
• 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,
@HasNext
public boolean hasNext() {
return getFileIterator(folderPath).hasNext();
}
@Next
public Value<?> next() {
Map<String, Value> returnValueMap = new HashMap<>();
returnValueMap.put(FILE_NAME, new
StringValue(fileIterator.getFileName(fileName)));
returnValueMap.put(EXTENSION, new
StringValue(fileIterator.getExtension(fileName)));
Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
@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 {
@Execute
public static void assign(@Idx(index = "1", type = TEXT) @Pkg(label =
"Value") @NotEmpty String
value) {
}
}
Related concepts
How to examples
This section contains code examples and explanations about how to code some basic bot capabilities.
@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) {
// Do some operation
@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(
sessions.remove(sessionName);
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
Develop your own package and upload it to an Enterprise Control Room to provide custom actions for
bots.
Annotation Description
Examples:
• @BotCommand(commandType =
BotCommand.CommandType.Iterator)
• @BotCommand(commandType =
Condition)
Annotation Description
@com.automationanywhere.commandsdk.annotations
private GlobalSessionContext
globalSessionContext;
public void
setGlobalSessionContext(com.automationanywher
globalSessionContext) {
this.globalSessionContext =
globalSessionContext;
}
Annotation Description
Annotation Description
Annotation Description
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
Annotation Description
@Execute
public
Value<Double>length(@Idx(index="1",
type=TEXT)@Pkg(label="Source
string")@NotEmpty String
sourceString){}
Related concepts
Annotations
This section provides reference information about the annotations used to create Automation Anywhere
packages.
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:
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
{ {
"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
After you have setup the build files, you need to compile the demo Java code, Compile a demo JAR file
from the command line.
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.
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.
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.
4. On the Bots > Packages > Confirm package page, there are 3 options:
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
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.
. . . . . .
} }
} }
You can now upload the changed package to the Enterprise Control Room.
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.
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.
Enhancements A2019.10
Feature Description
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
Enhancements A2019.08
Feature Description
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.
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.
Manage
This collection of topics will guide you in configuring the devices and users that access Automation
Anywhere.
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:
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
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
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: 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.
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.
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.
Note: The system redeploys the bots and dependencies only if there are updates to the bots or its
dependent files.
Related tasks
Schedule a bot
You can schedule a bot to run at a specific time.
Delete a 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
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
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
Actions buttons
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.
Note: Specify search parameters for the same column using OR operator. Specify search parameters for
different columns, the system searches using AND operator.
Information displayed
Actions
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.
Actions
Note: Use the mouse to roll over the action button icons to identify specific functions.
Export checked items to CSV Export the data to a CSV file based on:
• Filters
• Selection
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
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.
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.
• 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.
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
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.
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.
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.
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
Note: You need to create device pools to view those in the list. To get started, click Create device pool.
• 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.
Tip: If no device pools are available, click the create a device pool link in the My device pool page.
Restriction: Unattended Bot Runners that are a part of other device pools are disabled for selection.
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.
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.
Tip: Click the left arrow button to remove the user from the Selected roles list.
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.
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
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.
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
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
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.
Note: You can choose to Create draft of queue and add the remaining information later.
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
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
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
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.
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.
Tip: You can also add Work Items later by editing the queue.
Edit queues
• 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
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
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.
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.
Tip: Use Search to quickly find the required queue, Bot Runner, and device pool.
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.
Related reference
Actions allowed on view queue page
Use different actions such as sorting, searching, or filtering on the table view of the queues.
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.
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
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.
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
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
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.
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:
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.
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.
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
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.
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.
Related reference
Work item status and actions
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.
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
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.
Manage packages from the Bots > Packages > View package page.
Add packages from the Bots > Packages page.
Updates to packages are available in each release of Enterprise A2019 and admins or users can choose to
update to the latest package.
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.
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.
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.
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.
My Credentials tab
With the AAE_Locker Admin permission, you can view all user credentials. Other actions available under
this tab include:
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.
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:
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:
The following describes the list of performable actions that can be done on individual entries in the table:
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
The locker is used to group related sensitive information and can be shared 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.
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.
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.
Edit a locker
Edit permissions for lockers.
To edit a locker, follow the steps mentioned below:
1. Go to Bots > Credentials
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.
Overivew
Administration
Enterprise Control Room administrators manage settings related to the database, Credential Vault, ,
users, roles, action packages, licensing, and more.
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
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:
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:
Related concepts
Licenses - an overview
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:
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_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.
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:
Table-level actions
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
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
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
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.
Note: Provide this key every time you start or restart the Enterprise Control Room.
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
Specify details about the email server you want to use and the events when the email notification must
be sent.
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.
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.
Note: Provide this key every time you start or restart the Enterprise Control Room.
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.
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
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
Entitlement models
Two licensing models are available for Automation Anywhere Enterprise Version A2019:
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.
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
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.
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.
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.
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.
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.
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:
• 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.
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"
}
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",
"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",
Response headers:
Note: You can also run REST requests from a command terminal. The following is a curl request
example. This example is formatted for readability.
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.
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",
"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",
"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.
{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW5hb
tl1CBg_cDGbwj5FvaBt9u5xKu5W5j3Nur6x3PF62NeB3ZIdxiUPaFBU0Br84mPJMD4_EpwBfbeSVOMH6ngiLtJYh
oV-U1Iw0JHiX2-Ug", . . .
}
auth
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
{
"token": "string"
}
POST 'http://
<your_control_room_url>/v1/
authentication/logout'
-H 'X-Authorization: <access_token>
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
{
"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"
}
Response body:
{
"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,
"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.
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:
{
"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&:"
Note: The API-Key Duration API-Key Duration can be configured by an Admin user from the
ADMINISTRATION > Settings > General tab.
Response body:
Note:
{
"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,
"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.
• URL: http://<your_control_room_url>/v1/authentication/token
• Method: POST
{
"token":
"eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiIxIiwiY2xpZW50VHlwZSI6IldFQiIsImxpY2Vuc2VzIjpbXSwiYW
iCO-vs--8b_pLG9XSUR0186uvXFopB75eVAaG-1l_AZhR78UE6Voi7_UggzHkLRrEpQ-
szR7cmFDpLxZ28xLnFJYhaIuMNdw9dWDVquBWTQSpYGNJd56D-
tFFHBodwVdNamqWHxaQebq1zMyUyQV6Q-gKdgubpT5gwuXnp-
BwScjHOYM3Fpj_nt0nEbJC5uWpJNtLQBpVzhsRwwlRKNOHQVbo6X7zkvKBoij8ewa5FWQwX7T-760BeqfssR6
X5PcyCkrVJju2XqItQ9XMGNP7h_MaUDotU_CJyguPZA"
}
{
"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.
• 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
Response body:
The token is valid.
{
"valid": true
}
{
"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.
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.
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.
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.
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.
{
"filter": {
"operator": "NONE",
"operands": [
null
],
"field": "string",
"value": "string"
},
"sort": [
{
"field": "string",
"direction": "asc"
}
],
"page": {
"offset": 0,
"length": 0
}
}
"filter": {
"operator": ">",
"operands": [
],
"field": "createdOn",
"value":
"2019-01-0108:00:00:000Z"
}
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
}
Sort
"sort":[
{
"field":"string",
"direction":"asc"
}
]
• Field
Type: string
The name of the field to use for sorting.
• Direction
• asc = ascending (smallest to largest, 0 to 9,
A to Z)
• desc = descending (largest to smallest, 9 to
0, Z to A)
{
field string
Enum:[
createdOn
]
direction
string
Enum:[
desc,
asc
]
}
• Field
Type: Enum
[ createOn ]
• Direction
Type: Enum [ desc,
asc ]
Dashboards
Activity
Event Triggers
See Triggers.
Bots
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.
MetaBot
Package Manager
Devices
Workload
Bot Store
Audit log
Administration
API
IQ Bot
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.
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
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.
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 .
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.
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
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
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.
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.
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.
Related concepts
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.
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
• 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.
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
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
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.
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.
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.
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.
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.
Related tasks
Import bots
You can import a bot from one Control Room to another.
Related reference
My bots
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.
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
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
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
You can add custom widgets to the Bot Insight dashboard based on your requirements.
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.
Note: Bot Insight dynamically generates the Drill Down menu options based on the variables you
tag when creating the bot.
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.
• The end date time must be less than the current date time.
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.
{
"botName" :
"testBot",
"repositoryPath":"Automation
Anywhere/Bots/testBot",
"environment":"DEV",
"fromDate":"2019-09-22T09:33:23",
"toDate":"2019-11-24T09:33:23"
}
Sample Response {
"botName": "testBot",
"repositoryPath": "Automation Anywhere/Bots/
testBot",
"deleteCount": 0
}
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
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
T
Table
Activity 439
task
abort 392