AAE 11.3 Client UserGuide
AAE 11.3 Client UserGuide
Contents
Commands................................................................................................................................................ 101
Active Directory Command..............................................................................................................101
App Integration Command.............................................................................................................. 109
Citrix Automation............................................................................................................................. 112
Clipboard Command........................................................................................................................118
Comment Command....................................................................................................................... 120
Database Command........................................................................................................................121
Delay/Wait Commands.................................................................................................................... 124
Email Automation Command...........................................................................................................127
Error Handling Command................................................................................................................130
Excel Command.............................................................................................................................. 132
Excel Command - Contains Header............................................................................................... 138
Export Dataset Command............................................................................................................... 140
File and Folder Commands.............................................................................................................142
FTP / SFTP Command................................................................................................................... 149
IF/ELSE Command..........................................................................................................................151
Image Recognition Command.........................................................................................................160
Import DataSet Command...............................................................................................................164
Insert Keystrokes Command........................................................................................................... 166
Insert Mouse Click Command.........................................................................................................167
Insert Mouse Move Command........................................................................................................169
Insert Mouse Scroll Command........................................................................................................170
Internet Connection Command....................................................................................................... 170
Queue Orchestration....................................................................................................................... 171
Launch Website Command............................................................................................................. 173
Log-to-File Command...................................................................................................................... 174
Loop Command............................................................................................................................... 175
Manage Windows Controls Command............................................................................................178
Message Box Command................................................................................................................. 180
Object Cloning Command............................................................................................................... 181
OCR Command............................................................................................................................... 185
Open Program/File Command........................................................................................................ 188
Pause Command............................................................................................................................. 188
PDF Integration Command..............................................................................................................189
PGP Command............................................................................................................................... 195
Play Sound Command.................................................................................................................... 197
Printer Settings Command.............................................................................................................. 198
Prompt Command........................................................................................................................... 200
Read from CSV/Text Command..................................................................................................... 201
REST Web Service Command....................................................................................................... 203
Run Script Command...................................................................................................................... 207
Run Task Command....................................................................................................................... 207
SAP Integration - How to use......................................................................................................... 209
Screen Capture Command..............................................................................................................209
Metabot Variables.....................................................................................................................................380
Adding, Editing and Deleting Variables.......................................................................................... 380
System Variables.............................................................................................................................383
Variables - Parameter Types.......................................................................................................... 385
Passing parameters from and to MetaBot Logic............................................................................ 386
Glossary.................................................................................................................................................... 438
Automation Anywhere Introduction to Automation Anywhere Client
Note: For prerequisites and setup details, see the Automation Anywhere Enterprise installation
information that is shipped with the product.
Dashboard
The client dashboard comprises a menu bar, toolbar, and Automate and Manage panels.
Toolbar
The toolbar includes functions for creating, recording, running and modifying tasks:
• Create a task with the New tool button.
• Use the Record tool button to record tasks with different recording methods that you select from
the Automate panel. You can record keystrokes as well as mouse clicks and movements. For more
information, see Recording an Automation Task on page 24 and Using the Screen/Standard
Recorder on page 34.
• Run a selected task from the tasks list. For more information, see Running a Task on page 55.
• Use the Edit tool button to open and modify the task in the workbench. For more information, see Using
the Workbench on page 90.
• Click the ROI tool button to launch the ROI calculator and view your return on investment through the
use of Automation Anywhere. For more information, see Using the ROI Calculator on page 336.
Note: While recording and running automated tasks ensure that you follow best practices documented
in the help topic Best Practices for Recording and Running Tasks on page 22
• Additional tools are available to help you troubleshoot:, chat, and notifications are additional tools you
can use for troubleshooting help.
• Enter search terms in Search Help... to access the Automation Anywhere online knowledge base
(KB).
• Chat with our support technicians when you cannot find the answer in the KB.
• Receive notifications about trial status, task failures, and external notifications. For more information,
see Automation Anywhere Enterprise Client Notifications.
Automate
Automate your processes by combining TaskBots, MetaBots, and Workflows from within the Automate
panel. You can find all automation tasks under the Tasks tab. The tasks are displayed in folders. Click on a
folder to display the task list. Right mouse click on a folder to open, create, delete, or rename that folder, as
shown in the following image.
Tasks
Most of the work space contains the tasks list, which displays task details, such as the file name and
description, when the file was created, the duration of the task, its size, and status.
• Click View → Column Displayed to change what task details are displayed, as shown in the following
image.
• For a selected task in the task list, you can delete, create an executable file and upload. Click the
Action dropdown list to perform other task-relevant actions, such as run, edit, upload, copy, rename,
locate, and send.
• From the Properties tab, you can view and set general properties such as allocating priority status or
specifics such as frequency/conditions to repeat the selected task, adjusting speed, email notifications,
hotkeys, security parameters to ensure authorized users run the task etc. For more information, see
Setting Task Properties on page 59.
• Schedule your automated tasks to run at preferred times, without requiring supervision or intervention.
For more information, see Scheduling Tasks Using the Scheduler on page 68.
• Use the Trigger tab to connect a trigger type to the selected task. It automatically runs the task in
response to an event that occurs on your computer. For more information, see Adding Triggers to a
Task on page 75.
• Enter text and information for a task in Description/Notes. You can edit this text when you modify the
task. For more information, see Viewing and Setting General Properties on page 60.
MetaBots
A MetaBot is an automation blueprint of an application that can be re-used to optimize processes. They
help you standardize your processes end to end. MetaBots enable you to create automation building
blocks that capture information in the form of visuals or application APIs. Integrate these building blocks
as commands, and use them in various processes to deliver more value. You can see the MetBots you
designed in My MetaBots List. For more information, see MetaBot Designer - An Overview on page 344-
designer.dita"/>.
Workflows
Workflows help you build process flow diagrams in a graphical environment. You can use these diagrams
to build and run automated tasks in the program. For more information, see Using the Workflow Designer
on page 333.
Manage
Within the Manage panel, you can view and manage your automated bots with the following features:
• Repository allows you to communicate with your Control Room to upload and download TaskBots,
MetaBots, IQBots, and Workflows. For more information, see Uploading or Downloading TaskBots,
Workflows and Dependencies on page 85.
• Schedule helps you manage automated Bots on time based scheduling capabilities. You can schedule
to run the TaskBots daily, weekly, monthly or with a trigger event. For more information, seeUsing the
Schedule Manager on page 70.
• Trigger provides a unified view of the triggers that are connected to your tasks. From here, you can
enable or disable selected or all triggers, and add, modify and delete specific triggers connected to a
task. For more information, see Using the Trigger Manager on page 79 and Adding Triggers to a
Task on page 75.
• View graphical Reports that show the status of tasks and workflows, as well as the ROI over time. For
more information, seeUsing the Report Designer on page 328.
• Control Room launches the Control Room to which you are connected. Use the credentials provided
by the Control Room admin to login.
The following are just a few highlights of what you can do with Automation Anywhere Enterprise:
• Transform a repetitive, 20-step process to a single mouse click or keystroke.
• Run scheduled tasks anytime by using powerful task scheduling, even when computer is locked.
• Automate scripts that exist in disparate formats.
• Easily manage automated processes across a single machine or multiple machines, and across a
division or an enterprise.
• Create automation tasks in minutes, by recording keystrokes and mouse clicks, and using easy, point-
and-click wizards.
• Easily manage automation users with a scalable server that provides true collaboration.
• Maintain centralized systems for backup, security, and resources.
• Capture and reuse automated processes in a central repository.
• Manage job scheduling and execute batch data processing with ease.
• Automate secure FTP processes.
• Download, upload, schedule and run tasks in multi-user environments like Citrix and Terminal Server.
• Scale and extend the Automation Anywhere Enterprise platform with MetaBots Designer to serve
unique business needs. For more information, see MetaBot Designer Documentation.
Product Features
The following highlights some of the features that make Automation Anywhere a complete automation
solution:
• Highly reliable and accurate automation technology that quickly automates complex tasks, and no
programming required
• Centralized Enterprise Control Room that makes it easy to set up and maintain automated processes,
users, and client machines
• Web and object recorders that recognize objects, even when they move position
• More than 550 actions available, including:
• Active Directory support for user and client management
• Conditions and loops
• User prompts
• File, database, and system management
• High-speed replay of automated tasks
• Automatic email notifications
• Task chaining
• Hotkey setup and management
• User-defined and system variables
• Advanced error logging
• PDF automation
Business Benefits
Automation Anywhere helps companies achieve process consistency across a team, department, division,
or enterprise by automating and managing workflows, processes, and tasks. The following are some of the
ways Automation Anywhere can help you realize more value in your organization:
• Enable your teams to be 30-80% more efficient
• Eliminate human error in data entry processes
• Improve collaboration between employees and organizational divisions
• Increase transaction speeds
• Reduce costs and achieve higher ROI on your existing IT systems
• Integrate multiple, disparate systems and data, including legacy systems, ERP systems, partner data,
and Web portals
Operating Systems
The table lists operating systems that support Automation Anywhere. Both 32-bit and 64-bit OS versions
are supported.
Note: On an average, an Automation Anywhere script is approximately 100-150 KB. Additional free
disk space is required to develop automation projects due to temporary files like screen-shots, server
logs, audit files that are created during execution of the automation scripts. Depending on future product
usage, you might consider more disk space. For example, MetaBot Designer generation of log files, and
logic creation may require more disk space.
Supported Browsers
Browser Version
Note:
• Edge browser support for Microsoft Windows 10 only
• Automation through Chrome and Edge is not supported in MetaBot
Plugins
Plugin Version
Silverlight 5.1x
Adobe Flex 24
Internet Explorer 11.0
Chrome 49 and above
Edge -
MODI 12.0
TOCR 5.0
• Your system administrator must enable the Network Time Protocol (NTP) settings on your network to
synchronize the time between Automation Anywhere Enterprise Client and Enterprise Control Room.
Note: Automation Anywhere does not support concurrent Terminal Server connections. Multiple users
can be logged into the Terminal Server and they can each use individual instances of the Bot Creator
client. However, a user must have only one active session.
Important: It is not recommended to connect to multiple Control Rooms from an AAE Client instance.
1. On the Client Login screen, enter the Control Room service URL in the Control Room field. For
subsequent logins, the last login URL you entered is the default, but you can update the URL as
needed.
2. Provide authentication details, based on the Control Room authentication type you choose as follows:
• Windows or Active Directory (AD)
If the Control Room is configured for Windows AD authentication type, you select Windows
authentication, and you do not need to provide any credentials. You are authenticated with your AD
or Windows credentials. This option is selected by default.
Tip: If for any reason automatic Windows authentication fails, choose the User Credentials option
to continue.
• Single Sign-On (SSO)
SSO is available when the Control Room is configured for SSO SAML 2.0 authentication type.
When you select this option, you do not enter credentials directly on the Client Login screen.
Instead, when you click Login, you are redirected to your organization's IdP authentication page
where you must log in using your SSO credentials.
Note:
• A registry entry (32 bit) is made under
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main
\FeatureControl\FEATURE_BROWSER_EMULATION
since Automation Anywhere Enterprise Client makes use of the same rendering engine used by
Internet Explorer to display the SSO authentication page.
• You might experience some issues with the login display if the authentication page has trouble
while rendering in Internet Explorer. If IdP login page does not render properly, add the Idp
Login URL in the trusted sites for Internet Explorer browser.
• User Credentials
This method is available when the Control Room is configured for Database authentication type.
When you select this optioon, you enter the user credentials that were created by the Control
Room administrator. Contact your Control Room administrator in case you forget your password.
Use this when you want to log into the Control Room using your domain credentials. See User
Management for more information.
If you try to log in using an authentication type other than the one Control Room is configured for, you
trigger an error.
3. To log in to Control Room using different user credentials, click Tools → Re-login.
The logged in username and status is displayed in the status bar as shown in the following
image.
Based on the license type you have, you see the number of evaluation days remaining in your trial
license and the Getting Started screen.
In case you are unable to log in to the Client, check for the following errors:
• You have used an invalid user name and password.
• You have not verified your user account using the email sent from Control Room.
• The login user has not been created in Control Room.
• The login user has not been allotted a license in the Control Room.
• The login user has been deactivated in the Control Room.
• The login user has already been registered from a different machine to the Control Room.
• The login user has already registered under different Windows credentials to the Control Room.
• Version Mismatch: the Client and Control Room versions are incompatible.
• Invalid Certificate: the Control Room certificate is invalid.
• Login Unsuccessful due to Active Bot Session: you already have an active bot session running on
another machine.
• Password policy updated: you provided old credentials either during Client Login, Re-Login, or Auto-
Login after the password policy was updated in the Control Room.
An alternate method of connecting to the Control Room is using the command prompt. This is useful for
example, when you want to log into multiple Clients hosted in unattended mode on remote terminals, or
you want to create a script that can run whenever you want to log on in case of a reboot.
1. Run the command prompt in administrator mode.
2. Enter the following parameters at the command prompt:
For example,
The following table lists parameters that can be used for log in.
Parameter Details
Parameter Details
Troubleshooting
Use the list of exit codes in the following table to troubleshoot during login.
Note: If a taskbot is currently deployed to your machine, the Client is disconnected only when it
finishes execution.
• You choose to exit from the Client. See Special Keys on page 18.
You can record simple tasks that run on your computer. Automation Anywhere records your activity,
including keystrokes, mouse movements and mouse clicks.
1. From the Bot Creator client, click Record.
The Automation Anywhere client window disappears from view, and a small Stop Recording window
appears. See Recording an Automation Task on page 24 for more details.
2. Perform the actions that you want automated. You can open applications, open new windows, click on
buttons, fill in forms, search a website, and perform other actions.
3. Click Stop when you are finished recording the task.
Note: You can also create the shortcut after saving the task as follows:
a. In the Automation Anywhere Enterprise Client window, select your task in the Task List.
b. Right-click on the task, and choose Send To -> Desktop (Create Shortcut.
You can also click New to create new automation tasks using other recording methods, depending on the
technical environment and complexity of the tasks. For more information, see Recording an Automation
Task on page 24.
Editing a Task
After you create an automated task, you might want to further customize or optimize the performance of
your task, for example by adding additional properties. See Task Properties on page 18.
You can edit the task file without recording it again as follows:
1. Select the task in the task list and click Edit.
The workbench launches.
2. From the workbench, you add functions, remove delays, and add action sequences. See Using the
Workbench on page 90 for more details.
Task Properties
Learn about different properties you can use to increase performance, efficiency, and usability of a task.
• From the General tab, you can view and edit general task properties, such as file name, created at,
last run time and log. For Enterprise version, you can also change the priority of a task to determine the
order in which it is queued and processed. See Viewing and Setting General Properties on page 60.
• You may need to repeat a task, for example, when extracting data from a website that is updated
frequently. From the Repeat tab, you can specify the number of times a task should repeat, and you
can also specify that it runs any number of hours, minutes, or seconds. See Repeating a Task on page
62.
• At times certain tasks require precise mouse movements. While recording, your movements might be
slow. After recording this type of task, you have the option of replaying it at varying speed. From the
Speed tab, you can specify how quickly a task should run. See Adjusting the Speed of a Task on page
63.
• From the Notification taby, you can specify that you want Automation Anywhere to send a message
to a particular email address after the task is run. See Sending Email Notifications for a Task on page
64.
• Use a Hotkey to assign a keyboard shortcut to launch your automated tasks with the press of a single
key. See Setting up Hotkeys for a Task on page 64 .
• From the Security tab, you can specify that Automation Anywhere run the task without displaying the
actions on the screen during the run. You can also disable the keyboard and mouse while the task runs.
This feature is available only with a purchased license of Enterprise Client.
Special Keys
Use special keys to stop or pause while recording and playing automated tasks, or to close and exit
Automation Anywhere.
• Stop task
To stop or abort a running task, press and hold the escape ESC key for two to three seconds. The next
time you run an aborted task, Automation Anywhere starts it from the beginning. You can also configure
your own hot keys to stop an automation task from running. See Setting up Hotkeys for a Task on page
64.
• Pause task
To pause an automated task while it is recording or running, press the Pause/Break key on your
keyboard, or click the Pause icon on the runtime window. To continue running the task, click the
Resume icon.
Note: This feature is useful when running long tasks that may require a pause while other processes
are running.
• Close Automation Anywhere
To close and exit Automation Anywhere, simultaneously press the ALT+F4 keys on your keyboard.
Note: You can also exit completely from Automation Anywhere by right clicking the
Automation Anywhere icon in the system tray on your screen desktop and selecting
Exit.
When you minimize a remote desktop window (the window that displays the desktop of the remote
computer), the operating system switches the remote session to the non-GUI mode and does not display
windows and controls.
As a result, Automation Anywhere is unable to interact with the application GUI. At this point, the
automated GUI task fails.
To run GUI tasks on a remote computer while minimizing the remote desktop window, change the registry
keys on the computer from which you connect to the remote Automation Anywhere workstation. Complete
the following steps:
1. Log into the computer from which you connect to remote computers.
2. Close all open remote desktop sessions.
3. Click Start -> Run (or Windows + R).
4. In the Run dialog window, type "regedit" and press Enter.
1. Navigate to one of the following registry keys, depending on whether you want to modify the remote
desktop settings only for the current user or for all users on the computer:
• When you minimize the Remote Desktop Connection window on your computer, the remote computer
GUI should not be affected, making the GUI available to your automated tasks.
Note: Changes made to the registry can affect the overall performance and function of the system.
Automation Anywhere is not responsible for adverse system behavior that results from making registry
changes. Working with your system administrator is advised.
In general, Remote Desktop applications do not allow automation software to run or perform tasks when
you minimize or close the window. Remote Desktop creates a session for every connection made to the
remote machine. Under this session, it provides the connecting machine with complete rights to control the
remote machine.
However, when disconnecting from or minimizing the remote window, Remote Desktop retrieves the rights
and any access to the GUI of the remote machine is lost. This causes automated tasks to lose control of
the remote system, and they do not run as expected.
Tip: Use Virtual Network Computing (VNC) to connect to the server. VNC allows you to run automated
tasks even when the session is minimized or disconnected.
• VNC establishes connections with the remote system in a different manner from Remote Desktop.
VNC physically connects to the remote system, rather than creating sessions for each connection.
The connection retains controls on the remote GUI, even when the VNC window is minimized or
disconnected.
• Your automated tasks can continue to run in the same manner as they do on a local machine.
Have a Question?
Do you have questions about Automation Anywhere?
• Using the software and its features
• Installing or configuring the software in your environment
• Creating your automated tasks
• Purchasing questions
To open a support case, you may contact Technical Support. A support representative will contact you as
soon as possible.
For help with any of these issues, contact the Automation Anywhere Support team.
Our team members are happy to demonstrate features, answer your questions, and show you various
automation scenarios.
Request a Live Demo now.
Learn about our Automation Anywhere Consulting Services, and how we can help you to automate more
complex processes.
If you need help with any of these topics, contact the Automation Anywhere Ask the Expert team.
Our knowledgeable team members are eager to answer your questions and help you quickly automate
your processes.
Learn about our Automation Anywhere Consulting Services, and how we can help you to automate more
complex processes.
Find out more about our consulting services by submitting the Consulting Services Request Form. A
representative will contact you shortly.
• Use Open Program and Open File commands from the Workbench to open applications.
When you use the standard recorder to record windows operations, you can experience errors when
running the task if the application is not open. To avoid this, edit the task from the Workbench to add
Open Program and Open File commands.
• Use the Workbench command If Window Exists to check for the window before attempting to open it.
This command prevents the possibility of an application not opening properly. You can find the
command under other If conditions in the Workbench.
• Use the If Window Exists command in combination with the Open Program and Open Filecommands
to launch particular applications.
• Use the Delay Wait for Window command to wait, continue with the next action, or stop the task if the
window is not present.
• If you do not want to use Workbench commands to open programs or files, ensure that applications
necessary to run the task are open prior to running the task.
Most of the commands in the standard recorder are based on mouse clicks and keyboard keystrokes.
Therefore, you must ensure that application windows used in the process are already open before
running the task, or you have added the appropriate commands to open the application windows in the
task.
• Avoid moving the mouse and keyboard.
The standard recorder uses the mouse and keyboard while running a recorded task. If you use the
mouse and keyboard at the same time, errors occur. You can track the progress of your running task by
using the progress window displayed at the bottom of the screen.
• Use advanced features, like Manage Windows Controls and Image Recognition to capture controls
or click on images, rather than using mouse clicks.
• Use additional advanced commands, like if/else conditions, loops, and variables to a task to make your
task more efficient.
• Use wildcards when needed.
You can specify wildcards (*) for the Image Recognition, Window Exists, and Window Does Not
Exist commands.
For example, to perform an operation on all windows that contain the word 'Microsoft' in the title, use
wild cards to identify the windows by specifying *Microsoft* in the IF Window Exists command.
In most cases, the recorder you select will be based on the type of process that you want to automate. For
example, for a process that is based on web applications to extract data from websites, you would select
the Web Recorder.
To record a new task, click New button at the top of the client screen.
A window is displayed that enables you to select from several methods for creating a task:
• Smart Recorder - It captures objects from various applications that use different technologies such as
html, .Net, WPF, Java, Flex and Silverlight. These are saved as a set of Object Cloning commands.
Refer Recording Tasks Using the Smart Recorder on page 35 for details.
• Screen (Standard) Recorder - Use it to record tasks that need to be run on the same machine in
which it is recorded. It records mouse clicks and keyboard operations. Refer Using the Screen/Standard
Recorder on page 34 for details.
• Web Recorder - It understands all web controls. Hence applicable when recording web-only tasks.
If website controls on a page move location, the program can locate the correct controls and adjust
the task to run without error. If the properties of the web controls change, the automation task can be
updated to ensure that the task runs successfully. Refer Using the Web Recorder on page 24 for
details.
• Workbench - Use it to create tasks manually. You can assign relevant actions to the task using the
commands provided in the editor. Refer Using the Workbench on page 90 for details.
Note: If the layout of a web page changes and the web controls move to a different location on the
page, Automation Anywhere is capable of locating the new position of these controls and running the task
correctly.
Most people use the Web Recorder to perform the following actions:
• Repeatedly extracting data from multiple web pages
• Extracting data from tables on web pages
• Web form filling
Use the Web Recorder when you want to automate the following processes (tasks):
• Opening web pages
• Logging into a website
• Navigating through search
• Entering data into forms and submitting them
• Extracting data and updating database records
• Using a Web-based ERP (Enterprise Resource Planning) system
• Extracting web data to a local file
• Testing an online application
Note: If you enable ‘Secure Recording mode’: no values, caption, default texts are captured. Also, no
values are captured for ‘Extract Data’ and ‘Extract Multiple Data.’ Using the Secure Recording Mode on
page 37
Also See...
1. Enter the website address (URL) on which you want to record actions, and click Start. You can add the
URL to your Favorites for easy access in the future.
The Web Recorder Toolbar is displayed, and Internet Explorer is launched in a new window with the
website.
2. Perform your actions on the website, including clicking on buttons, clicking on links, and typing in text.
3. Click the Stop Recording button on the Web Recorder toolbar.
4. In the Save Task window, specify a task name, optionally select a folder in which to save the task, and
click on Save.
1. To run the task, double-click on the task, or select it and click on Run button.
1. To stop a running task, press and hold the escape (ESC) key for 2-3 seconds. You can also configure
your own hotkeys to stop tasks. Refer Defining Client Hotkeys for details.
Note: When you edit the task using the Task Editor, the program displays the Web Recorder commands
and objects that were used while recording the task.
Also See...
2. Enter the website address (URL) on which you want to extract data, and click Start.
The program displays the 'Web Recorder Tip' window:
Note: Select 'Don't show this message again ' if you do not wish the program to display the tip.
The Web Recorder Toolbar is displayed, and Internet Explorer is launched in a new window with the
website.
6. After highlighting the text, the Extract Data window is displayed, and contains the text you selected.
Tip:
1. To stop a running task, press and hold the escape (ESC) key for 2-3 seconds.
2. You can also configure your own hot keys to stop tasks.
Also See...
Note: Select 'Don't show this message again ' if you do not wish the program to display the tip.
The Web Recorder Toolbar is displayed, and Internet Explorer is launched in a new window with the
website.
b. Highlight a second line of text. This will set the pattern. The Extract Data Field window is
displayed.
c. Enter a name in the "Enter Column Name" field and click Save.
• The Extract Multiple Data window is displayed, containing the column name you saved.
• Add: Click the Add button to select additional data from the website and add another pattern that you
want to capture. The data fields will be automatically viewed in the Classified Data Fields.
• Edit: Click the Edit button to change the name of the pattern.
• Delete: Click the Delete button to delete one or more patterns.
• Copy: Click the Copy button to copy one or more patterns.
• Paste: Click the Paste button to paste one or more copied patterns.
• If the website has multiple pages from which you want to extract the patterned data, click the check box:
"The data spans across multiple pages".
• Use the Capture button to capture the control name for moving to the next page. Images extracted from
multiple web pages are saved in different folders.
• Click Next when done. The Preview Data section is displayed:
• The Preview Data section displays a preview of the captured data. Save extracted images or data as
CSV files in separate folders, as required.
• Click Finish.
• Click the Stop Recording button on the Web Recorder toolbar.
• The Save Task window pops-up, wherein you can specify a task name. Optionally select a folder in
which to save the task and click save.
Note: The trial version supports extracting 5 pages of data for viewing only. No such limitation exists
in the purchased version.
When you need to extract data from tables on web pages, the Web Recorder guides you with visual steps.
Many websites have data organized in HTML tables. Extract Table makes it easy to save tabular data in a
CSV (comma-delimited) file that you can open in most spreadsheet and database applications, including
Excel and Access.
1. Launch the Web Recorder:
1. Enter the website address (URL) on which you want to extract data, and click Start.
The program displays the 'Web Recorder Tip' window:
Note: Select 'Don't show this message again ' if you do not wish the program to display the tip.
The Web Recorder Toolbar is displayed, and Internet Explorer is launched in a new window with the
website.
2. You can now perform any actions you like, including mouse clicks and text entry. When you need
to extract or copy table data from the website, click the Extract Table button on the Web Recorder
toolbar.
3. Move the yellow prompt bar to the table you want to extract and click on it.
Note: If the content you click on is not a table, the yellow prompt bar will change to red.
The Extracted Table window is displayed showing a preview of the data within the table.
4. If the table spans multiple web pages, click the check box: "The table spans across multiple pages".
Use the Capture button to capture the control name for moving to the next page.
5. Click Next when done to preview and save the extracted table.
6. Save the table as a CSV (comma-separated) file into a location of your choice. You can also use the
"Append to an existing CSV file" check box to append the extracted data to an existing CSV file.
7. Click Finish.
8. Click the Stop Recording button on the Web Recorder toolbar.
9. In the Save Task window, specify a task name, optionally select a folder in which to save the task,
and click on Save. You can also optionally specify a password to prevent the task from being run by
unauthorized users.
Note: The trial version supports extracting 5 pages of data for viewing only. No such limitation exists in
the purchased version.
1. To create an automation task using the Screen Recorder, launch it one of four ways:
Note: 'Screen Recorder' should already be selected as the default recorder in the 'Record' list-down
for options 3 and 4 to work.
Note: If needed, you can pause the recording operation and resume it.
1. Perform all of the actions on the computer that you want to record in the task.
Note: While recording, the Screen Recorder recognizes the various windows that are open on your
desktop.
Note:
• You can edit your recorded task using the Workbench. Refer 'Editing a Task on page 41'.
• If Version Control is enabled, a plus sign ( ) will be prefixed to a new task.
Note: If you enable ‘Secure Recording mode’, no images are captured. Learn More
Note: If you enable ‘Secure Recording mode’, no values and images are captured. Using the Secure
Recording Mode on page 37
Note that you can record tasks in Internet Explorer 8 and above only.
Tip: If appropriate plug-ins are not installed, you can install them using Plugin Settings. Using Plugin
Recorded actions are saved as a set of Object Cloning commands in the Workbench.
As it captures actions via an object window it saves the keystroke actions and mouse clicks in the 'Actions'
list of the Object Cloning command.
Note: It has the inherent ability to identify keystroke actions such as 'Shift + A' as capital A. Also, special
keystrokes such as 'Tab' and 'Enter' are saved as separate actions in the command.
Tip: To navigate across controls, it is recommended that you use 'Click' action instead of 'TAB'.
To create an automation task using the Smart Recorder, launch it one of four ways:
Note: 'Smart Recorder' should already be selecteas the default recorder in the 'Record' list-down for
options 3 and 4 to work.d
• Click on the File menu and select New, and select Workbench.
• Click on the Tools menu and select Workbench.
2. Add actions to the new task by dragging commands from the left pane of the editor to the Task Actions
List pane. After inserting most commands, you are prompted to specify the properties that apply to
those commands.
3. Save the task.
In Control Room, Client Configuration enables you to control the mode of recording done by a Client for
business processes. If the process requires a secure mode of recording, you can 'Enable' the 'Secure
Recording' mode.
Control Room Administrator can select in the Control Room Setting> Select Client Configuration, where an
option of Secure Recording is available.
When you ‘Enable’, Control Room Administrator receives the following prompt:
If the Administrator, clicks on ‘Yes’ the setting is enabled and if the Administrator clicks on ‘No’, then the
setting remains disabled.
When you ‘Disable’, Control Room Administrator receives a prompt.
If the Administrator, clicks on ‘Yes’ the setting is disabled and if the Administrator click on ‘No’, then the
setting remains enabled.
If you Enable Secure Recording Mode
Note: If a task is recorded when Secure Recording is 'disabled', it will consist object values and images.
If the Secure Recording is then enabled and the same task is opened with the AAE Workbench, the object
values and images will still be visible.
In Object Cloning/ Smart Recorder command, no values and images are captured. Also, when you click
on ‘Re-Capture Image’, images are not captured. When you try to record and play using the Image Option
and Save the command, it is not supported in the “Secure Recording mode.”
In Manage Windows Controls, no values are captured.
In Web Recorder, no values, caption, default texts are captured. Also, none of the values are captured for
‘Extract Data’ and ‘Extract Multiple Data.’
In Image Recognition command, ‘Image1 is not saved and ‘Image2’ is not captured. While you try to
capture ‘Image2’ ensure that it does not contain any sensitive data.
In Insert Mouse Click/ Screen Recorder and Delay/Wait command, no images are captured.
In OCR command, no images are captured for preview.
In Screen Capture command, when you try to save the command, ensure that the captured image does
not contain any sensitive data. The image will be stored on disk at the location that you have specified
If you wish to continue, click ‘Yes’, and the command is saved. Click ‘No’, if you wish to discontinue and
you are navigated back to the command where you can ‘Cancel’ the command.
In AAE Main Client, screen-shots are disabled while recording when 'Secure Recording Mode' is enabled
• Tools -> Options -> Advanced Settings -> 'Capture Screenshots while recording a task' will be un-ticked
and disabled
• Tools -> Options -> Runtime Settings -> 'Capture Screenshots while running a task' will be un-ticked
and disabled
In AAE Workbench, the ‘Visualize’ and ‘SnapPoint’ button is disabled. Also when you enable Snap view
an error message “Secure Recording mode. Image will not be captured” appears.
In Error handling command, while you try to save the command, ensure that the captured image does not
contain any sensitive data. The image will be stored on disk at the location that you have specified.
If you wish to continue, click ‘Yes’, and the command is saved. Click ‘No’, if you wish to discontinue and
you are navigated back to the command where you can ‘Cancel’ the command.
In IF/ELSE command, images are not captured
Using the buttons above the Task List in the main Automation Anywhere window, you can perform the
following actions:
1. Create a new task - Record tasks with different recording methods available on the 'Create New Task'
window.
Using the buttons in the top-right side of the Task List, you can perform additional actions:
1. Delete a task.
3. Select an action:
Note: The option toggles to 'Undo CheckOut' once you have checked out the file for editing.
Undo CheckOut: Undo the last updates to the checked out file. You will be asked for confirmation:
• Upload Task: Upload the selected task to the Server Task Repository.
• Version History: Compare different versions of the task.
• Copy Task: Create a copy of the selected task.
• Rename: Rename the selected task.
• Locate on Disk: Create a copy of a task as an .atmx file in the location: My Documents
\Automation Anywhere\Automation Anywhere\My Tasks
• Send To: Send a copy of a task to: Desktop(Create Shortcut), Mail Recipient, Startup Folder or My
Documents.
• Delete: Delete a task.
Editing a Task
After initially creating an automation task, you can edit the task using the Workbench to add, modify, or
delete actions and steps to the process.
For example, you might want to remove all built-in delays to increase the speed of the task when it is run.
You can open a task in the Workbench in the following ways:
1. Select (highlight) the task and click the Edit button.
2. Right-click on the task, and select Edit from the pop-up menu.
If you want to edit a task when double-clicking on it, change the setting by following these steps:
1. In the main Automation Anywhere window, click on Tools -> Options.
2. Click on Advanced Settings.
3. Check the "Edit Task on double click in Task List" check box.
The editing of a task and its properties will vary depending upon the status of the task when Version
Control is enabled.
• When the task file is not Checked Out, you will not be able to edit the task and its properties; it will open
in 'view only' mode if you click on the 'Edit' option:
Also, Properties tab will be disabled for editing and will denote "Checkout the file to enable editing the
Properties."
Note: Viewing of logs will not be disabled. To view, click 'View Logs'.
• When the task file is Checked Out, you will be able to edit the task and its properties.
Note: You can Check Out/Undo Checkout files such as Reports, Documents, Workflows, Scripts and
Lists.
Password protection of tasks is deprecated. Hence tasks that were password protected for editing in earlier
versions must be edited, saved and re uploaded to the Control Room on display of:
Click OK. This will launch the Enter Password window. To remove the password and open the task in edit
mode, provide the password.
Save the Task.
You can add the following actions to your Web Recorder automation task.
• Open Browser: You can specify a website URL that you want the automation task to open prior to
performing actions on that website. For most processes website automation, opening the browser is the
first command added to the task, usually followed by commands that manage controls.
• Close Browser: Closes an open browser session that was previously opened using an Open Browser
command.
Use the Manage Web Controls command to select controls on the web page and work with them.
For example, you can insert actions on links, check boxes, radio buttons, drop-down menus, and other
objects.
To use Manage Web Controls, follow these steps:
1. In 'Specify a Website URL/Page' choose either 'Open New URL' or 'Select Page' .
If you specify 'Select Page' you are required to select a page title (html page) that is open, from the
list.
2. Use the Capture button to capture a web control by selecting it with the yellow prompt bar:The control
details are displayed.
3. Click the Advanced View button if you wish to include more options.
• Control Name / Control ID: Searches for the web control based on the control name or ID.
• Caption: Searches for the web control based on the caption name that is entered or selected from
the text box. For example, if you record a menu object with a caption titled "Buy Now", this web
control lets you search the web page for this caption when the task runs.
• Control Index: Searches for the web control based on the index number of the control, which is
stored while recording a web page.
• Attributes:Searches for the web control based on the tag attributes, which are stored while
recording a web page. You can select the tag attributes and specify their values for the web page
that is being searched.
You can add or delete tag attributes, as required.
• Tip: Best Practice is to use 'Search by Caption' as the first option, 'Search by Attributes' as second
option, and 'Search by Index' as the third option.
4. Enable or disable 'Page Title' and/or 'Page URL' to decide whether to play in existing or new Internet
Explorer window.
Note: Both are enabled by default and the task will play in existing Interenet Explorer window.
5. Specify the action that you wish to perform during task play time.
Tip:
You can opt to use a Variable while using the actions Set Text and Append Text. If the text needs to
be encrypted, you can insert Credential Variables* using function key 'F2' for enhanced security. Refer
to Assigning credential variables from credential lockers on page 271
*Available in Enterprise edition from version 10.3
6. Click Save.
3. Download File
Use this command to download HTTP files. This command does not require a browser.
Common Use Cases: Downloading stock data, log files, security patches, or other files that you routinely
need to download.
4. Extract Table
Use this command to select a table on a web page and save the data to a CSV file.
After running the task, including the Extract Table command, Automation Anywhere stores the table data in
a system variable named: $Table Column(index)$
You can use this variable to retrieve the data that you extracted in row-and-column format by using a
combination of Loops for each row in an Internet Explorer table.
Common Use Case: Transfer data from a web-based ERP system to another application, such as Excel.
Follow these steps to extract table from a website:
6. Click the Advanced View button to add more options such as Session Name, Page Title, Page URL,
Extract selected Tag Details to a .csv file
7. Click Save
6. Extract Data
7. Navigate URL
Use this command to navigate to a website URL in a browser window that is already open.
8. Extract Source
Tip: 'Capture' button disabled? Refer the section on Web Recorder in Troubleshooting for details.
9. Search by Caption
Use this command to navigate to a caption or title in a browser window that is already open. Navigation
using this command is possible even if URLs change.
10. Go Back
Use this command to navigate to the previous URL location that was used during website recording.
Note:
It is mandatory to enter the 'Function Name' without which the specific script named therein will not be
executed.
• Ensure JavaScript has been enabled for Internet Explorer. If disabled, you may receive an access
denied message. For details refer the Microsoft Support section.
• 'Capture' button disabled? Refer the section on Web Recorder in Troubleshooting for details.
Using Bulk Edit, you can apply the settings for a specific delay command to multiple delay commands in
your task. Follow these steps:
1. In the Workbench, select multiple Delay commands in the task.
2. Right-click on one of the selected commands and select Bulk Edit from the pop-up menu.
3. In the Delay/Wait window, set values for the delay settings and click Save.
4. In the Task Actions List view of the task, you'll see that all of the Delay commands that were included
in the Bulk Edit operation are now changed to the new settings.
Note: Bulk Edit works with two command types: 'Delays' and 'Keystrokes'. You can however edit
either keystrokes or delays, individually.
Using Bulk Edit, you can apply the settings for a specific Keystrokes command to multiple Keystrokes
commands in your task. Follow these steps:
1. In the Workbench, select multiple Keystrokes commands in the task.
2. Right-click on one of the selected commands and select Bulk Edit from the pop-up menu.
3. In the Insert Keystrokes window, set values in the Keystrokes settings and click Save.
• In the Task Actions List view of the task, you'll see that all of the Keystrokes commands that were
included in the Bulk Edit operation are now changed to the new settings.
• The title in Microsoft Outlook changes frequently as the user selects new folders.
• A web page title contains a session ID for the website.
1. Copied tasks - If you copy a recorded task to create a new task, the application titles will need to be
changed.
2. When you use a wild card, the 'Current Active Window' command, or variables to use for setting
window titles.
Tip: You can use the Windows filter to select a particular Window name, enabling you to view task actions
that are sorted by application.This filter provides a convenient view of any or all applications that are used
in your task.
To use the Change Window Title action to apply a common window title to multiple application windows,
follow these steps:
1. In the Workbench, use the Windows filter to select a particular Window name.
2. Select one or more commands with the window title for which you want to change.
3. Right-click on one of the selected windows commands and choose the Change Window Title action.
You can also use the Actions button to select the Change Window Title option.
4. Set a common Window title for the selected windows that your want to change and click OK.
• In the Task Actions List view, you'll see that the windows titles are changed to the new title that you've
assigned. Refer the example given here:
4. Right-click on one of the selected commands, and choose Change Window Title from the pop-up
menu of actions.
5. In the Change Window Title dialog, specify a window title to replace the current selected window titles.
• Use the Find and Replace commands to browse and replace the title, as appropriate.
1. Click Save.
3. In the Copy Task window, select a directory location and specify a file name for the new copy of the
task.
4. The new task is added to the Task List view. All commands in the original task are available in the new
copy of the task.
Renaming a Task
To rename a task, follow these steps:
1. In the Task List, select (highlight) the task you want to rename.
2. Rename the task using one of the following methods:
• In the File menu, select Rename.
• In the Actions button, select Rename from the drop-down list.
• Right-click on the task and select Rename.
1. In the Rename File window, specify a new file name for the task.
2. Click Save.
Running a Task
In most cases, as you create automated tasks, you'll want to test the process to ensure that the results
match your expectations. You can test an automated process by running the task.
When running tasks, Automation Anywhere provides advanced task-queuing technology with run-time
settings that you can tune.
You can run a task manually or you can schedule a task to be run at a later time.
To manually run a task, follow these steps:
1. In the main Automation Anywhere window, select (highlight) the task you want to run.
2. Run the task by using one of these methods:
2. You can resume running the task by using the Play button on the 'Run Time Window'.
Tip: You can also modify your hotkeys to use a different key to stop tasks that are running.
When stopping a task, the process does not end abruptly. The Run-Time window displays the message
"Aborting" and completes any step that is in progress.
Note: When using the 'Run Task' command, if you have a sub-task running within the main task, the
window will display the task hierarchy.
The run-time window will display:
• The selected and current task being executed.
• The task's action being performed.
• The task's line number.
• Tool tip - if the task flow is too long to fit within the window.
Tip: Hover the cursor over the task name and the task flow is displayed as a tool tip.
In order to run a password protected task, you are prompted to edit, save and re upload the task to the
Control Room as the Password protection feature is deprecated.
While running such tasks you are displayed:
Click OK. This will launch the Enter Password window. To remove the password and open the task in edit
mode, provide the password.
Save the Task.
Stopping a Task
While running an automated task, you can pause or stop the process, as necessary. You can stop a task
from running either manually or by inserting a conditional command within the task.
To stop a task manually, simply click the Pause or Stop button on the progress window, or press the
Escape (ESC) key on the keyboard for 2-3 seconds.
You can stop a task by using specific conditions by inserting a 'Stop Task' command.
A Stop Task instruction looks like this in the Workbench:
Tip: Stop the task only when encountering a file that is larger than a particular number of megabytes
(MBs).
To know more about using this command refer .
Deleting a TaskBot
As a Bot Creator with access privileges to particular folders, you might want to delete an existing
automation TaskBot.
To delete a TaskBot, follow these steps:
1. In the Task List, select (highlight) the TaskBot you want to delete.
2. Delete the TaskBot using one of the following methods:
• In the Edit menu, select Delete.
• In the Actions button, select Delete from the drop-down list.
• Right-click on the TaskBot and select Delete.
Note: After deleting a TaskBot, you cannot restore the TaskBot on the client. Before deleting a TaskBot,
be sure you no longer have use for that TaskBot.
If the TaskBot was copied to the server, you can restore it by copying the server version to the client.
Tip: As a best practice, be sure that all tasks are copied to the server as a way of backing up your
automation projects.
1. Deleting a TaskBot
a. Deleting from local repository - If you have version control enabled, while deleting a TaskBot
or a file from the Client, apart from confirmation, you will be notified that the TaskBot/ file will be
deleted locally only.
b. Deleting from Server repository - To delete a TaskBot/file from the server repository, you will
have to select it from the relevant folder of the repository.
• Scheduled Bot (Task/File) - While attempting to delete a Bot that is used in a schedule, you
are shown:
• To deleta a Bot that is scheduled to run, you must remove it from the schedule.
• Dependent Bot (Task/File) - While attempting to delete a Bot that is dependent on another
TaskBot, you are shown:
• To delete a task that is listed as dependent on some other TaskBot, you must first remove
the dependency from the Client. You can then upload the TaskBot to the server again to
ensure it is not being used as dependency.
2. Deleting a Folder
You can delete a folder from the local repository only:
Note: The 'Delete Folder' option is disabled if it comprises a TaskBot that has been checked out for
edit.
2. Either click on the Edit menu or on the Actions button, and select 'Locate on Disk'. A Windows
Explorer window is displayed showing the folder containing the task files.
3. Locate the automation task file. The task name matches the name you've assigned to the task.
Sending a Task
Occasionally, you might want to distribute your automation tasks to other people and locations. Using the
'Send To' option, you can send a task to the following locations:
1. The Desktop - you can create a desktop shortcut to run the task with a click of a button.
2. An email recipient - Send the task to another person using an email address.
3. The Start-up folder - Enable the process to be run each time the computer starts by using the
Windows Start-up folder.
4. The My Documents folder - Organize and run tasks from the My Documents folder.
2. Select one of the Send To options and complete the information, srequired.
Use the Properties tab to set and adjust the settings for your task. On this tab, you can do the following:
• View and set general properties, such as setting the priority status and viewing the date it was created.
• Specify the frequency or conditions to repeat the task.
• Adjust the speed for which a task runs.
• Set up email notifications for a task.
• Specify hot keys to use with you task.
• Set security parameters to ensure that only authorized users run the task.
• Enable sharing data for Analytics
• Last Run Time - Displays the last time the task was run.
• Mouse Clicks - Lists the total mouse clicks recorded in a task, automatically calculated based on the
task.
• Keystrokes - Lists the total keystrokes recorded in the task, automatically calculated based on the task.
• Total Clicks - Lists the total clicks (Mouse Clicks + Keystrokes) recorded in the task. Automatically
calculated based on the task.
• Priority for queuing - Specify a priority for the task, which will decide the precedence of the task when
it is in a queue. Also, if the priority is same then rules apply for precedence of jobs.
• Timeout - Specify timeout for the task to ensure that the task gets aborted automatically after the
specified time. Timeout can be set only in minutes between 0 and 9999. Refer Timeout on page 61
for more details.
• Enable this task to run with other similar files or window titles - By default, the task recorded
will only run on the specific file(s) it was recorded on. However, an option is available for running the
recorded task on any file within the application it was recorded in. For e.g., a task recorded on the file
abc.xls can run on def.xls, xyz.xls, or any other *.xls file, without editing the task.
• Description/Notes - Add descriptions and notes for a task in the Description/Notes window.
Timeout
Timeout feature allows you to specify the time after which the task will be aborted automatically.
The feature is especially beneficial for tasks that are run in unattended mode. In any case, if the task gets
stuck somewhere, it will automatically aborted if it doesn't get any response within the specified time. Once
a task gets timeout, the downstream tasks (the tasks in queue) can run smoothly.
To set the timeout for a particular task, follow the steps mentioned below:
1. Select the task for which you want to specify timeout.
2. Now simply input the timeout for a task in the Properties Section.
• If the task is called through 'Run Task' command. In this case, timeout of the main task will be
applicable.
For the tasks that are run in 'Repeat' mode, timeout should be specified keeping in mind the interval of
repeat. For instance, a task is set to repeat 5 times and the time between each repeat is specified as 5
minutes. In such a case, it is advised that Timeout for that task is set after calculating the total time that it
takes to finish all the repetitions.
Timeout time-frame is excluded:
• When a task is manually paused.For instance, if Timeout is set for 1 minute and the task is paused after
40 seconds. In this case, the task will Timeout after 20 seconds of being resumed.
• When a low priority task is suspended and is resumed after completion of a High Priority task. For
instance,if Timeout is set for 1 minute and the task is suspended after 40 seconds. In this case, the task
will be timed out after 20 seconds of being resumed after completion of the High Priority task.
• When first task is Paused, second task is aborted and first task is resumed.
• When a low priority task is suspended and is resumed after the High priority task gets Timed out. For
instance, ifTimeout is set for 1 min and the task is suspended at 40 seconds and High priority task is
timed out. In this case the low priority task will not be resumed.
Note: Timed out task ROI is not added to the total ROI.
Timeout Notifications
When a task gets Timed Out, user is informed about it through Notifications.
• You can also set Email Notification to be informed whenever a task is Timed Out. For more details,
refer Sending Email Notifications for a Task on page 64.
• You can see historic and detailed status of a Timed Out task by clicking on View Log in General
Properties of the task.
• For more information on tasks that have been Timed Out, you can view Timeout entry in System Logs.
Refer Viewing System Logs on page 66 for details.
• You can also see how many times a task has Timed Out in Visual Reports. Refer What is a Report? on
page 328 for more details.
Repeating a Task
Automation Anywhere enables you to repeat a task that is scheduled to run. This feature is especially
useful while testing automated tasks, or tasks that need to repeat upon run failure or even when running
routine maintenance tasks.
Use the Repeat property in the main Automation Anywhere window:
You can set the following options for the Repeat property:
• Do not repeat: The task runs only once. This is the default option.
• Repeat a number of times: Repeats the task a number of times, as specified in this field.
Example: Repeat an email task 15 times to send 15 emails.
• Repeat until I Stop it: Repeats the task until you stop it by clicking the stop button or by pressing the
ESC key. Use this option when you are not sure how many times the task needs to run.
• Repeat for hh:mm:ss time: Repeats the task for a time period that you specify.
Note: You can specify up to 99 hours, 59 minutes, 59 seconds (a repeat duration of just over 4 days).
• Time between repeats: Sets a duration of time to wait before repeating a task.
• Upon error, continue with next repeat: By default, running tasks are stopped when an error occurs.
By setting this option, the task is repeated regardless of run failure.
• High-Speed Replay - The task runs at a faster speed than was recorded.
• Turbo-Action Replay - The task runs at the fastest speed and excludes any mouse moves.
The Automation Anywhere SMART Automation Technology ensures that when you increase the replay
speed, accuracy and reliability are not compromised.
Tip: In some rare cases, certain pauses during the recording of a process have implicit application-specific
meaning. In these cases, set the replay speed to the Standard Replay mode to ensure the most accurate
replay.
If you select 'Send email notification when task finishes' check box, but do not specify an email address,
Automation Anywhere uses the email address that is specified in the 'To:' field in the Tools -> Options ->
Email Notification.
Tip: If you only need to specify one email address to notify, set it using the Tools menu and selecting
Options -> Email Notification. However, if you need different tasks to send status emails to different email
addresses, specify these email addresses for each task individually.Refer Setting up Email Notifications on
page 298 for details.
2. Either specify a hotkey in the field provided or select a hotkey from the pop-up window. If a hotkey is
being used by another process, it will be show as not selectable in the list.
Note: The automated tasks can run even when the Automation Anywhere client is not running.
Important: From Enterprise edition 10.2, Password protection in tasks is deprecated. On upgrading
to Enterprise edition 10.2, your password protected tasks will have to be manually edited to remove the
password.
The Security* property provides the following features:
Auto-Login Advanced Settings: You can specify the following advanced settings for Auto-Login:
• Running this task in stealth mode: Use this option to prevent information from being displayed on
the screen while the task is running in Auto-Login mode. Application windows and programs are hidden
from your screen to avoid unauthorized users seeing the information.
• Disable mouse and keyboard for this task: Use this option to disable the computer mouse and
keyboard while the task is running in Auto-Login mode. Unauthorized users are prohibited from gaining
control of the computer while the task runs. If the computer recognizes an unauthorized user who is
accessing the computer, Automation Anywhere automatically locks the computer, ensuring security.
For this option to work you must ensure that the Run Task as an Administrator option is enabled in
Tools > Options > Runtime Settings. Customizing an Automation Anywhere Enterprise Client on page
292
Note: When nesting automation tasks, if a parent task runs a child task, the Auto-Login settings of the
parent take effect, regardless of the settings of the child.
• Other
1. Specify the Start and End dates in the format you specify.
2. Click Generate Logs.
3. To export the logs to a CSV file, specify the name of the CSV file and click Export.
4. To delete an entry, select the check box next to the log and click Delete.
Note: In Enterprise editions 10.0 & 10.1, Bot Creators - Client users with task creation privileges can
only test run the tasks using the 'One Time Only' schedule option. However, Bot Runners - Client users
with run time privileges, can continue to schedule tasks using various options if using Enterprise edition
10.2. and above. Refer to Scheduling Tasks in Bot Creator or Bot Runner on page 73
Scheduling Tasks
Automation Anywhere provides a Scheduler and a Schedule Manager that you can use to run your tasks
anytime you want.
The Automation Anywhere Scheduler provides time-based scheduling capabilities. You can schedule tasks
to run on particular days, weeks, or months of the year.
For more information on the Scheduler, see Scheduling Tasks Using the Scheduler on page 68.
The Schedule Manager enables you to view, add, or edit the schedules of tasks that you have created.
For more information on the Schedule Manager, see Using the Schedule Manager on page 70.
To run a task based on a trigger event, use the Trigger tab on main Automation Anywhere window.
Some examples of events that can trigger a task to run include when:
• A new window opens
• A specific file is created
• A file is deleted
• An email is received in a particular in-box
For more information about using triggers, see Using the Trigger Manager on page 79
Scheduling Tasks
Warning: If you have already saved Windows Login Credentials in Login Settings option, then
Scheduler will not prompt you to input the credentials again.
6. Schedule a task to run, multiple times. To add more scheduled times, click the Add button.
To ensure the computer is unlocked when a scheduled task runs, see Using the Auto Login Option on
page 295.
Automation Anywhere provides scheduling options for running tasks with the following frequencies:
• Daily (for example, every day, only weekdays, or every 2 days)
• Weekly (specific days of the week; for example, Mondays)
• Monthly (specific days of the month; for example, January 1 and October 5)
• One time only
• When the computer is started
• When you log onto the computer
• When the computer is idle
Note: Schedules not visible after upgrade? Refer 'Troubleshooting Information on page 432'.
Note:
For security reasons, when scheduling tasks to run using the Scheduler, you may be required to enter
the Windows user name and password. This security check ensures that only the machine owner can
schedule tasks to run.
Many automation users do not have passwords set on their systems. In this case, you can create a
password to enable you to schedule tasks. Use the Using the Auto Login Option on page 295 option to
avoid needing to enter the password each time you start the computer.
To create a password on your system, follow these steps:
For Windows 7
1. On the Windows 7 desktop, click the Start button and click on the Control Panel.
2. Double-click on User Accounts.
3. Complete the instructions for creating a password. Any valid password is acceptable, although it
cannot be a blank password.
To configure your machine to use the Auto-Login option, follow these steps:
1. On the Windows 7 desktop, click the Start button and click Run.
2. Type: control userpasswords
Note: Enabling Auto-Login makes the computer more convenient to use, but can pose a security risk. Be
aware that any person can turn on the machine and access your files.
To view your task schedules, launch the Schedule Manager in one of the following ways:
• In the main Automation Anywhere window, click on the Schedule Manager tab on the lower left side.
• Or click on Tools -> Schedule Manager on the menu bar.
Note: Schedules not visible after upgrade? Reference 'Troubleshooting Information on page 432'.
Note: S
You can manage all of your task schedules by using the tabs in Schedule Manager:
1. Date and Time tab
1. System tab
Within the Date and Time tab, you can use the Day, Week, and Month tabs to work with scheduled tasks.
You can add, edit, or delete scheduled task to run by using any of these views:
• Day: The Day view displays the time and description for each scheduled task. You can add, edit, or
delete scheduled tasks. Use this if you need to run your tasks daily and with more frequency.
• Week: The Week view displays the date and time of scheduled tasks for the week, and includes a
description. Use this option when you wish to schedule to run your task on a weekly basis.
• Month: The Month view displays the date and description of scheduled tasks for the month. Use this
option when the frequency of running your tasks could be scheduled monthly.
• Date Range: In the Select Date section on the left, you can specify a date range for scheduled tasks by
clicking and holding the mouse button on a start date and dragging it to the end date, highlighting the
range. The Month view automatically opens to display scheduled tasks within that date range. Adding,
To add a schedule, click on and select the required option and save.
To edit a schedule, select the schedule and click on or double click or context click and select
'Edit'. You can perform similar actions by clicking on to delete a schedule.
Use the System Tab to view tasks that are scheduled to run based on system events, such as triggers.
Using this view, you can add, edit, or delete task schedules that use triggers to initiate a run.
To add a System event schedule, click on and select the required option and save.
To edit a schedule, select the schedule and click on or double click or context click and select 'Edit'.
You can perform similar actions by clicking on to delete a schedule.
You can change the view of scheduled tasks by clicking on Change Filter on the extreme right of the
systems tab in the Schedule Manager.
Note: If you have already saved Windows Login Credentials in Login Settings option, then Scheduler will
not prompt you to input the credentials again.
Scheduling Tasks
A. Bot Creators i.e. Clients with Development privileges can schedule an automated task to run for 'One
Time Only' as shown below:
1. Select the task that you want to schedule.
2. Click the Schedule tab.
3. Select 'One Time Only' option from a drop down.
4. Set the scheduling information for time and date.
5. Click on Save.
B. Bot Runners i.e. Clients with only run-time privileges can schedule tasks using various options with the
following frequencies:
• Daily (for example, every day, only weekdays, or every 2 days)
• Weekly (specific days of the week; for example, Mondays)
• Monthly (specific days of the month; for example, January 1 and October 5)
• One Time Only
• When My Computer Starts
Note: If you Shut down and then Start your machine instead of using Restart, it is important that you
first disable the fast startup option given in the Power Options settings of Control Panel.
For example, if you are using Microsoft Windows 8, 8.1 or 10, follow these steps:
1. Go to Control Panel → Power Options
2. Click Choose what the power button does → Change settings that are currently unavailable.
3. Disable Turn on fast startup option
Refer the Microsoft website for details.
•
• When I Log On
To ensure the computer is unlocked when a scheduled task runs, see Using the Login Settings on page
293.
Note:
Schedules not visible after upgrade? Refer 'Troubleshooting Information on page 432' section in
Troubleshooting for details.
Note: Be cautioned that on Windows login, the trigger for a scheduled tasks take some time to come into
effect. Hence, it is recommended that you wait for the trigger event to launch when you start your machine
and use Windows credentials to login.
Before using trigger events you must take note of the following:
• Triggers do not work on machines when in Logged off state. However, when in Locked state triggers
can work if Auto-Login is enabled. Refer Using the Auto Login Option on page 295 for details.
• Triggers are applicable only in the local instance of the Client.
• Triggers do not get uploaded with the task to the Control Room and hence cannot be deployed.
Window triggers launch an automated task when an application window action takes place. Automation
Anywhere provides the list of open applications on your computer and enables you to refresh the list at any
time. You can select from either of the following options as the trigger event:
• When an application window opens
• When an application window closes
File triggers launch an automated task when a file action takes place. You can select from any of the
following options as the trigger event:
• When a new file is created
• When an existing file is deleted
• When a file is renamed
• When a file is modified
Folder triggers launch an automated task when events affect folders on your computer. You can select
from any of the following options as the trigger event:
• When a new file is created in the folder
• When an existing file is deleted in the folder
• When a file is renamed in the folder
• When a new folder is created
• When an existing folder is deleted
• When a folder is renamed
• When a folder is modified
Performance triggers launch an automated task when particular computer resources reach a threshold or
certain criteria are met. You can select from the following options as the trigger event:
• CPU Usage: The computer CPU usage reaches a level that you specify (in %).
• Free Disk Space: A certain amount of free disk space is reached that you specify in megabytes (MB).
• Process Count: When a particular number of processes that you specify are running.
Process triggers launch an automated task when a system process starts or stops. Automation Anywhere
provides the list of available processes for your computer and enables you to refresh the list at any time.
You can select from either of the following options as the trigger event:
• When a process starts running
• When a process stops running
Service triggers launch an automated task when a system service takes action. Automation Anywhere
provides the list of available services for your computer and enables you to refresh the list at any time. You
can select from any of the following options as the trigger event:
• When a service starts running
• When a service stops running
• When a service resumes running
• When a service pauses
Email Message triggers launch an automated task when an email is received in the email account that you
specify. To specify a trigger for new incoming email messages on a mail server, specify the following:
• Host name
• Port details
• User name
• Password
• A time interval to use between checking for new messages
• If the email account uses SSL, check the "Server Uses Secure Connection (SSL)" check box.
Example 1: Run an automated task each time a 'Microsoft Excel' window opens:
1. For Trigger type, select Window.
2. From the Window Title drop-down menu, select the title Evaluation Users - Excel. If the window is not
available in the list, open the application and click on Refresh.
3. Under Action, select 'When window opens'.
4. Save the trigger by clicking the Save button. The task will now run each time Microsoft Excel opens.
Example 2: Run an automated task that sends an email whenever a file is deleted from a critical work
folder on the computer.
1. For Trigger type, select Folder.
2. For Folder Name, click on the ellipsis (...) and select the folder that you want to monitor.
3. For Action, select 'When any file is deleted.'
4. Save the trigger by clicking on the Save button. When a file is deleted from the selected folder, the
task will run and send a notification email.
Automation Anywhere recommends you follow these guidelines with using triggers to run your tasks:
• If you are running a task on a locked computer, use the Auto-login feature to unlock the computer when
the triggered task runs. See Using the Auto-Login Option. Refer Using the Auto Login Option on page
295 for details.
• You can assign a system variable to a trigger action that returns the name of the file, folder, or window
that used to trigger the task. Refer Trigger Variables for details
• Use triggers to run process work flows. Refer Scheduling Tasks Using Triggers on page 74 for
details.
• To delete an existing trigger, click the Delete button and click "Yes" to confirm.
• To enable a trigger, ensure that the check box in the far left column is checked.
• To disable a trigger, un-check the check box in the far left column.
You can enable or disable all triggers at once by checking or un-checking the check box at the top of the
Trigger Manager window.
Note: Be cautioned that on Windows login, the trigger for a scheduled tasks take some time to come into
effect. Hence, it is recommended that you wait for the trigger event to launch when you start your machine
and use Windows credentials to login.
When running the task, Automation Anywhere changes the state of Caps Lock key to match the state that
existed prior to recording the task.
If the Caps Lock key is turned ON when you start recording, Automation Anywhere records the task with
Caps Lock ON.
When you run this task:
• Automation Anywhere checks the state of the Caps Lock key.
• If the Caps Lock key is OFF at the time it is run, Automation Anywhere turns Caps Lock to ON before
running any of the steps.
• If you use Insert Keystrokes commands within the task, upon running the task Automation Anywhere
toggles the state of Caps Lock to OFF, resulting in lowercase characters.
If the Caps Lock key is turned OFF when you start recording, and you use Insert Keystrokes commands
within the task to type uppercase characters, Automation Anywhere turns Caps Lock ON.
Note: Be aware that when you use Insert Keystrokes commands, no indicator exists for changes to the
Caps Lock key status. Changes are carried out internally.
The Variable(s) Watch Table window is displayed. To understand more about this feature refer
Watching Variables on page 283.
2. Use the Debug Toolbar to insert Breakpoints in your task. To insert a Breakpoint, select a command
and insert a Breakpoint by either clicking the Toggle Breakpoint button on the Debug Toolbar or by
pressing the F9 function key.
3. Debug the TaskBot/MetaBot Logic action-by-action by using the Step Over button (or the F10 function
key).
4. Run your task in Debug mode (one command at a time) to isolate any errors.
5. To remove a Breakpoint, select the command and either click the Toggle Breakpoint button or press
F9. To clear all Breakpoints, click the Clear All Breakpoints button on the Debug Toolbar.
6. Use the Set SnapPoint button in a task to capture images of the task while it runs. Use the Visualize
button to view the images that are captured when using the Set SnapPoint option in Debug mode.
7. To stop debugging, either click on the Disable Debugging button or click on the Debug menu and
select Disable Debugging.
Note: Automation Anywhere does not store debugging information (Breakpoints); therefore, when exiting
application, be aware that all Breakpoint information will be lost.
Task-name: download-emails.atmx
• Call the task named download-emails.atmx from a batch file by adding the following line in the
batch file:
Task-name: download-data.atmx
• To call the download-data.atmx task from an Excel macro, add the following text to the Excel
macro:
Dim RetVal
RetVal = Shell("C:\Program Files\Automation Anywhere Enterprise 7.0\Client\AA.Player.exe "/fD:\My
Documents\Automation Anywhere Files\Automation
Anywhere\My Tasks\download-data.atmx"/e", 1)
• If the task is successful, it returns 0 to the calling program. If it encounters an error, it returns 1.
Use the Upload Pending Changes option when you want to upload files from a folder in Tasks list,
Workflow and Reports. These folders and sub-folders comprise new and/or checked out files that are
pending upload.
1. To upload, select the 'Upload Pending Changes' option from the context menu:
As you can see, all files other than the ones that have a remark are enabled by default for upload in
the Upload Pending Changes window.
However, the files that have are not selected as either:
• A file with same name exists in the repository.
• The file is part of a folder to which the user does not have access.
• The file is not checked out by the Bot Creator
• The file is force unlocked by the server administrator
Once upload finishes, the list view will reflect the check in status.
Uploading Files
The following table describes the status of a file and the action that is marked for the same:
Note: When Version Control is enabled, auto upload/download of tasks and dependencies is available for
users above Enterprise Edition 10 SP2 with product version 10.5.0. If you have Enterprise Edition below 10
SP2, you need to upgrade in order to avail this facility Learn More
You can opt to upload task(s) and its dependencies using any of the given methods:
1. To upload dependencies for single task:
2. • Context click the task and click on 'Upload' option:
OR
• Select the task and click on .
• Select the tasks from the 'Client Repository' and click on 'Upload':
Note:
When Task(s), MetaBot(s), and/or IQBots do not fulfill certain dependency criteria, they are not available
for selection. The 'Remarks' column displays the reason for upload/download failure. Refer the section on
Remarks for details.
You can opt to upload Workflow(s) with its tasks using any of the given methods:
1. To upload a single workflow with tasks:
2. • Right click the workflow and select 'Upload' option:
OR
• Select the workflow and click on .
You can download task(s) and its dependencies from the Client Repository under Manage tab in the Client.
Note that you can download task(s) from the Repository only.
Tip: For Upload/Download, the Bots that are in ‘New’ or ‘Updated’ status are selected by default. It is
recommended that you go with this default option, unless necessary.
Export to CSV
You may want a record of the Upload/Download details to troubleshoot. You can maintain one by exporting
the details to a CSV file by clicking 'Export to CSV' at the bottom left of the Upload/Download Task(s) and
Dependencies' screen.
The default CSV name for:
1. Upload is ‘Upload_Logs_<username><date><time>.csv'
2. Download is ‘Download_Logs_<username><date><time>.csv'
Note: The files uploaded successfully would be checked-in and the files that were interrupted while
uploading would remain in checked-out mode.
3. If the TaskBot is new but it has been uploaded by some other user you are indicated with the following
remark: File with same name already exists.
4. Task dependency scanner and Upload Pending Changes works for files that are new, checked-out,
and eligible for upload.
5. In case of download with VCS enabled, you can download all the tasks and dependencies.
Remarks - Decoded
When your task or dependency is not uploaded or downloaded, the 'Remarks' column displays the reason
for the failure. Details provided here will help you understand what each means:
• Invalid file format - When the file that is to be uploaded/downloaded is not of a format supported by
Automation Anywhere Enterprise.
• File not found - When the application cannot be located at the filepath mentioned in the Taskbot.
• Not licensed - When a user who had not been allotted MetaBot and/or IQBot license by the Control
Room administrator, attempts to upload/download a Task with MetaBot and/or IQBot as a dependency.
• Password protected Bot - When a task that is password protected for edit is uploaded/downloaded.
• Insufficient folder privileges - When the user does not have required access permissions for that
particular folder.
• Cyclic dependency - When the selected files are included and played in multiple tasks. E.g. Task A is
part of Task B and Task B is part of Task A.
• Variabalized path - When the variable specified in the file/folder path is other than the system variable
$AAApplicationPath$ for selecting/opening/saving files/folders.
• Locally renamed MetaBot – When the user renames a MetaBot (from the file system explorer) and
tries to upload that.
• File with same name already exists* – When the user tries to upload a new file and a file with the
same name already exists in the Control Room repository at the same corresponding location.
• File is force unlocked by server administrator* – When the user tries to upload a file, which has
been force unlocked by the Control Room Administrator.
*These remarks will appear only if Version Control System is configured.
Note: In case of multiple failures, an error report is displayed once the upload finishes.
In the Compare window, the updates between the selected files are displayed:
Note:
Select the version to which you want the updates to be rolled back and confirm:
On confirming, all the changes done since the selected version to the latest version will be rolled back.
Note: It is recommended you check in (upload) the file once it is rolled back to the selected version so
that the latest version reflects the updates.
Upload Comments
Available with Enterprise Edition on purchase of a Version Control license only.
If you are enabled for version control, you will have to include comments while uploading your files. This
ensures that the version history can be used as a reference point.
You can upload tasks to the Control Room Repository Manager using any of the four methods:
1. Selecting Upload from the Action button drop-down list
2. Clicking the 'Upload' button at the top right 'Task List' pane
• When the task is successfully uploaded, a confirmation window is displayed. Click OK.
• The task is displayed in the Server Repository Manager.
To download a task from the Repository Manager, you must follow these steps:
1. In the main Automation Anywhere window, click on Manage > Repository tab. The Repository is
displayed, with a split screen showing files that reside on the server- Control Room as well as the
client.
2. Highlight the task file that you want to download to the client.
3. Click the Download button. The task is copied to the client.
Note: Be aware that files that are downloaded to the client with same names will be overwritten. Before
downloading files, be sure that the latest version of the task is on the server.
You can use the Workbench to create your automation which could include TaskBots and/or MetaBots.
You can configure commands to create your TaskBots and MetaBot Logics.
1. TaskBot - You can open a TaskBot in the Workbench using any of the following ways:
• Select a TaskBot from the My Tasks List and click the Edit button.
• Double-click on a TaskBot in the Task List, provided that double-click editing is enabled in the
Advanced Settings for Edit Task. By default, this setting runs a TaskBot when double-clicking. For more
information, see Editing a Task on page 41.
• Create a new TaskBot in the Workbench by clicking on the New button.
2. MetaBot Logic - If you have necessary access privileges, you can create a new MetaBot Logic in the
Workbench using any of the following ways:
• Select a MetaBot from the My MetaBots List and click the Edit button.
• Double-click on a MetaBot in the My MetaBots List and open a MetaBot Logic from the Logic view
• Create a new MetaBot Logic in the Workbench by clicking on the New button.
For details on creating a MetaBot Logic, see Using the Workbench to create Logic on page 368
• If you attempt to create a MetaBot Logic in absence of access privileges, you are shown:
Workbench Components
The Workbench provides the following components that make up the user interface:
• Commands panel
• Actions List
• Action buttons
• Error View and Variable Manager panel
• Filters
The left panel contains all of the Automation Anywhere commands that you can use to build and enhance
TaskBots / MetaBot Logics. You can drag and drop these commands into the Actions List panel, move
commands, and edit commands in bulk, if necessary.
For your convenience, the Workbench can display multiple TaskBots / MetaBot Logics at once using tabs
at the top of the Actions List. Using these tabs, you can open multiple TaskBots / MetaBot Logics and edit
them side-by-side, making copy/paste and reuse very easy. This also makes building larger TaskBots /
MetaBot Logics easier: you can record smaller processes, refine them, and then combine them into one
large, end-to-end complete process.
Note: The Normal / Visualize options are not available for MetaBot Logic.
For more information, see Using the Actions List on page 97.
At the top of the Workbench window, several action buttons are available. These involve actions for
creating a new TaskBot /MetaBot Logic, running the current TaskBot / MetaBot Logic that is open in the
Workbench, saving the TaskBot / MetaBot Logic, enabling debugging and setting snap points for certain
commands.
1. New button to create a new TaskBot / MetaBot Logic.
2. Record button to start recording in the current TaskBot.
Your mouse click and keystroke actions will be recorded with the Recorder:
Note: The recorded actions will be saved as Object Cloning command(s). Object Cloning Command
on page 181
Note: If the ‘Secure Recording Mode’ is enabled, ‘SnapPoint’ is disabled. Also, if you try to enable
Snap view whilst ‘Secure Recording Mode’ an error message “Secure Recording mode. Image will not
be captured” appears. Using the Secure Recording Mode on page 37
7. The 'Normal/Visualize' buttons to switch views - between TaskBot details (Normal), a screen shot
view of your task (Visualize), and Bot Insight Analytics dashboard for data analysis (Analyze).
Note: When you click on ‘Visualize’, if ‘Secure Recording Mode’ is enabled an error message “Secure
Recording mode. Images have not been captured during recording' appears. Using the Secure
Recording Mode on page 37
8. • While using the Workbench, if you change the resolution of your screen, it is recommended that
you restart Automation Anywhere.
• At lower screen resolutions; say 1024 X 768, the buttons Undo, Redo, Edit, Delete, Copy and
Paste might not display. To perform those actions, use 'Actions' or the 'Context' menu.
Note: On the same bar, actions are available for manipulating commands in the Actions List. For
more information on these buttons, see Using the Actions List on page 97.
Note:
1. Error View - You can use the Error View tab to manage errors that might occur in your task. The
view is automatically updated as you make changes to the task. The Error View panel is useful when
you want to track the progress of longer tasks and debug them when errors occur. Use the Error
View panel in conjunction with the Error Handling capability to properly debug your tasks. For more
information, see Debugging TaskBot/MetaBot Logic on page 82.
2. Variable Manager - The Variable Manager panel is useful when using several variables in your tasks.
The Variable Manager displays the local variables that are defined by the user for a particular task.
You can use the Variable Manager to add, modify, and copy variables within automation tasks. For
more information on how to use the Variable Manager, see Using the Variable Manager on page
246.
Note: AAE facilitates copying of variables to a new TaskBot while you copy task commands. This is
helpful, as you do not need to recreate the variables and the commands in the new task. If some of the
copied variables are present in the TaskBot, values and types for these variable are overwritten.
3. Bot Dependencies - Automation Anywhere has the capability to ship all dependent files such as doc,
docx, xls, xlsx, csv, mdb, pkx, atmx, exe, pdf, txt, jpg, png, bmp, xml with the TaskBot. These are
automatically uploaded to the Control Room and deployed while running the TaskBot.
Note: This option is available only for TaskBot and not MetaBot Logic.
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 My Tasks, My Docs, and My Scripts folders.
For more information, see Manage Bot Dependencies on page 99.
4. Queue Category - To consume work item from a given queue in the Control Room instance that you
are connected to, you must add the Queue Category in the Bot. With this, the bot can consume work
items from queues of the selected category. For more information, refer Queue Orchestration on page
171
Using Filters
You can use the Filters bar to manage long tasks. When selecting these check boxes, the commands are
made visible in the Task Actions List. Using these filters can make isolating problems and viewing specific
commands easier.
Note: This option is available only for TaskBot and not MetaBot Logic.
For more information on using the Workbench Filters, see Using Filters in the Workbench on page 98
If you prefer not to use the mouse to drag and drop commands, Automation Anywhere makes it possible
to insert commands in your task by using keyboard strokes. The Commands panel supports using Arrows,
Tab, and Enter keys.
To open command windows, press the Enter key and complete the steps to specify command parameters.
This capability is useful for people who prefer to use quick keyboard shortcuts.
Tip: Type the first letter of a command to highlight it and ease navigation to that command. For example,
typing an "e" will highlight the Email Automation command.
Saving as, Copying and Adding a New Task when Version Control is enabled
If you provide a new file name using any of the options - Save As, Copy or New, you will be able to add
unique names only in the respective folder in which it is being created. If you attempt to add an existing file
name, you will not be allowed to do so:
You can use the Save as text file and Save as XML file options to save the bot that is in edit mode in
Workbench.
A. Text file
Tip: Click Browse... to select a location of your choice using the Windows explorer:
• When you click Save, the file is opened.
• Verify and save.
B. XML file
You can save a bot as an XML file using the Workbench User Interface or through the command line.
To save a bot as an XML file from Workbench,
1.
Tip: Click Browse... to select a location of your choice using the Windows explorer:
3. When you click Save, the following success message with the file path is shown:
4. Click OK to return to the Workbench
To save the bot as an XML file from the command line, you should be logged in as a bot creator.
1. Launch the command window
2. Provide the following command at the prompt to save the file to a specific path:
"<application path>" /token /<sd> or <sf>:"<source directory path or source filename> /<dd> or
<df>:"<destination directory path or destination filename>"
• For example,
"C:\Program Files (x86)\Automation Anywhere Enterprise 11.2\Client\AAWorkbench.exe" /export /
sf:"C:\Server-Files\Loop.atmx /df:"D:\Task-Repository\Loop.xml"
• Parameter Description
token Export
sf Source file. This is mandatory
sd Source directory. This is mandatory
df Destination file. This is optional
dd Destination directory. This is optional.
...
</TaskProperties>
<Variables>
<Variable>
...
</Variable>
<Variable>
...
</Variable>
</Variables>
<Commands>
<Command>
...
</Command>
<Command>
...
</Command>
</Commands>
</Task>
You can insert commands by dragging them from the Commands list. After you insert commands, you can
modify them using the following options:
1. To edit the parameters (settings) for a command, double-click on the command.
2. To take action on the command, such as copying it, right-click on the command to view the options.
3. The Task Actions List bar provides buttons for manipulating commands. The following options are
available:
• Edit: Opens the command settings window to enable you to edit them.
• Delete: Removes the command from the Task Actions List.
• Copy: Copies a command for use in another location of the task.
• Paste: Pastes a copied command at the location below the cursor.
• Actions: Click on the Actions button to select one of the following actions:
a. Bulk Edit: Make changes to multiple Delay or Keystroke commands simultaneously.
b. Duplicate: Duplicate a command in the location below the selected command.
c. Convert to Variable: Convert a Keystroke command to a variable.
d. Convert to Prompt: Convert a Keystroke command to a prompt message.
e. Convert to if Web Control Exists: Runs the command if the specified Web control exists.
f. Convert If Windows Control Exists: Runs the command if the specified Windows control
exists.
g. Insert If Condition: Inserts an IF condition for a selected block of commands.
h. Insert Error Handling: Inserts an Error Handling command for a selected block of
commands.
i. Change Window Title: Change the name of a window title to one or more application
windows.
j. Run from this Step: Runs the task when encountering this command.
k. Enable: Activates a command.
l. Disable: Disables a command.
m. Move Up:Moves a command up in the Task Action List.
n. Move Down:Moves a command down in the Task Action List.
To view or hide particular commands in a task, select or deselect the filters in the Filter Bar in the Task
Actions List.
Use the Find Text search field to search within a task for names, text, variables, and other items. This can
be helpful when editing longer tasks.
You can use the Windows filter when a task involves two or more applications, such as the Calculator,
Notepad, and Explorer. Use the Windows filter when you want to view actions sorted by application.
In the drop-down list, select ALL, NONE, or the application title for which you want to view commands.
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 My Tasks, My Docs, and My Scripts folders.
To reference (include) the file in that particular task it is recommended that you use the System Variable
$AAApplicationPath$.
Note that 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:
To copy/copy all file(s) from your Bot to another Bot from Bot Dependencies panel:
1. Select required file(s) listed under Bot Dependencies
2. Click on Copy/Copy All
3. Create/Open the Bot where you want to copy the dependent file(s)
4. Click on Paste
5. The dependent file(s) are copied and listed under Bot Dependencies
Note: If the dependent file is already present in the Bot it shall not be copied and an error message
appears:
Delete a file
Tip: You can use the System Variable $AAApplicationPath$ if the task will be uploaded for use by
other users.
All dependent files are automatically uploaded to/downloaded from the Control Room.
Uploading or Downloading TaskBots, Workflows and Dependencies on page 85
Commands
Overview
An Active Directory is a directory service that is provided by Microsoft. This facility assists the Administrator
in managing users across a group or wider organization.
Tip: All fields for the Active Directory command support the use of variables.
Automation Anywhere Enterprise uses LDAP (Lightweight Directory Access Protocol) to read from and edit
users in the Active Directory. The Server name and Domain name are combined to create an LDAP path,
which is used to connect to the Active Directory.
To manage users in the Active Directory, ensure that a connection is established between the
Administrator and the Active Directory server. Users who are logged into the Active Directory should have
privileges for connecting to the Active Directory server and viewing the Server name, Domain name, user
name and password details.
Sub-Commands
Tip: You can opt to input 'Credential Variables'* by selecting the required credential keys from
the list of 'Credential Variables' for enhanced security. Refer to Assigning credential variables from
credential lockers on page 271
4. If you do not know the Parent path, use the browse button to locate it.
<update>
6. Enter the details for a new user. Check the password option check boxes as needed.
7. Click Save to complete the process.
a. Rename User: Use the check boxes in the 'Enter Modify User Details to rename the user
logon name and/or the user account name.
b. Enable User Account: Enables a user account.
c. Disable User Account: Disables a user account. Select the User Name or Logon Name to
disable either one, in the 'Enter Modify User Details' section.
d. Delete User: Deletes the user from the Active Directory. Select the User Name or Logon
Name to delete either one, in the 'Enter Modify User Details' section.
e. Update User Details: Use this option to update the user's details.
f. Update Account Options: Use this option to set account attributes for the user. Select from
four attributes: User must change password at next login, Is Active, User cannot change
password, and Password never expires.
g. Change Password: Use this option to change a user's password.
h. Set Property: Use this option to assign a value to a user property , view the current details
and update them.
Tip: Alternately, if you are unsure of the 'User Name' that has to be modified, click the browse button
in 'Enter LDAP Path' section. You will be guided to the 'Active Directory Object Browser'; select a user
from the list to perform any of the above 'User Actions'.
2. Select options for GroupName, Description, Group Scope and Group Type.
a. Adding/Editing/Removing multiple users in a Group: You can select a user or enter multiple
users to add/edit/remove in/from a group from within the group list of the 'Active Directory Object
Browser' Window.
Input the user names in the 'Enter user(s)' text box. If assigned, you can also insert variables.
a. Adding Logon Names as User(s): If your Active Directory comprises users with same names,
you can add 'Logon' names instead as 'User(s)'. To do so, select the option 'The above names
are Logon Names' in the 'Active Directory Object Browser' window. Optionally, insert variable(s), if
assigned.
b. Editing Logon/User Names: You can edit your Logon Name, User Name and even the LDAP
string, if input incorrectly.Select the User, Click 'Edit' and you shall be guided to the 'Active
Directory Object Browser' window, wherein you will be able to input the necessary changes. Click
'Save' once done.
Note: When editing a User Name, you can also select the 'Logon Name' option.
1. Remove Users from Group: Use this option to remove users from a group. A user list is displayed.
Use the Add and Remove buttons and click on Remove Users.
2. Set Property:Use this option to assign a value to a group property.
2. Select options for: Rename Object, Delete Object, Move Object, and Set Property.
a. Rename Object: Use this option to rename an existing computer or organizational unit.
b. Delete Object: Use this option to delete an existing computer or organizational unit.
c. Move Object: Use this option to change the location of an existing computer or
organizational unit.
d. Set Property: Use this option to assign a value to an object property.
Search Command:
This command enables you to search the Active Directory for users of a group or run a query on the
Active Directory. Follow these steps to insert the Active Directory - Search command.
1. Double-click or drag the Active Directory - Search command to the Task Actions List pane. The
Active Directory main window is displayed.
2. Select one of the following options from the drop-down window:
1. Get All Users of a group: Use this option to find all users that are members of a group, and stores
them in a list variable. Depending on the return type of the list variable, it contains the user names
or the LDAP paths for the members.
1. Run Query: Use this option to specify an Active Directory query and run it. The query results are
stored in a list variable, either for object names or LDAP paths, depending on the option selected.
Overview
Automation Anywhere makes it easy for you to integrate any application with your automated tasks using
simple drag-and-drop operations. The App Integration command supports a large number of applications,
including Java and Windows applications.
Sub-Commands
The App Integration command is flexible, enabling you to specify a range of text to capture. Use the
Before and After keywords to specify the range.
Example: In the text string:
• Specify "Version" in the Before keyword field, and "Copyright" in the After keyword field.
• You can also specify that you want to trim the captured text to remove leading and trailing spaces.
• Use this command to capture scrollable text that you cannot normally copy from documents like PDFs.
If you enable ‘Secure Recording mode’, no images are captured for preview and an error message
appears “Secure Recording Mode. Image not captured.” Using the Secure Recording Mode on page 37
Citrix Automation
When automating processes in the Citrix environment, enterprises are faced with the challenge of objects
not getting captured as Citrix platform presents a virtual window. To ensure automation is built and
executed as it should, Automation Anywhere has introduced the Citrix Automation command
Citrix Automation uses OCR and Image Recognition to record and capture mouse clicks/moves and
keystroke actions in Citrix environment. It enables you to select, activate and differentiate between different
windows during record and play.
Pre-requisites
Before using this feature to access the applications remotely, ensure that:
1. Citrix Receiver is configured to your machine.
Tip: Citrix Receiver version 14.4.1000 and earlier must be pre-installed; if Enterprise is already
configured, you will have to re-install after installing Citrix Receiver. Refer the AAE in Citrix -
Installation Guide shipped with the product.
2. Your Citrix machine credentials are in place. e.g Citrix Host/Server ( IP Name), Domain, Username
and Password.
3. Product should have a Citrix license enabled.
4. Port 1494 should be open for communication.
To create Citrix tasks, you will first need to connect to a remote session and begin recording task relevant
actions. For these you will be making use of the:
• Session Manager
• Citrix Automation Viewer
Connect either to a new or an existing Citrix session by dragging or double clicking 'Citrix Automation' from
the Commands list given in the Workbench.
Note: Initially, you will have to connect using the 'New Session' option. You can connect to an 'Existing
Session' thereon.
1. Using the Session Manager, connect to either a new session or an existing one depending upon the
automated task requirement.
2. Specify the session name.
Note: If using in continuity it is important to provide the same session name across all Citrix
commands.
Note: Use 'Connect to a new session' within an existing task, if you wish to start a new session
specifying different credentials.
Moreover, if connected, the Session Manager is automatically populated with the appropriate
connection credentials.
To delete the session, click on the delete button given near the session name.
3.
4. Click Connect . You will be connected to a remote session from the Citrix Automation Viewer:
The Citrix Automation Viewer provides an intuitive interface to work with your remotely accessed
applications for automation tasks.
You can record various actions as and when you perform those within the Citrix environment. You can edit
them while configuring without exiting the Viewer. These are then saved separately in the Workbench for
better management.
Legends
1. Use 'Record' to record actions.
2. Use 'Refresh Screen' to adjust the view to reflect the actual change.
3. Use the 'Remote Desktop View' to perform actions such as click, type, get text etc.
4. Displays the selected window title name.
5. Displays the current session name.
6. Displays the actions recorded with co-ordinates.
7. Displays the action details such as which action to perform, location name, image search and text
search relevant options.
Begin your Citrix automation tasks by clicking 'Record'. Record mouse clicks (Right, Left and Double Click),
keystrokes (Type), Get Text and Wait. Also, edit these actions as and when you record.
Tip: After launching the Viewer and connecting if you press record/cancel, the Remote Citrix Viewer is
minimized to the Task Bar. You can use this to verify recorded actions by clicking on it.
• Select the application by defining the area and click within the window where you want to open the
application.
• To select an area, hold the mouse button and drag across the required area for selection. The area
is depicted in a square with a markup and the co-ordinates field is automatically populated under the
'Action List' window.
Tip: Click on the button above the Action List if you wish to delete the selected action. However, you
cannot delete the action list items, if you re-record after opening the Viewer in edit mode.
• When you select an area, it is depicted in green with a 'Properties Window' beside it. Here, you define
the required action:
• The action is mirrored in the minimized 'AA Remote Client Viewer'. You can now record the next action.
Tip: If for some reason the change does not reflect in the Citrix Viewer hit 'Refresh Screen'.
• The 'Window Title' denotes the application selected for recording. You can select one from the list if
multiple applications are being recorded.
• If the window title does not show up in the list, click the 'Refresh' button:
Note: Windows without title will be denoted as Window1:"", Window2:"" and so forth as shown:
Also ensure that you keep the Session name consistent while recording.
• • You can view the session details when you hover the mouse over 'Session':
• Click 'Stop' when done.
Saving Tasks
Once you 'Stop' recording, the Action List is populated with various actions that you have defined. Your
Viewer would depict those as shown:
Note: The recorded actions are saved as separate commands in the Workbench:
When you open a command in edit mode i.e. after saving and opening from the command line, it will be
shown as:
• You can edit recorded actions such as:
1. Select a Window Title or assign it to a Variable,
2. Specify Session Name.
3. Modify existing Session details such as Username, Server Details etc.
4. Perform actions based on the control selected and specify the options provided therein.
You can perform various actions such as Click (Right, Left and Double Click), Type, Get Text and Wait
when recording and/or editing your tasks.
1. Click/Right Click/Double Click -
2. Type -
3. Get Text -
4. Wait -
1. Specify text related options such as encrypting (Mask), clearing text and delay during the type
action. While getting the text properties, if you are using the OCR option, you can adjust the
'Threshold' value and 'View the Captured Text' to arrive at appropriate threshold level.
2. and lastly provide a wait for screen delay option in milliseconds.
• Default value is 5000 milliseconds.
1. If the connection does not get established, you can open the port (1494) from firewall.
2. If you are facing connection issues verify whether the registry has following entries or not:
3. If, while recording, you are unable to connect, close all open Citrix Sessions from the Task Manger
and re-connect.
a. For 64-bit machines: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA
Client\CCM][HKEY_CURRENT_USER\Software\Citrix\ICA Client\CCM]
b. For 32 bit machines: [HKEY_CURRENT_USER\Software\Citrix\ICA Client
\CCM][HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\CCM]
4. If the record button is disabled, you can make the following registry entries:
a. For 64-bit machines: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA
Client\CCM -> New DWord value "AllowLiveMonitoring" and set Hexadecimal
value to "1".HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client
\CCM -> New DWord value "AllowSimulationAPI" and set Hexadecimal value
to "1".
b. For 86-bit machines: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\CCM->
New DWord value "AllowLiveMonitoring" and set Hexadecimal value to
"1".HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ICA Client\CCM-> New DWord value
"AllowSimulationAPI" and set Hexadecimal value to "1".
5. If your Citrix task does not run, verify that both AAE main exe and player are in Administrator mode. If
any one is working in normal mode, it might not play.
6. If tasks fail when they are played in machines other than the ones they were created, adjust the
display for "Clear Text Type" from: Control Pane > Appearance and Personalization > Display.
7. For effective task run ensure that you select the window area appropriately.
8. For Get Text property to work, ensure OCR/MODI are installed.
9. To ensure Type (Keystrokes) reliability, set delay speed at 25.
10. To enable IR logs, you can add the following tag to AA.Settings
<Player>
<imagerecognition>
<sourceimageforir>
D:\IR\source.png
</sourceimageforir>
<checkimageforir>
D:\IR\destination.png
</checkimageforir>
</imagerecognition>
11. To enable trace logs, you can add the following tag in the player settings:
<log>
<debug>True</debug>
<error>True</error>
<fatal>True</fatal>
<warning>True</warning>
<information>True</information>
</log>
Clipboard Command
Use this command to automate Windows clipboard activities.
Overview
The Windows Clipboard is a very common application, and is used for a wide variety of purposes. When
you copy text to the Clipboard (for example, by using Ctrl+C), you can then paste this text in another
application (by using Ctrl+V). Automation Anywhere provides a system variable, named $Clipboard$, that
you can use to retrieve text that has been copied to the Clipboard.
Sub-Commands
To insert a Clipboard command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Clipboard commands to the Task Actions List pane. The Clipboard
window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use this command to assign the value of any variable that has been created using the Variable Manager to
the Clipboard. You can then access this value by using the $Clipboard$ system variable.
Use this command to assign the value contained in the Clipboard to any value type variable that has been
created using the Variable Manager.
Comment Command
Use this command to insert comments in your automation tasks to provide additional information about the
TaskBot / MetaBot Logic. Comments are ignored when the TaskBot / MetaBot Logic runs.
Comments are useful in annotating the TaskBot / MetaBot Logic steps. Some people use comments to
extensively document details about their TaskBot / MetaBot Logics. Some people use fewer comments just
as reminders.
Inserting a Comment
The comment is displayed in green in the Task Actions List, and is always saved as a single line. Multiple-
line comments are displayed as a single line when the comment is saved.
Sample Comments
Database Command
Use this command to integrate databases with your automated task and move or capture data.
Sub-Commands
Overview
Automation Anywhere enables you to transfer data between a database and other applications. You can
import or export data, in various formats, and convert data from one format to another. For example, you
might want to transfer and convert data while completing a data migration project.
You can also transfer data from a custom database to a Microsoft Excel spreadsheet, or from one
database to another in predefined formats.
Restriction: For the Database command, Microsoft Access 2007 and Access 2010 users are required to
use Microsoft Office 12.0 Access Database Engine OLE DB Provider.
To insert a Database command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Database commands to the Task Actions List pane. The Database
window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Connect Command
Use this command to connect to a database by providing a session name and a connection string.
To complete the connection string, click the browse button to display the Data Link Properties window.
Select the database provider and type the full path of the data source. When done, click on Save.
You can opt to insert 'Credential Variable' as a Connecting String by pressing function key 'F2' for
enhanced security instead of building the Connection String. Select the required Credential Key and it's
Attribute. Assigning credential variables from credential lockers on page 271
Tip: When using the 'Connect' command to select a target database, click on the 'Test Connection' button
in the 'Data Link Properties' window to ensure that the database connection is working.
Note: In order to make the bot more secure, you can choose to add the entire connection string to the
Credential Manager and use the corresponding Credential Variable as the connection string.
Disconnect Command
Tip: If you must use wildcards when executing SQL queries, insert "*" if using MSAccess or "%" in
MSSQL.
Insert/Update/Delete Command
Use this command to specify an Insert, Update, or Delete operation by using a Select statement.
Use this command to run an existing procedure that is stored in your database. You can add and update
by providing Input and Output types of parameters.
You can export the data file to a CSV file in a specified location.
The following code snippet illustrates how a TaskBot / MetaBot Logic can use a LOOP command to
transfer data from a database to a target application.
Tip: Use LOOP commands in conjunction with the Database commands to transfer data from a database
to another application. For example, you might loop 'Each row in an SQL Query dataset'.
Delay/Wait Commands
Use the delay command to add a delay at a particular point in an automated Taskbot / MetaBot Logic. Or
the wait command to insert a wait condition in an automated Taskbot / MetaBot Logic.
Delay Command
• In certain cases, you might want a Taskbot / MetaBot Logic to wait a certain amount of time before
moving to the next command. You can use a Delay command to make the Taskbot / MetaBot Logic
wait, and you can specify the amount of wait time.
• The Loop command is one of the more powerful commands in Automation Anywhere. When using
loops, inserting delays can be helpful for performing the subsequent actions in the Taskbot / MetaBot
Logic, optimizing the timing that occurs.
Note: You can assign a variable to 'Regular Delay > Delay' and 'Random Delay > From and To' options.
Wait Command
• For some applications, automating actions might require waiting for a screen to change, or another
window to open. Let's say you want to wait for the contents of a screen (or an area within your
application) to change before performing the next set of actions (such as commands, mouse clicks, or
keystrokes). This is useful in many application windows where the text is not a selectable format.
• In this case, you might mark the area by using the capture button. An image will be displayed in the
image preview so that you can verify the captured portion. Keep in mind that the sample image is not
used for comparison while the Taskbot / MetaBot Logic is running; it is only used to verify that the
image was captured correctly. When the Taskbot / MetaBot Logic runs, a screen shot of the area is
captured, using the coordinates relative to the screen or window that you've specified. Here, let's call
this image 'imageA.'
• Automation Anywhere now waits for the amount of time to pass that you've specified, then begins
comparing the images on the page to imageA. It continues to compare the image in the marked
rectangular section to imageA, and when differences occur, the comparison stops and the Taskbot /
MetaBot Logic proceeds to the next command.
• However, if the images never differ within the specified time, it either stops the Taskbot / MetaBot Logic
or proceeds to the next command.
Sub-Commands
•
• Wait For Window Command
Use the Wait For Window command to wait for a specified window to open or close before the Taskbot /
MetaBot Logic performs the next command.
Use this command to wait until a rectangular image on the screen changes before the TaskBot / MetaBot
Logic performs the next command.
Note: You can assign a variable when selecting a window in 'Wait for Window' and 'Wait for Screen
Change'.
Overview
You can use the Email Automation command to intelligently automate your mail server functions and
handle incoming email messages. Specifically, you can automate the following activities:
• Manage your incoming email messages and download attachments to specific folders.
• Clear unwanted email messages.
• Communicate with your mail server and monitor email activity.
• Extract email data (such as Subject, Message, From:, To: , CC:, and attachments) to applications
(Excel, Word, Notepad, and others) or folders on your computer.
• Select either IMAP or POP3 servers.
• Organize email messages while downloading them, based on status (All, Read, and Unread).
• Select either HTML and Plain text formats for your email messages.
Sub-Commands
To insert an Email Automation command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Email Automation commands to the Task Actions List pane. The
Email Automation window is displayed.
2. Specify the email server information in the Email Server Details fields. Provide a Host name, user
name, and password.
Tip: You can provide Credential Variables* from the list by pressing function key F2 for enhanced
security. Assigning credential variables from credential lockers on page 271
3. Select a server type. Depending on the email server in your environment, select either IMAP or POP3.
In case of incorrect Hostname or Port, the following error message appears:
4. Select an email status (All, Read, or Unread).
5. Select a message format. You can download messages in HTML or plain text format.
6. Optionally specify a location to which you want to download the email data.
7. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use this command to download all incoming email messages from the mail server to a specified folder on
your computer.
The following screen shot shows how you can download messages from a POP3 server in HTML format.
Use this command to delete all email messages from the mail server.
Use this command to delete the most recent email message from the Inbox. Use a LOOP command with
the Email Automation command.
Overview
By using the Error Handling commands, you can isolate errors that occur when running your TaskBot /
MetaBot Logic.
When an error occurs, you can continue the TaskBot / MetaBot Logic after the error, or stop the Taskbot /
MetaBot Logic.
Sub-Commands
Automation Anywhere provides the following options for error handling when an error occurs:
1. Take Snapshot: In case of any error, take a snapshot of the screen.
2. Run Taskbot / MetaBot Logic: Run another TaskBot / MetaBot Logic when the current TaskBot /
MetaBot Logic encounters an error.
To avoid task failure when the task is deployed from Control Room, use the variable
$AAApplicationPath$ instead of any other user defined variable in the Select Task field. If you do,
you are shown the following error:
3. Log data into file: Log the error into a file.
• For example, you can log the Error Line No. and Description, then use the system variables $Error
Line Number$ and $Error Description$.
1. Send Email : Send an email when the error occurs. Optionally 'Attach Snapshot' and/or 'Attach
Variable'. You can configure email settings from Tools > Options > Email Settings
2. • On selecting 'Attach Snapshot', a snapshot of the screen is attached to the email.
• On selecting 'Attach Variable', a text file that lists the values of all Variables (System Variables +
User Defined Variables) is attached to the email.
Note: The System Variable Excel Cell will not be attached as the values input are dynamic.
1. Variable Assignment: Specify a value to be assigned to a variable and Set Task Status Pass or Fail
depending on the Error handling action.
• This is more useful when one wants to Continue running a task, and thus in that case the user
wants to set a specific value to a particular variable.
Use any or all four of these options in combination. For example, you can run a task and log data to a file.
When any of the Begin Error Handling option is selected, End Error Handling is automatically inserted
in the Workbench. However, one can also specifically select End Error Handling action when the related
actions are completed.
When you 'Enable' Secure Recording
If you click on ‘Take Snapshot’ option and save the command while the ‘Secure Recording Mode’ is
enabled, a warning appears.
If you wish to continue, click ‘Yes’, and the command will be saved. If you click ‘No’, you are navigated
back to the command where you can ‘Cancel’ the command. Using the Secure Recording Mode on page
37
Excel Command
Use this command to transfer data to and from Microsoft Excel spreadsheets.
Overview
The Excel command is one of the most powerful commands provided by Automation Anywhere. Microsoft
Excel is one of the most highly used applications in the world today. Most operations that involve using
spreadsheets require repetitive tasks that can be automated.
Many Excel automation scenarios have been implemented by companies worldwide. Some common
scenarios include:
• Copying data from one Excel spreadsheet to another.
• Extracting data from an application to an Excel spreadsheet.
• Extracting data from a website to an Excel spreadsheet.
• Moving data from an Excel spreadsheet to another application.
• Transfer data from Microsoft Access to Excel.
• Transfer Excel data to a website form.
• Delete rows or columns in Excel.
• Compare two columns or two cells in an Excel spreadsheet.
• Sort data in Excel spreadsheets and delete duplicate rows.
You can also run Excel macros as part of complete, end-to-end processes.
Note: The Excel command is only supported for Microsoft Office 2000 and later.
Sub-Commands
Use this command to open an Excel spreadsheet. If your TaskBot / MetaBot Logic involves working with
many spreadsheets and workbooks, you can specify the session name, sheet name and even passwords
for users with read only or edit rights. Also, fetch data from spreadsheets with headings.
Enabling Contains Header option -You can retrieve/fetch data from cells in spreadsheet(s) that contain
headings in the first row. You can enable the option in Open Spreadsheet to be able to apply it to relevant
sub-commands for that particular session.
Refer Excel Command - Contains Header on page 138 for details.
• Excel Cell System Variable - has been introduce exclusively for the 'Contains Header' option; hence
we recommended you use it when configuring Excel operations - Get Cells, Set Cell, Go to Cell, Find/
Replace and Delete Cells.
Note: For Automation tasks created in versions 8.1 and below, the Contains Header was applicable to
Get Cells command only. Hence to ensure that those tasks run properly, it is recommended that you re-
configure the command.
Spreadsheet Password - Password options can be enabled in 'Advanced View'. You can open/edit your
password protected spreadsheet(s)and workbook(s) by enabling the 'Spreadsheet Password' option.
Specify the password(s) to open and/or modify your spreadsheet(s).
If you wish, you can assign a variable to your password(s). The specified password(s) are secure as they
are encrypted. You can opt to provide a local variable or a 'Credential Variable' for enhanced security* by
clicking function key 'F2'. Learn More
*Applicable to Enterprise Editon only from version 10.3
Note: When enabling the 'Spreadsheet Password' option, ensure that you specify either the 'Read Only' or
'Editable' mode listed in the 'Open Read-Only Recommended Spreadsheet' option.
Open Read-Only Recommended Spreadsheet - You can also select 'Open Read-Only Recommended
Spreadsheet' independently to open these in 'Read Only' or 'Editable' Mode.
• For instance, if your spreadsheet is password protected and read only you will be required to specify
the 'Password to Open' plus select 'Read Only Mode'.
• If, however, you specify passwords to 'Open' and 'Modify', you have the option to open the spreadsheet
in either 'Read Only' or 'Editable' Mode, as required.
Use this command to complement the Open Spreadsheet command. It closes a spreadsheet that is
previously opened using an Open Spreadsheet command. The command identifies the spreadsheet using
the session name that was provided in the Open Spreadsheet command.
Use this command to retrieve the values of the active cell or a specific cell, as well as a range of cells from
the spreadsheet opened by the Open Spreadsheet command. When you retrieve values for an active or
specific cell, you can assign the value to a variable.
When retrieving values from multiple cells, the values are assigned to an $Excel Column (index)$ system
variable. You can use this variable in subsequent commands, for example, to loop through each row in the
spreadsheet.
Use this command to set the value of the active cell or a specific cell in an Excel spreadsheet previously
opened using the Open Spreadsheet command. You can also use a variable to assign the value in the cell.
Go to Cell Command
Use this command to move to a specific cell. The movement options include:
• Move one cell to the left or to the right of the active cell
• Move one cell above or below the active cell
• Move to the beginning or end of a row or column within a spreadsheet that was previously opened
using the Open Spreadsheet command.
Note: In Active Cell, End of the row/column refers to "end of the row/column where the data ends";
not the end of spreadsheet row/column.
Use this command to run an Excel macro that is stored within an Excel spreadsheet that was previously
opened with the Open Spreadsheet command.
Note:
Note: Automation Anywhere now enables you to Run Local and Global Macros seamlessly.
Use this command to delete the values in the active cell or in a specific cell within an Excel spreadsheet
that was previously opened using the Open Spreadsheet command.
Find/Replace Command
Use this command to find and replace data in a spreadsheet within an open workbook. You can specify a
cell range with specific search options.
Use this option when opening an Excel spreadsheet in which Add-ins are required.
To insert an Excel command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Excel commands to the Task Actions List pane. The Excel window is
displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
To copy the content (data) of selected cells from Excel to notepad, follow the steps given below:
1. Launch the Workbench.
2. Drag and drop or double click the 'Open Spreadsheet' option under the 'Excel Command' node to the
Task Actions List pane.
a. Specify the session name and spreadsheet path. Select the option 'Specific Sheet Name' if it has
more than one spreadsheet worth of data.
b. Also select the 'Load Add-in' option, if applicable.
c. Click Save.
3. Drag and drop/double click the 'Get Cell' option under Excel Command to copy the cell data.
a. Specify the option 'Get Multiple Cells', session name and cell range in the 'From Specific Cell' &
'To Specific Cell' to copy multiple cells from the spreadsheet.
b. Click save.
• The next step involves opening the application to which the cells are to be copied.
• At this juncture, you need to insert a loop that allows you to copy each row from the spreadsheet
specified in the 'Open Spreadsheet' session.
Contains Header allows you to retrieve/fetch data from the active spreadsheet that has its first row defined
as a header. You can define the option in Open Spreadsheet for a particular session. It is applicable to
Excel operations Get Cells, Set Cell, Go to Cell, Find/Replace and Delete Cell for that particular session
(as configured in Open Spreadsheet).
Also, in cases where one or more columns of the target Excel spreadsheet change position due to any
update (i.e. introducing new columns/deleting existing columns), the corresponding automation TaskBot /
MetaBot Logic has to be updated to accommodate the change. Using 'Contains Header' you can enable
the TaskBot / MetaBot Logic to automatically map re-positioned columns of the target Excel spreadsheet.
You can use the System Variable - Excel Cell when configuring Contains Header. This variable is
exclusive to Contains Header.
Excel Cell should be used while configuring Excel commands Get Cells, Set Cell, Go to Cell, Find/Replace
and Delete Cell. During play time, the variable will indicate the column name and position of the cell from
the header. It gives the column reference to the defined cell; e.g cell defined is A5, it will refer to Row A ,
Column 6, if 'Contains Header' is enabled.
Note: The string defined in the variable has to be an exact match. For instance, while retrieving/fetching
data from each cell/specified cells under the heading 'Id', use the System variable $Excel Cell(Id,2)$;
variables such as '$Excel Cell(id,2)$' or '$Excel Cell(<space>Id<space>),2$' will be considered invalid.
When you use this variable, without configuring the Open Spreadsheet command, the program throws an
error during play time - "To enable Excel Cell variable configure Open Spreadsheet command."
To know more about the variable, refer Excel System Variables on page 290.
You can apply the Contains Header option for Excel operations:
1. Open Spreadsheet - Contains Header option is controlled from this sub-command as it is configured
to the session specified here. Consequent Excel operations will consider the option; whether selected
or not for the session specified in this command. Hence, configuring this command is a must.
Reference Points:
• When you open multiple spreadsheets during automation, the program considers the last
spreadsheet action. It means that if 'Contains Header' is enabled in Session 1 and not in Session
2, the consequent command will not have Contains Header enabled unless you specify the
particular session that has Contains Header (Session 1 in this case).
• In spreadsheets with duplicate header name/content, the program will consider the first occurrence
of the header name/content.
• If you include an invalid value or the header row mismatches, the program will throw an error
during play time.
• You can input maximum three (3) alphabets for a Column title (e.g. ABC); if you input more then
you will encounter an error "Check the value specified in the Column Title. You can input up to 3
alphabets only."
1. Get Cells - For the 'Get Single Cell' or ' Get Multiple Cells' parameters, include the Excel Cell variable
in the 'Specific Cell' or 'From Specific Cell' and 'To Specific Cell' text boxes as shown:
In the variable, input the cell heading title. For e.g. if the cell range specified is A5 through A10,
define the variable with heading title as given in cell A1; in this case "Id".
Note: n editions earlier to 8.1, Contains Header was applicable and available in Get Cells command
only. If you are re-configuring a task that uses that version with 'Contains Header' enabled, it will be
"grayed out." It is recommended that you re-configure the command in the task if you want the task to
run properly in the current edition.
• Set Cell - You can apply the 'Contains Header' option to parameters Active Cell and Specific Cell when
configuring the Set Cell command. If the cell position shifts, values in the specified cells will be set
appropriately.
You cannot, however, reset value in the cells if the selected cell, is a header cell. You will encounter
the error "The specified cell is part of the header row. You cannot set value in it as 'Contains Header' is
enabled." during play time.
You will also not be allowed to set the value of a cell that is defined as a header title. Same is true, if it's
in edit mode and the option is enabled.
• Go to Cell - You can Go to a specific or active cell when 'Contains Header' is enabled. All conditions
that are applicable during Set Cell are also applicable here.
Note: In Automation Anywhere Excel Command, Active Cell > End of the row/column refers to "end
of the row/column of data"; not the end of spreadsheet row/column.
• Delete Cells - When using this command for 'Contains Header', you will not be allowed to delete the
cells that have a header title defined i.e. the first row of the spreadsheet. If you have specified a cell that
is defined as a header - either by using the active or specific cell parameter, you will encounter the error
"The specified cell is part of a header row. You cannot delete it as 'Contains Header' is enabled." during
play time.
• Find/Replace -When using this command for 'Contains Header', you will be allowed to Find a cell value
by Row/Column but Replace the content in only those cells that are not defined as header titles. If you
specify a cell that is defined as a header, you will encounter the error "The specified cell is part of a
header row. You cannot replace its value as 'Contains Header' is enabled." during play time.
You can configure the Export Dataset command from Workbench → Commands.
1. Create a Screen using required application. Creating a MetaBot on page 353
2. Configure the Screen for required parameters. Configuring MetaBot Screens on page 362
Tip: If an object does not display or displays an unidentifiable text and/or number, its recommended
you provide an alias to that object during Screen configuration. Configuring MetaBot Screens on page
362
3. In the Logic Editor, select Export Dataset from the Commands list.
4. Start filling in details using a combination of variables, text and controls. Unless a field is populated,
you cannot move to the next.
Note: All the objects which are not selected for automation execution are disabled by default in the
Value column.
• You can use either the direct assignment of variable i.e. assign a Value or indirect assignment i.e.
assign value from a text document as shown:
• You can choose to create a variable, if not present when inserting one. In the Value field, press
function key F2 to launch Insert Variable dialog. Click New to create a variable.
• Value, Random, Array, and List type variables are supported in Export Dataset
• Tip: Define an Array type variable to export 'Values' that can be filled multiple times for a single
'Entry Name'. Adding, Editing and Deleting Variables on page 380
• You can also insert object values using the properties window. Double click the Value field to
launch
a. Select Action that needs to be performed during Logic execution. This can be changed if
required.
b. Select the Property Name
c. Select relevant variable
d. In Advanced Options specify:
1. Wait time for the object to exist. This can be changed if required.
2. Optionally view the Object Properties which will be used to execute the command
• By default, all fields are displayed. Once you select fields for inserting values, and you open in edit
mode after saving only those are shown. To view all click Show All.
• You can also choose to change the sequence in which the object values will be filled when
automation is executed. For this you must click . This is the default state. To lock the sequence,
click . This ensures the sequence is not changed.
• The data that is visible can be filtered on Type and sorted on Type and Entry columns.
5. Your logic will reflect theExport Dataset command in the event data.
6. Save.
Tip: The Save button is disabled until all object values that are selected for Play are filled.
It is a best practice to Calibrate Screens that are used for Export Dataset command if the application is
subject to frequent updates. These would affect the MetaBot during execution.
Overview
These days, most occupations require the organizing and manipulation of files and folders on computer
systems. Automating these tedious tasks can help organizations become more efficient. In addition, less
human error occurs when automating.
The File and Folder commands provide an easy way to automate creating, opening, copying, moving,
renaming, deleting, and organizing files and folders.
The File and Folder commands also offer advanced operations for working with files and folders based on
their size and date created or modified.
Use this command to unzip and extract a group of files that has previously been zipped.
Use this command to print all of the files that reside in a folder.
Use this command to create a shortcut for opening a file. For example, you might want to create a shortcut
to a file on a user's desktop.
Use this command to create a shortcut for opening a folder. For example, you might want to create a
shortcut to a folder on a user's desktop.
Warning: SFTP with SSH1 protocol has been deprecated, which is no longer supported by SFTP.
You can use the Automation Anywhere FTP/SFTP command to automate the following:
• Use FTP for file uploads and downloads
• Back up websites
• Use Secure FTP for secure remote file transfer
The FTP/SFTP command provides an Advanced View option for working with files and folders based on
when they are created or modified.
Tip: To use this command, ensure that Visual C++ Redistributable for Visual Studio 2015 is installed
on the Client machine. You can download the redistributable from Microsoft’s website: https://
www.microsoft.com/en-in/download/details.aspx?id=48145
To insert an FTP/SFTP command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the FTP/SFTP commands to the Task Actions List pane. The FTP window
is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Tip:
For more secure credentials, insert 'Assigning credential variables from credential lockers on page
271'* from the list of variables using the function key 'F2'.
• Anonymous login
• Secure FTP - Select this to use secure FTP. This will also allow you to opt for Key File Authentication.
• Key File Authentication * - Select this option, to use a private key file for SFTP connection. Ensure the
FTP Server has a corresponding public key file.
Note: Key File Authentication and Normal User Authentication for SFTP is not supported for Windows
Server.
• Advanced View - Use this to set advanced connection options. Here, you can specify the number of
reconnection attempts, time between each attempt, transfer mode, transfer type, and default directory
path.
Note: Transfer Mode, Transfer Type, and Directory options are available only if you are using a FTP
connection.
IF/ELSE Command
Use this command to add conditional logic and actions to your automated TaskBot / MetaBot Logic.
Sub-Commands
• File Size
• File Date
• Web Control
• Image Recognition
• Service Running / Service Not Running
• Windows Control
• Else If
• Else
• End If
Overview
One of the most powerful features of Automation Anywhere is the IF/ELSE command. You can use the
sub-commands to perform actions when certain conditions exist.
When using most of the conditional sub-commands, you can specify how long to wait for the condition to
be true before taking another action.
To insert an IF/ELSE command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the IF/ELSE commands to the TaskBot / MetaBot Logic Actions List pane.
The IF/ELSE window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use these commands when you want to perform an action based on whether a file exists. For example, if a
data file exists, you might format the file and upload it to a database.
Use these commands when you want to perform an action based on whether a folder exists.
These are some of the most frequently used commands in Automation Anywhere.
Use these commands to perform an action based on whether an application is running. When a program is
running in the background, you can still perform actions by using this command.
Use these commands to integrate third-party scripts with your automation TaskBot / MetaBot Logic. After
the script runs and issues a return code, Automation Anywhere can determine if the script ran successfully.
For scripts that you have already developed, you can use this command to integrate them with your
automation TaskBot / MetaBot Logic.
Use these commands to run several Automation Anywhere TaskBot / MetaBot Logics, one after another.
The command runs the selected TaskBot / MetaBot Logic, and depending on the return code, determines if
it ran successfully and takes appropriate actions based on the result.
For example, if a TaskBot / MetaBot Logic that monitors your website runs successfully, it means that your
website is up and no action is required. However, if the TaskBot / MetaBot Logic is unsuccessful, it means
that the website is down and you need to take action.
To avoid task failure when the task is deployed from Control Room, use the variable $AAApplicationPath
$, instead of user defined variable. If you add any other variable in the Select Task File field, you are
shown an error:
Use these commands to check whether a machine or server is running, and take appropriate action based
on the result.
Variable Command
This command, though it looks simple, is perhaps the most powerful conditional command. Use this
command to perform hundreds of checks.
For example, you can copy data from an application or website and verify that the data you copied
matches a specific text string. You can also verify a numeric string, or check to see if it is greater than or
less than a variable or a fixed value.
Using AND or OR conditions in IF Variable command*
When you need to include the 'AND' or 'OR' conditions in conjunction with the 'Variable' sub-command, use
the 'Add more conditions' option. It offers you the luxury of including all your AND or OR conditions within
a single parameter, instead of specifying separate parameters for each condition as was the case in earlier
editions of Automation Anywhere.
Enable the 'Match Any' option for 'OR' conditions or 'Match All' for 'AND' conditions (refer image below)
Note: You cannot include both; 'Match Any' + 'Match All' within a parameter. You are required to specify
them within a TaskBot / MetaBot Logic, separately.
Use this command to check whether a file is larger, smaller, or the same as a size you specify.
Use this command to check the date and time that a file was created or last modified. You can specify a
date range using 'between' or 'before' keywords. You can also specify a range using a number of days or a
time schedule hh:mm:ss format.
Use this command to identify whether a specific web control exists on a Web page. For example, your
TaskBot / MetaBot Logic can check for links, text boxes, and drop-down menus.
Use this command when editing TaskBot / MetaBot Logics that are created using the Web Recorder.
Note: If you have upgraded to version 8.1.2 and change the parameter to 'Select Page', you will have to
re-capture the control. Refer Web Recorder Command on page 235 for details.
Use this command to check whether an image exists within another image. Automation Anywhere
can recognize images that are stored in files or captured from a window when the TaskBot / MetaBot
Logic runs. You can even specify a minimum 'percentage match' for the If command to be true. Image
Recognition also provides a powerful tool that enables you to click on an image if it is found within the
larger image.
Use this command to check whether a specific control exists in an active window. For example, you might
check for command buttons, list box items, text boxes, or menu tabs.
Most of the conditional commands let you specify how long to wait for a condition to be true.
Let's say you want to perform an action only if a specific window exists. You know that it might take from
5 seconds to 5 minutes for the window to open. Obviously, you don't want to wait 5 minutes when the
window comes up in just 30 seconds. Automation Anywhere takes care of this for you by following this
model:
Using the IF command, you can select IF and 'Window does not exist,' and type the maximum time in
seconds to wait for the window to be displayed. (In this case, 5 minutes, or 300 seconds.) Automation
Anywhere checks for the window to be displayed.
If it appears in 30 seconds, Automation Anywhere immediately begins running the commands you
specified within the conditional IF.
If you leave the 'How long would you like to wait...?' field empty, or enter '0 (zero)', Automation Anywhere
checks for the condition immediately and runs the actions.
If the condition does not exist, these actions are skipped and the actions that follow the ENDIF are run.
Note: If you enable ‘Secure Recording mode’, images and values are not captured. Using the Secure
Recording Mode on page 37
from RDP, or when object detection is not as reliable such as legacy applications, you can use the Image
Recognition command.
Tip: To get back to the default cross-hair position (center of the image), simply click 'Reset
Crosshair'.
• Once the image is captured, position the 'cross-hair ' at the spot where you wish to click during run
time when the image is found.
A number on the top left corner indicates that the image appears multiple times in the target
screen. The consecutive images are highlighted with a perforated border with the sequence
number at the top.
Tip: For larger images, you can scroll and position the 'cross-hair' as required.
5. Select Image Occurrence when the target image can be found multiple times. Here, you can use
a variable when you do not know the number of times the image might appear on the screen. While
using variables ensure you assign variables that support numeric values.
6. Select any of the three options - Left Click, Double-Click, or Right Click If Image is found within a
larger image.
7. To locate the image at run time, specify options - Match Percentage, Tolerance, and Comparison
Mode:
• Match Percentage: A 100 percent Match Percentage means none of the pixels should mismatch
between the two images. A Match Percentage of 20 means that even if up to 20% of pixels
mismatch between the two images, the images will be considered to match. Use for images that
are quite similar, yet are not matched.
• Tolerance: A 0% Tolerance means the individual RGB values of the pixels being compared must
match, exactly. Similarly, a 20% tolerance could allow the individual RGB values of the pixels to
vary from + 20% to - 20% for a successful match.
• While Match Percentage defines the extent of overall mismatch allowed between Image1 and
Image2, Tolerance defines the extent of mismatch allowed between any two pixels under
comparison.
• The RGB color space uses 8 bits each for red, green and blue and can have integer values
ranging from 0 to 255.
• For instance, when using Tolerance: Case1 - mismatch with 20% Tolerance -
a. Case1 - mismatch with 20% Tolerance -
Image1 pixel values:
Image2 pixel values:
b. Case2 - successful match with 20% Tolerance -
Image1 pixel values:
Image2 pixel values:
In Case1, the images are clearly a mismatch. The difference in R value of both images
exceeds the Tolerance limit by 10 (20% of 255 is approximately 50 and 250 - 190 > 50).
While in Case2 it's a successful match as the difference between the R,G and B values of
both images fall within the Tolerance limit.
3. Gray-scaled mode: Converts pixels to an appropriate level of gray-scale prior to comparing. Use
this when colors are of limited benefit in comparison and you want your test to run faster.
4. Monochrome mode with Threshold: Converts pixels to either black or white prior to comparing.
The threshold value is used while converting the RGB or Gray-Scaled pixels to either black or white
(a pixel value less than the threshold value is black; greater is white). Use this when you want to
recognize multi-colored text against multi-colored backgrounds.
• A 'Quick Test': Use the 'Quick Test' button to quickly ascertain the output is as required. This
eliminates the need to run the entire test.
1. A 'Quick Test', being similar to an actual test, includes the parameters provided for Match
Percentage, Tolerance and Comparison Mode.
2. If variables are used in the TaskBot / MetaBot Logic, 'Quick Test' will not be applicable.
3. For tasks created in earlier versions (prior to 7.5), 'Quick Test' will work only after you recapture the
image as this feature is available from version 7.5 onward.
Secure recording is enabled by the Control Room admin to ensure no sensitive data is captured while
automating tasks. Using the Secure Recording Mode on page 37
When Secure Recording mode is enabled, you will find the following behaviour in command:
1. Creating an automation - When you capture the images during automation, both images - Image1
and Image2 are shown for preview.
• Image1 will not be saved and Image2 will not be shown once you save the command.
2. Editing an automation - When you open the command in edit mode, both images - Image1 and
Image2 will not show in preview.
• When you recapture Image1, it is shown in the preview but not saved. Image2 is not shown.
• When you directly recapture Image2, only that is shown in the preview. However, when you save the
command, the image is not visible.
• When you recapture both images and save the command, Image1 is not saved and Image2 is not
shown in the preview. This is similar to when you save the command when you are creating an
automation.
• When you select From File option for Image2 you will not be able to locate the image once the
command is saved.
You can configure the Import Dataset command from Workbench → Commands.
1. Create a Screen using required application. Learn More
2. Configure the Screen for required parameters. Learn More
Tip: If an object does not display or displays an unidentifiable text and/or number, its recommended
you provide an alias to that object during Screen configuration. Learn More
3. In the Logic Editor, select Import Dataset from the Commands list.
4. Start filling in details using a combination of variables, text and controls. Unless a field is populated,
you cannot move to the next.
Note: All the objects which are not selected for automation execution are disabled by default. To
enter value in those, click on the check-box in Write column.
• You can use either the direct assignment of variable i.e. assign a Value or indirect assignment i.e.
assign value from a text document as shown:
• For variables that make use of credentials or any sensitive data, use Credential Variables.
Select the required variable listed under $CredentialVariables$ from Insert Variables. Refer the
article Assigning Credential Variables for details.
• You can choose to create a variable, if not present when inserting one. In the Value field, press
function key F2 to launch Insert Variable dialog. Click New to create a variable.
• You can also insert object values using the properties window. To configure additional properties
such as delay, search criteria etc, double click anywhere on the corresponding object row and
update the properties.
a. Select Action that needs to be performed during Logic execution. This can be changed if
required.
b. Optionally Insert Keystrokes and/or Mask the keystrokes
c. Type the required text in Enter Text
d. In Advanced Options specify:
1. Wait time for the object to exist. This can be changed if required.
2. Optionally view the Object Properties which will be used to execute the command
• By default, all fields are displayed. Once you select fields for inserting values, and you open in edit
mode after saving only those are shown. To view all click Show All.
• You can also choose to change the sequence in which the object values will be filled when
automation is executed. For this you must click . This is the default state. To lock the sequence,
click . This ensures the sequence is not changed.
• The data that is visible can be filtered on Type and sorted on Type and Entry columns.
5. Your logic will reflect the Import Dataset command in the event data.
6. Save.
Tip: The Save button is disabled until all object values that are selected for Write are filled.
It is a best practice to Calibrate Screens that are used for Import Dataset command if the application is
subject to frequent updates. These would affect the MetaBot during execution.
Note: You can fill the form in OCR mode, IR mode and mixed mode.
3. In the Select Window drop-down list, select the title of the application in which you want to type
keystrokes.
Note: You can insert a variable here by pressing the function key 'F2'. You can opt to insert either
User (Local) variables or Credential Variables for enhanced security.
Learn More about benefits of using Credential Variables.
Applications that you have already referenced in the TaskBot / MetaBot Logic are listed at the top of
the drop-down list. Applications that are currently open are listed below the dotted line in the list.
Tip: Before using the Insert Keystrokes command, verify that the application window is open. If the
application is not listed in the Select Window drop-down list, open the application and click the Refresh
button in the Insert Keystrokes Select Window drop-down list.
4. In the Keystrokes text box, type (or cut/paste) the text you want inserted when the TaskBot / MetaBot
Logic runs.
To insert special keystrokes such as Control, Shift, or Tab, click the button in the Special Keystrokes
box.
• For example, if you want the TaskBot / MetaBot Logic to type Ctrl + C in an application, click Ctrl
Down, type 'c,' then click Ctrl Up. The following commands and text in the Keystrokes window will
be displayed: [CTRL DOWN]c[CTRL UP]. Similarly, if you want to type Ctrl + Shift + a, click Ctrl
Down, Shift Down, type 'a,' and click Shift Up and Ctrl Up.
5. To prevent your TaskBot / MetaBot Logics from being altered by unauthorized users, use the
Keystroke Encryption option. This option hides sensitive information or passwords that are typed using
the Insert Keystrokes command.
6. If required, you can add a delay to this command.
Note: The default delay is 0 (Zero) milliseconds.
You can even associate a variable with delay:
7. Click Save
In the Select Window text box, you can type a wildcard character (*) at the start or end of the window
title. This is helpful, for example, if you expect the window title to change over time. For example, you can
type 'Microsoft Excel*' or '*Excel' or '*Excel*,' so that the window will still be selected when the TaskBot /
MetaBot Logic runs, even if the window title has changed to reflect the name of an open document.
However, if you know the exact title of the window, we recommend that you type the complete window title
to ensure that the actions will always performed only in that window.
4. In the drop-down list at the top, all open applications are listed. Select the application in which you
want to enter a mouse click. A small graphic image of the window you selected is displayed.
If you do not see the application in the drop-down list, make sure the application is open and click
Refresh.
5. For Applications that change titles: If the name of the application window title changes over time,
you can use a wild card character (*) at the start or end of the window title that you specify. This
ensures that the application is consistently found when running the TaskBot / MetaBot Logic.
For example, to ensure the Microsoft Excel application is always found, use 'Microsoft Excel*' or
'*Excel' or '*Excel*'.
Note: If you anticipate that the application title will never change, specify the exact name to ensure that
the TaskBot / MetaBot Logic references the correct application window
1. Click Capture. Automation Anywhere activates the window you selected in step 4. Click in the window
in the location where you want to insert the mouse click. Optionally, you can click Advanced View and
set the following options:
• Select the mouse button to click: Left Button, Middle Button, or Right Button.
• Select the type of click: Click, Double Click, Button Down, or Button Up.
• Select Relative To Screen or Window. Use the Window option when you work with varying screen
resolutions (for example, a dual-monitor).
1. Click Save.
Note: If you enable ‘Secure Recording mode’, no images are captured. Using the Secure Recording Mode
on page 37
5. Select the Mouse Position (From) and click the Capture button to insert the mouse movement.
Alternately, you can specify numeric values, or press the F2 key to insert variables for the X and Y
coordinates in Mouse Position (From).
6. After you click on Capture, Automation Anywhere switches to the active window in the application.
7. In the active window, click on the left mouse button and drag the cursor to the location in which you
want the mouse movement to begin. Release the mouse button. This step automatically captures the
required information regarding the start location of the mouse movement.
8. In the Insert Mouse Move window, select the Mouse Position (To) and click on Capture. Alternately,
you can specify numeric values, or press the F2 key to insert existing variables for the X and Y
coordinates in Mouse Position (To). The yellow prompt bar will change to red if the content you click is
not a table.
9. After you click on Capture, Automation Anywhere switches to the active window in the application.
10. Click on the left mouse button and drag the mouse cursor to the location in which you want the mouse
movement to end. Release the mouse button.
You can also insert a Disconnect command in the task to disconnect the dial-up connection.
Error Messages
If you do not select or specify a connection from the drop-down list, the program will display an error.
Queue Orchestration
Orchestrate complex workflow at ease, configure a Bot to process Work Item from one queue and push the
outcome as Work Item into another Queue using the Insert Work Item command.
To consume work item from a given queue in the Control Room instance that you are connected to, you
must add the Queue Category in the Bot. With this, the bot can consume work items from queues of the
selected category.
1. Go to Variable Manager of your Workbench
2. Click Queue Category provided at the bottom of the Variable Manager panel.
3. Select the Category Name from the list:
4. Click OK
5. The selected Category Name is shown beside the Queue Category link in the Variable Manager
panel.
• When you mouse over the link, the Queue Category name is shown as a tip.
• You can also choose to remove the selected Queue Category. Click to remove the selected
Queue Category.
• Note that when you remove the Queue Category or replace with another Queue Category, you will
have to manually remove the reference in work item variables if used in automation (TaskBot).
• When you run an automation (TaskBot) locally or is deployed from Control Room that has an
invalid reference (since it is either removed or replaced) to the workitem variable, the value of that
variable is shown empty during automation play.
• You can also choose to add another Queue Category in place of the one removed by clicking the
Queue Category link.
6. Now the bot is ready to accept work items from any queue of the selected category.
7. To access the work item attributes from the queue category, you must use the system defined variable
$WorkItem$ in the required command.
a. To add the variable, select a command. For example, to log the data to a file, you can use the Log
to File command.
b. Press function key F2 to add the variable.
c. Select $WorkItem$ from the list of System Variables. Refer System Variables - Specific to
System Settings/Parameters on page 267 for variable description.
d. Select an Attribute Name from the list in Workitem Attributes as shown:
Tip: ll attributes that are part of the selected Queue Category are available for selection.
e. The attribute is added to the command required for your work flow. For example, all attributes
available in the Payroll Automation Queue Category are added to the command as shown:
To add a work item to a Queue, you must use the Insert Work Item command.
1. Select Command → Insert Work Item either from View All list or Categories → Advanced list of
your Workbench
2. The Insert Work Item command window shows list of queues for which you have the Participant
privilege. Select the desired queue name from the list. System displays the list of attributes and their
data type under Name and Data Type columns as shown:
These attributes are from the queue category associated with the selected queue.
3. Start adding data in the Value column as shown:
• You can sort and filter the data on Name, Data Type, and Value columns.
• You can also assign a variable value to these attributes by pressing F2 command and select the
desired variable name from the list.
Note: You should upload the Bot to the Control room and create an automation to consume data from
a queue. You cannot run the Bot directly from your Client.
To launch a website from your TaskBot / MetaBot Logic, follow these steps:
1. Open the TaskBot / MetaBot Logic in the Workbench.
2. Double-click on or drag the Launch Website command to the Task Actions List. The Launch Website
window is displayed.
3. Specify the URL of the website to launch.
4. Click Launch.
5. Select the title of the website. If you do not see the title, click Refresh.
6. Save the command.
Log-to-File Command
Use the Log to File command to create a log file in which TaskBot / MetaBot Logic information can be
stored as the TaskBot / MetaBot Logic runs.
Overview
Logging detailed TaskBot / MetaBot Logic information is an important aspect of optimizing and debugging
your automation TaskBot / MetaBot Logics. Automation Anywhere provides an easy was for you to create
a log file that is full of useful data about the events that occur as your TaskBot / MetaBot Logic runs.
Log files can be saved in the several file formats, including .csv and .txt files. Encoding is provided for log
files with options for ANSI, UNICODE, and UTF8.
Loop Command
Use this command to create loop structures in your automation TaskBot / MetaBot Logic to automate
repetitive TaskBot / MetaBot Logics.
Overview
The Loop commands are some of the most powerful commands in Automation Anywhere. Four types of
loop structures are provided:
• Start Loop
• End Loop
• Exit Loop
• Continue Loop
Sub-Commands
• End Loop
• Exit Loop
• Continue Loop
To insert an Loop command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Loop commands to the Task Actions List pane. The Loop window is
displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Note: You cannot include both; 'Match Any' + 'Match All'. You are required to specify them within a
TaskBot / MetaBot Logic, separately.
Similar conditions are used in If Variable command. Reference IF/ELSE Command on page 151 for
details.
4. Each Row in an Excel Dataset: Use this command in conjunction with the Get Multiple Cells sub-
command of the Excel command. When you have retrieved a range of cells from Excel using
, the rows and columns of the range are stored in the system variable $Excel Column$.
For example, if you retrieve a range of cells from Excel that has five columns, you can access the
five columns of the table by calling $Excel Column(1)$, $Excel Column(2)$, $Excel
Column(3)$, $Excel Column(4)$, $Excel Column(5)$. This command is extremely useful
for transferring data from one Excel spreadsheet to another, or to any other application.
5. Each Row in an Internet Explorer Table: Use this command in conjunction with the Extract Table
sub-command of the Web Recorder command. When you extract a table by using the Web Recorder
Extract Table command, the rows and columns of the table are stored in the system variable $Table
Column$. For example, if you extract a table with five columns, you can access the five columns
by calling $Table Column(1)$, $Table Column(2)$, $Table Column(3)$, $Table
Column(4)$, $Table Column(5)$. This command is extremely useful for transferring data from
a Web page table to other applications, such as other Web pages or an Excel spreadsheet.
6. Each Row in an SQL Query Dataset: Use this command in conjunction with the Database
commands. When you issue an SQL query using the Automation Anywhere Database SQL Query
command, the result set for the SQL query is stored in the system variable $Dataset Column$.
For example, if you issue an SQL query to a database for five columns of data. You can access the
five columns from the result set by calling $Dataset Column(1)$, $Dataset Column(2)$,
$Dataset Column(3)$, $Dataset Column(4)$, $Dataset Column(5)$. This command is
extremely useful for transferring data from a database to other applications, such as a Web page or an
Excel spreadsheet.
7. Each File in a Folder: Use this command to perform an action on all files in a folder. Often times, the
number of files in a folder can change. You can specify a folder and loop through all files in that folder.
You can obtain information about the files and folder by using the following system variables:
• $FileName$ - Use this variable to obtain the name of a file.
• $Extension$ - Use this variable to obtain a file's extension.
• $CurrentDirectory$ - Use this variable to obtain the path of the folder in which the filesa are stored.
All of these system variables return an empty value when used outside the looping command.
8. Each Folder in a Folder: Use this command to perform an action on one or more folders. To access
the folder name within the loop, use the system variable $FolderName$.
9. Each Row in a CSV/Text File: Use this command to loop through each row in a CSV or text file.
10. Loop For Each Message in Server: Use this command to perform an action on each message that
resides on your mail server. You might use this command to save mail attributes, such as Subject,
Message, To:, Cc:, and Attachment.
11. Each Node in an XML Dataset: Use this command to loop through each node of an XML data set to
obtain values from multiple nodes.
Use this command to end the loop. The actions that exist between the Start Loop and End Loop
commands will repeat based on the type of loop you have selected.
Whenever you insert a Start Loop command, an End Loop command is also inserted. If the End Loop is
mistakenly deleted, you can insert an new one.
Use this command to break out from a loop when a particular action or condition occurs. The Exit Loop
command can exist only between the Start Loop and End Loop commands.
Use this command to continue the next iteration of a loop when a particular action or condition occurs.
When a Continue Loop command is reached, the commands up to End Loop are skipped and the next
iteration of the loop is run.
Note: If you enable ‘Secure Recording mode’, no values are captured. Learn More
Note:
Using this command, you can perform actions on these controls or assign the captured properties to
variables.
You can also use this command to simultaneously record actions that you perform.
The following list shows the Windows controls that you can capture and the actions that are available.
Control - Actions
Note: You can insert variables while using Set/Append Text. If the text needs to be encrypted, you
can use Credential Variables for enhanced security. Assigning credential variables from credential
lockers on page 271
Use the Capture a control of a specific type check box to select from a list of controls to capture. Only
this control is captured when using this option. This option can help in avoiding errors that might occur
when clicking on certain controls that possess different attributes.
The controls that are captured are displayed under Control Properties, showing the Control Type, Name,
Value and its Location (coordinates).
Note: Automation Anywhere can perform actions that use only standard Windows controls. If your
application contains customized controls, Automation Anywhere might not be able to capture them.
To capture web controls, be sure to use the Manage Web Controls sub-command in Web Recorder
Command, as opposed to the Manage Windows Controls command. Internet Explorer controls are
recognized by the Manage Web Controls command.
Overview
The Message Box command enables you to insert a message box in a TaskBot / MetaBot Logic when you
want to display a message to the user when the TaskBot / MetaBot Logic runs. You can specify a custom
caption for the message box.
You can specify the following components in a message box:
• Caption: Enter a caption name for your message box.
• Message: Enter your message in the dialog box.
• Scroll bar: Insert a scroll bar in your message. The minimum message length for a scroll bar to be
displayed is 10 lines.
• Close Message Box: Enter the seconds value after which the message box should close.
Common Use Case: Message boxes are useful for issuing a message to the user whenever the TaskBot /
MetaBot Logic concludes running. For example, when a web form TaskBot / MetaBot Logic completes a
run, you might issue a message that states: "Web Form Filled and Complete."
Selecting a Window
To capture an object and its parameters such as co-ordinates and image launch the application that you
want to automate and follow these steps:
1. Select the window from which you wish to capture the object(s).
Note: The command captures the co-ordinates and image of the object, simultaneously.
Coordinates: Use this option in 'Select Play Mode' if the objects are in fixed positions.
Tip: Click 'Recapture Position/Recapture Image' in case of any discrepancy in captured co-ordinates or
image.
/
After capturing the object and its parameters, you can select an action that needs to be performed when
running your TaskBot / MetaBot Logic.
Note: Select Action to Perform will vary depending on the object or its coordinates captured.
Tip: You can opt to use a Variable while using the actions Set Text and Append Text. If the text needs
to be encrypted, you can insert Credential Variables using function key 'F2' for enhanced security.
Assigning credential variables from credential lockers on page 271
• Get/Set Cell
• Set Cell by Index
• Set Cell by Text
• Get Cell Text by Index
• Get Cell Index by Text
• Get Total Columns
• Get Total Rows
• Export to CSV
• Get Property - Use this to capture object properties of multiple controls; namely Silverlight, Flex and
Web applications. Assign the values of the captured object properties to a variable.
• Properties that can be captured using the Get Property action are:
If you wish to change the properties of an object, you can do so by using the 'Search Criteria' option.
1. Click on 'Expand Search Criteria' icon - .
1. Change search criteria by adding or removing the search criteria icon - in the column prior to
'Property'.
Note: You cannot set a search criterion for the property 'Path'.
Legacy Technology
Use the Legacy Technology option when the default technology fails to capture objects or the existing
task fails to play as the target application makes use of legacy applications and/or has a secure
environment.
This option is shown selected by default when you capture object using legacy technologies. However,
while editing the command, if you change its status (select or clear the check-box), you are shown:
If you are unable to capture objects using Object Cloning Command, then refer Troubleshooting Object
Cloning Command for details.
If you enable ‘Secure Recording mode’, no values and images are captured. Learn More.
1. The Edge application should be open when automating using the browser. For this, you can choose to
use Open Program Files command with the URL as a parameter or make Edge as a default browser.
2. If the automation is recorded in Internet Explorer, it will not play in Edge.
OCR Command
Overview
Use the OCR command to extract text from images/pictures and transfer the data to another application.
Sub-Commands
Note: When running the TaskBot / MetaBot LogicBot, the network drive that is specified must be
accessible.
• Capture Image by URL- Use this command to capture an image located on a website URL.
To insert an OCR command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag the required OCR command to the Task Actions List pane.
2. Select/input an appropriate window/area/path/url based on sub-command selected.
3. Optionally, assign a variable by pressing F2.
4. Specify the OCR Engine; either ABBYY, MODI, Tesseract, or TOCR.
• Tesseract is pre-installed when you install the Client as it is bundled with the product. Hence it is
selected as the default OCR enging.
• Since TOCR is a third party component, ensure it is installed separately. The major advantage of
having Tesseract as your OCR engine is that, even if any other OCR engine is not installed, you
can leverage Tesseract for your OCR automation requirements.
• As Automation Anywhere Enterprise platform is extensible, you can configure plug-ins for other
OCR engines. Post configuration these will appear in the OCR engine list and can be used for
automation.
• Note that the OCR engines are available in OCR Command, MetaBot - Add Screens and MetaBot -
Custom Objects.
• If you use Tesseract as your OCR engine, you will need to install Visual C++ Redistributable for Visual
Studio 2015. You can download it from Microsoft’s website.
• If you use ABBYY as your OCR engine, you should first configure it in the app.config file that is
available in <application path>\Automation Anywhere\Enterprise\Client\plugins\commands\ocr
\AABY.
For this to work, add the following details for the app settings tag:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="LicenseKey" value="Sample Key" />
<add key ="EnginePath" value="C:\Users***\ABBYY SDK\11\FineReader Engine" />
</appSettings>
</configuration>
1. Optionally, select Enable image pre-processing (auto-threshold) or use the manual slider or specify
a number for Threshold to adjust gray-scale and contrasts in the captured image. This ensures the
fonts that might be blurred or are of lighter shade can be recognized and extracted easily.
Tip: Use View the Captured Text and adjust the threshold using either the slider or value till you
achieve the expected result.
• For instance, if you wish to capture the text from the given image (this one has a gray background):
• In absence of the threshold option, the result could possibly be:
• However on specifying the threshold value, the result can be as accurate as possible:
2. View the Captured Text and adjust the threshold value till you achieve expected result.
1. Assign the captured text to a variable. Optionally, specify the parameters for filtering the text strings
using 'Before' and 'After' and trimming leading/trailing spaces.
• For example, in the text string"Name: ABC Inc. Location:", if you require"ABC
Inc.",specify Before = "Location" and After = "Name:".
Note: If you enable ‘Secure Recording mode’, no images are captured for preview and an error message
appears “Secure Recording Mode. Image not captured.” Using the Secure Recording Mode on page 37
Pause Command
Use this command to pause an automated task at a particular point when it runs.
Overview
Inserting pauses into your tasks enables you to enter or modify information before a task completes a run.
Insert a pause in your task when you need to check the status of attributes while the task is running. This is
a great way to test and debug your tasks.
When a task reaches a pause, a Resume button is displayed. When you click on the Resume button, the
task continues to run again.
Tip: It is recommended that you use variables with the command as many fields support variables.
Sub-Commands
To insert a PDF Integration command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the PDF Integration commands to the Task Actions List pane. The PDF
Integration window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use this command to create separate images for each page of a PDF file. Follow these steps:
1. Select the PDF file using the Browse button. For encrypted PDFs, provide the user or owner
passwords.
Tip: For enhanced security, you can opt to insert Credential Variables* using the function key 'F2' for
user name and password. Assigning credential variables from credential lockers on page 271
Use this command to extract all form field data and selected text to variables. Follow these steps:
1. Select the PDF file and click the Add button. A PDF Viewer window is displayed, showing all of the
fields as dotted red boxes.
2. Right-click and select Add Field - here a solid red box is visible.
3. The Field Form is displayed, where a variable is assigned to the field. Click OK to view the inserted
fields on the right side table of Inserted Fields.
4. You can also select particular text to store in a variable, if required.
5. Click Save to view the inserted fields in the command. Modify them by using the Add, Edit, and Delete
buttons.
6. Save the command. The inserted field values are stored in the variables when the TaskBot / MetaBot
Logic is run.
Use this command to extract text from a PDF to a text file. Follow these steps:
1. Select the PDF file using the Browse button. Enter passwords for encrypted PDF files.
Tip: For enhanced security, you can opt to insert Credential Variables.
Use this command to merge selected PDF documents into a single PDF file. Both encrypted and
unencrypted PDFs are supported. Follow these steps:
1. To select the PDF files for merging, click the Add button. For encrypted PDFs, user or owner
passwords must be specified.
2. For each PDF file added, specify the Pages to Include. After all files are added, you can modify the
pages to include by selecting each PDF file.
3. Specify an output file path for the merged PDF file.
Use this command to encrypt PDF documents and grant permissions to users. Follow these steps:
1. Select a PDF you want to encrypt and set user and owner passwords for the encrypted file.
2. Select one or more permissions to apply to the encrypted document for the user.
3. Select an encryption level (RC4 40-bit, RC4 128-bit, or AES 128-bit).
4. Specify the name of the output file, with a .pdf extension.
Use this command to decrypt a PDF document that was previously encrypted. Follow these steps:
1. Select an encrypted PDF document to decrypt, and enter the user/owner password.
2. Specify an output file name with .pdf extension to save the decrypted PDF. The password security
is removed for the decrypted file. All permissions that existed for the original file remain, without
password protection. This ensures that all restrictions of the original document remain for security in
the newly created decrypted file.
PGP Command
Use the PGP (Pretty Good Privacy) command to automatically encrypt and decrypt files for security.
Overview
The PGP command helps you to automate the process of encrypting and decrypting files.
The command supports both types of encryption: symmetric (passphrase) and asymmetric (public/private
keys):
• PGP Passphrase: Requires a pass phrase to encrypt and decrypt.
• PGP Public/Private Key: Requires a PGP public and private key file to encrypt and decrypt.
Sub-Commands
• Encrypt Files
• Decrypt Files
• Create Keys
Use this command to encrypt one or more files using one of the encryption methods: either passphrase or
public/private key.
Note: All other options are the same for both encryption types.
Tip:
2. For enhanced security, you can opt to insert Credential Variables* using the function key 'F2' for the
Passphrase. Assigning credential variables from credential lockers on page 271
* Available in Enterprise edition from version 10.3
3. Select a symmetric algorithm. The algorithm options are:
• Idea
• TripleDES
• CAST5
• Blowfish
• AES128
• AES192
• AES256
• Twofish256
9. If required, check the Armor data (text output) option to enable ASCII Armor output.
Tip: For Source or Destination path, use '*.*' or '*.txt' to select multiple files in a folder.
Use this command to decrypt one or more files that have been previously encrypted. You can decrypt files
that are encrypted with either Passphrase or Public/Private Key encryption type.
To decrypt a file, follow these steps:
1. Select the Passphrase encryption type, which requires a specific pass phrase.
Alternatively, select the Public/Private Key encryption type. For this type, locate or specify the Private
Key file. While using password-protected private keys, enter the password.
Tip: For enhanced security, you can opt to use Credential Variables using the function key 'F2'.
Select a relevant Credential Key and its Attributes for the password.
Use this command to create public and private encryption keys. You can add additional security to the keys
by specifying a password that encrypts the keys.
Tip: For enhanced security, you can opt to use Credential Variables using the function key 'F2'.
Select a relevant Credential Key and its Attributes for the password.
Sub-Commands
Overview
You can insert a Play Sound command in your automated task to play a beep or another media file before/
after it runs a particular command.
Use this command to play a beep sound when the task encounters the Play Beep command. You can use
a beep sound to alert users when particular actions take place, or to alert you when prompted for input.
Use this command to play a media file in your automation task. When the task plays the media file, it does
not proceed to the next automation task command until the media file finishes playing.
Overview
One of the most manually intensive activities of any IT staff involve managing printer settings for individuals
and groups. Using the Printer Settings command, you can automate many of these tasks.
Sub-Commands
The Printer command provides the following sub-commands for managing printer settings:
• Get Default Printer
• Set Default Printer
• Remove Printer
To get the default printer using your automated task, follow these steps:
1. Open the Workbench.
2. Double-click the Get Default Printer command.
3. Click Save.
To change the default printer using your automated task, follow these steps:
1. Open the Workbench.
2. Double-click the Set Default Printer command.
3. Select a printer from the list of installed printers.
4. Click Save.
Also See...
Prompt Command
Use this command to insert a user prompt that requests input from a user when running an automated
task.
Overview
Some tasks that are interactive, require the user to provide inputs. The Prompt command allows you
to request inputs such as inputting values, opening a file/folder or/and choosing between yes and no
whenever required while running such automated tasks.
Sub-Commands
Use this command in tasks where the values change frequently. For example, for tasks that interact with
online forms, you can ensure that the user enters the proper values when the task runs.
Further, the value that the user enters during task playback can be assigned to a variable. The variable can
be used in other places within the task, instead of prompting again.
You can also prompt users for passwords and encrypt the keystrokes during playback by enabling the
'Encrypt Keystrokes' option. You will not be able to assign the value to a variable though, if it is enabled.
Use this command to prompt the user for one or more files from a single folder. The value of the files
selected can be assigned to a list variable. You can also configure a caption for the prompt window.
Use this command to prompt the user for a single folder. The value of the folder selected can be assigned
to a value variable. You can configure a caption for the prompt window.
If Command
Use this command to prompt the user for a response (Yes or No) to a question while the task is running.
The value selected during playback can be assigned to a value variable.
Also See...
CSV
Use this option to read data using Comma, Tab or Regional List Separator delimiters from a CSV file.
Note: AAE supports the default regional list separators of English, German, French, Italian and
Spanish.
3. Tab: Use this to specify the delimiter if tabs are used to separate fields in a CSV file.
Contains Header: Use this for CSV files that have the first row defined as headers.
Text
Using this command, read data using Newline, Comma, Tab or Other delimiters from a Text file.
1. Newline: Use this when the text in the file is separated using a newline.
2. Comma: Use this when the text in the file is separated using a comma.
3. Tab: Use this when the text in the file is separated using a tab.
4. Other: Use this when the text in the file is separated using any option other than the ones provided.
Other Options
1. Trim: Use this to trim leading space(s) and/or trailing space(s) from within the CSV/Text file.
2. Session Name: Use this to identify the current session. You can opt to assign a variable as a session.
Methods
1. GET Method
2. POST Method
3. PUT Method
4. DELETE Method
1. GET Method
The GET method means retrieve whatever information (in the form of an entity) which is identified by the
Request-URI.
Follow the below steps as an example for Get Method.
1. URI: Specify the URI for the REST Web Service we want to connect to.
2. Method: Select the GET Method from drop down.
Tip: Use Tab keys and the sub-tabs for Request and Parameter will be populated automatically.
3. Request:
• URI Header: Below Keys with their Value pairs are displayed.
• HTTPS: When the HTTPS connection is used it will be True.
• Server URL: Indicates the main host or the server where the web service is being tested.
• Port No: Displays the port number used for connection to the web service.
• URL Path: Displays relative URL of the specific web service.
Header
Each Key and Value pair for the Header is displayed if applicable. One can customize these header key-
value pair using action buttons.
Actions
1. Add: You can add a Key and Value to a web service request. This can be useful if a recorded request
has additional fields or parameters added to it.
Tip: The user can manually add them. The changes will then be reflected while playing of the
command.
2. Delete: User can delete a particular Key and its value by selecting it from request header. This is
useful when changes to a particular key and its values are known. The changes will then be reflected
while playing of the command.
Use the Send Request button to send the request. This will automatically fill in the Response and can
be saved to a variable for ease of processing.
Tip: You can opt to insert a Credential Variable* using function key 'F2' for enhanced security.
Assigning credential variables from credential lockers on page 271
Parameter
URL: Displays the URL Parameters for the current web service request with Key and Value pairs.
1. Add: You can add a URL/Post Parameters and Value to a recorded request. This can be useful if the
request has additional fields or parameters added to it.
The user can manually add them. The changes will then be reflected in the URI when Send Request is
clicked and/or playing of the command.
2. Delete: Select a particular Parameter for Post or URL which you want to remove. Click Dif elete
button. This is useful when changes to a particular Post or URL parameter is known.
POST Parameter: Displays the Post Parameters for the current request. Applicable when Method is POST
or PUT.
Authorization: REST Web Service supports HTTP Basic, Windows AD and Default Network Credentials
authentication types.
Based on authentication type, add the authorization parameters such as the Domain, Username, and
Password.
• To use "logged-in" Active Directory (AD) user's credentials for authentication - leave all the fields blank.
Logged-in user's AD domain will be considered for authentication purpose.
• To use a particular Active Directory user's credentials for authentication - enter Domain, Username
and Password.
• To use HTTP basic authentication - leave the Domain field blank and enter Username and Password.
You can choose to assign direct values, user defined variables or credential variables for authentication
fields.
Tip: When you input authorization parameters ensure that the service supports that authentication type.
Response
The response for web service supports both XML and JSON formats.
1. Header: Displays the detail keys and values of response header for the request.
2. Body: Displays the response body for the selected request.
This response body should be saved to an appropriate variable for testing of the REST Web Service,
Get Method.
3. Save Response To : Select the variable from the drop down. The entire response will be saved to the
selected variable.
4. Save the command and during Play Time the Response will be stored in the variable.
2. POST Method
The Post method is used as a requests that the server accepts the entity enclosed in the request as a new
subordinate of the web resource identified.
REST Web Service command supports three content types: application/JSON, application/XML, and
default format (x-www-form-urlencoded).
1. Enter URI where you want to Post your response.
2. Select the POST Method.
In the Request Header a drop down will be displayed for the content type. By default, text format is
displayed.
3. For the Parameter tab, use the Add button to Add the value and key pairs when content type is of
default format.
4. Click Send Request button.
5. If the content type is JSON or XML, a multi-line text box is displayed for the POST Parameters for
ease of use. See below example:
6. In Response Header and Body, you can validate the response posted.
7. Save Response To: Select the variable from the drop down. The entire response body will be saved
to the selected variable.
8. Save the command and during run time, the values will be posted to the URI automatically.
3. PUT Method
The PUT method is useful to update data for a particular web service URI. It can also be used to pass
different URI parameters based on the key value pair for updation. Thus a record can be updated using a
key value pair using PUT method with request header.
1. Enter the URI.
2. Select the PUT Method.
3. For the URL Parameters, modify the values as shown in the below example.
4. Click the Send Request button.
5. You will see an HTTP/1.1 200 OK response with the updated Body Parameters.
6. Save Response to a variable and click Save.
4. DELETE Method
The DELETE method requests that the origin server deletes the resource identified by the Request-URI.
In below example we see how for a URI, passing the appropriate Parameter, and sending the Request the
record gets deleted.
1. Enter URI.
2. Select the Method as Delete.
3. Add the URL Parameter to be deleted.
4. Click on Send Request button.
5. The Response will be displayed as success and the record will be deleted successfully.
• URL Parameterization: You can use variables in Request - Header tab for values.
• Parameter: You can use variables for Parameter tab values which includes URL Values, Post values
and Authorization Values.
The following illustrates the use of POST Parameterization of a REST Web Service.
Click Send Request, will display the Set Variable From with values of the variables.
1.
Note: In Request Header or POST Parameter, if a Credential Variable is used then on clicking ‘Send
Request’ the ‘Set Variable Value’ will not list the Credential Variable. However its value will be used to
generate the output.
You are shown a message notifiying that Credential variable(s) are excluded from the list of variables.
Note: If your REST Web Service is using a proxy server, go to Tools > Options > Advanced Settings.
Overview
You can use this command to run various scripts from your TaskBot / MetaBot Logic.
Use a Run Script command when you want to:
• Run a VB Script (*.vbs) or JScript (*.js) in the TaskBot / MetaBot Logic.
• Pass parameters to your scripts.
• Specify the Return Value in your scripts.
Tip: If you are using a variable for the file path, it is recommended you use only the system variable
$AAApplicationPath$. If you use a locally defined or any other system variable, the sub task with
such variables will not be uploaded to the Control Room. You will get 'Variabalized Path' in Remarks
column of the Upload Dependencies dialog box. Refer Uploading or Downloading TaskBots,
Workflows and Dependencies on page 85.
• When you select the default option No the command will not be saved. You should select Yes to
save the command.
Note: Run Task commands that are created in versions below 10.5.0 and has a variable
other than the $AAApplicationPath$ assigned as the path, will have to be updated and saved
accordingly.
Tip: ou can associate only those variables that belong to the same category.
• This means you can associate a Value variable type with another Value variable type.
• Similarly, you can associate an Array variable of Value type with another Array variable of
Value type.
• Note that in Array variables, only Array variable with Value type is supported while Array
variables such as Read from text, excel or csv are not supported.
• Inserting variable(s) in 'Run Task Variable': In order to specify the mapping variables for Run
Task, you can either select a variable from the existing variables list or you can enter a new
variable.
• Quick Mapping of Variables *: A 'Quick Map' ensures that a large number of variables with
same nomenclature are associated between tasks.
* Available from version 7.5.2 onward.
Variables mapped between tasks in earlier versions (below 7.5.2), will have to be re-mapped.
Also, on selection of another task (using browse), the current mapping will be lost.
Mapping of 'Workflow Variables' is also possible in similar fashion.
2. Click Save
A task named T1 has a variable firstname with a value of 'John' declared. By using the Run Task
command, another task, T2, is called and firstname is passed as an argument. Now, in task T2, the
firstname value is changed to 'Michael'. When the Run Task command finishes in task T1, the variable
firstname contains the value 'Michael'.
SAP is one of the mostly widely used ERP systems of the world.
Automation Anywhere Enterprise - SAP Integration command provides the elite facility to integrate
Automation Anywhere to SAP.
Note: SAP Plugin is not available with AAE Client 11.x versions. For SAP Automation, copy the two DLLs
- sanpnco.dll and sapnco_utils.dll, from the "SAP .NET Connector" installation folder to the "AAE Client
installation folder" (For example: C:\Program Files (x86)\Automation Anywhere\Enterprise\Client)
SAP .NET Connector is a separate installation that you can download from the SAP website with your SAP
account.
AAE is certified with SAP libraries of version 3.0.2.0 build using .NET Framework 2.0.
Automation Anywhere Enterprise is integrated with SAP using BAPI (Business Application Programming
Interface).
BAPI is a standardized method of SAP Business Objects that enables Automation Anywhere Enterprise to
integrate with the R/3 System.
The SAP Integration command first establishes connection with SAP. Then it provides different actions to
use BAPI to upload and download information to SAP.
It allows the user to run remote function calls using BAPIs with a series of actions as per the business
requirements.
• BAPI Manager
Overview
As part of your automation task, you can capture the entire computer screen or an active open window.
Sub-Commands
To insert a Screen Capture command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Screen Capture commands to the Task Actions List pane. The Screen
Capture window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use this command to capture the full desktop on your computer. The image is saved to a location you
specify. You can capture the image in various formats.
Use this command to capture an image of an open application window. Select the window by clicking on
the name in the drop-down list.
The image is saved to a location you specify. You can capture the image in various formats.
Use this command to capture an area of the screen. Select the area by first selecting the application
window, and then dragging the mouse over the area that you want to capture.
The image is saved to a location you specify. You can capture the image in various formats.
You can specify wild cards, using the asterisk (*) symbol, when selecting window titles. For example, you
might use a wild card capture any window that contains the word "Untitled" in the title.
You might also want to capture any window that contains any text before or after the word "Untitled" in the
window title. To specify this, use *Untitled* for the window title. In this case, Automation Anywhere
searches for the exact window title ("Untitled"). If it is not found, Automation Anywhere searches for
windows that contain the word "Untitled" in the title.
You can use a wild card character (*) at the beginning or at the end of a window title.
If you enable ‘Secure Recording mode’, no images are captured. Learn More
If you enable ‘Secure Recording Mode’, and try to save the command, a warning message appears:
If you wish to continue, click ‘Yes’, and the command is saved. Click ‘No’, if you wish to discontinue. You
are navigated back to the command where you can ‘Cancel’ the command.
Also See...
• Clipboard Command
• Comment Command
• Error Handling Command
• Image Recognition Command
• Play Sound Command
• String Operation Command
• Variable Operation Command
To send an email from your TaskBot / MetaBot Logic, follow these steps:
1. Click on the Tools menu, and select Options. In the Email Settings, enter a Host Name and Port:
• Host: The SMTP Host allows you to send email from Automation Anywhere. You can obtain this
information from your email provider, or from the configuration settings in your email program.
• Port: This setting defines the TCP/IP port that Automation Anywhere uses to send email. (The
default port is 25.)
2. Double-click on or drag the Send Email command to the Task Actions List in the Workbench. The
Send Email window is displayed.
3. Enter the From, To, CC, and BCC email addresses.
4. Enter a subject.
5. Attach files you want to send with the email.
• If you want to attach any file type, click the 'Attach' button.
• If you want to attach values of all variables, click the 'Variables' button*.
* Available from version 8.1 onward
This will append a text file that lists values of all the variables (System and User Defined) used in
the TaskBot / MetaBot Logic.
Note: The System Variable Excel Cell will not be attached as the values input are dynamic.
Services Command
Use this command to automate your Windows and application services.
Overview
You can use the Services command to start, stop, pause, resume, or get the status of any available
services.
Sub-Commands
Use this command to obtain the current status of a Windows or application service. For example, the
Windows Audio service status might be "running". You can assign the status value to a variable.
Use this command to start a Windows or application service when your task runs.
Use this command to stop a Windows or application service that is currently running.
Use this command to pause a Windows or application service that is currently running.
Use this command to re-start a Windows or application service that you have previously paused using a
Pause Service command.
Also See...
SNMP Command
Use this command to automate the management of your network.
Overview
Simple Network Management Protocol (SNMP) is used to locate the network management component on
one or more computers and the managed component on multiple network devices.
The Automation Anywhere SNMP command offers powerful network management. Using this command
you 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.
Sub-Commands
Note:
Select a 'Value Type' when providing the OID Specifications.
Use this extended request command to browse the entire hierarchy of management objects.
Use this command to retrieve a sub-tree of management values using SNMP GET-NEXT requests.
You can specify a Walk type of All or Within.
Use this command to 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.
Note: Select any of the Trap Type given when setting the trap.
3. OID Specifications: Specify the Object Identifier, which the SNMP Manager requests (for example,
Get, Set, etc.)
• Object ID: Specify the IP Address or host name.
• Data Type: Select from ASCII or Hex.
• Set value: Set value if the message type is Set.
• Walk Type: Select Walk Type of All or Within when the message type is Walk. For type Within, all
variables in the sub-tree below the given OID are queried. Using All displays the variables that are
equal to the specified OID for the given tree type structure.
• Trap type: Select a trap type from the following:
a. Cold start: Occurs when the SNMP agent initializes its configuration tables.
b. Warm start: Occurs when the SNMP agent re-initializes its configuration tables.
c. Link Down: Occurs when the state of a network adapter on the SNMP agent changes from up
to down.
d. Link Up: Occurs when the state of a network adapter on SNMP agent changes from down to
up.
e. Authentication Fail: Occurs when the SNMP agent receives a message from an SNMP
manager with an invalid community name.
f. EGP Neighbor loss: Occurs when the SNMP agent cannot communicate with its Exterior
Gateway Protocol (EGP) peer.
g. Enterprise specific: Occurs when specific error conditions and error codes are defined in the
system. The user must provide a Trap Specific Number for this option.
4. Result:
• Log File: View the SNMP log data in the selected log file.
• Assign the value to an existing variable: Specify a variable value.
When you click on the Advanced View button, additional SNMP options are provided. The SNMP
advanced options include the following:
• SNMP Version: Select any of device versions - V1, V2 or V3
• Timeout(ms): Specify the response time in milliseconds for the action to wait for before generating an
error.
• Remote Port: Specify the TCP/IP port to be used for the Get request. The default is 161.
• Retries: Specify the number of times to retry the message.
V3 allows you to select authentication levels to ensure a more secure environment (compared to V1 and
V2). The options provided therein are:
• Authentication Level: Choose from 'None', 'Authentication Only' or 'Authentication with privacy'.
• Authentication Method: Select either MD5 or SHA.
Note: Applicable only if Authentication Level selected is other than 'None'. You are also required to
input a 'Password'.
• Private Key:Input the private key generated when the authentication level selected is 'Authentication
with privacy'.
Overview
You can stop an automation task at any point by inserting a Stop Task command in the Task Actions. For
example, you can stop the task if a specific condition is met, such as when encountering a file larger than
100 MB.
Automation Anywhere inserts the Stop Task command above the currently selected line in the Task
Actions List.
Also See...
Overview
String operations are very useful when automating business processes. For example, you might want to
extract a portion of a text block from an email, a website, or an application window.
You can also manipulate strings after capturing them. You might search the string for particular phrases,
compare two strings, convert a string to upper or lowercase, or obtain the length of a string.
Sub-Commands
To insert a String Operation command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the String Operation commands to the Task Actions List pane. The String
Operation window is displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Before/After Command
Use this command to specify a range of text to extract, using Before and After keywords.
You can insert 'Enter' and 'Tab' variables by using the F2 function key. These variables act as separators
for your string between the Before and After keywords.
To refine your 'Before-After' string command, you can use the 'OR' or 'AND' Logical Operators.
• Use the 'AND' operator to ensure 'Before' and the 'After' conditions are met.
• For instance, when you input a string in 'Before' and if not found, the search will be aborted. The
program will not search the string input in 'After'.
• Use the 'OR' operator to ensure either 'Before' or 'After' condition is met.
• For instance, when you input a string in 'Before' and if not found, the program will continue to search
for the string input in 'After'.
Example: In the text string, 'Name of Applicant James Smith Applicant Location,' let's copy only 'James
Smith'. We specify Before = 'Applicant' with an Occurrence of 1. We also specify After = 'Applicant' with an
Occurrence of 1. This is the first occurrence after the Before keyword, although it is the second occurrence
from the beginning of the string.
You can also specify the number of characters to be extracted, starting from the first character after the
Before keyword. The extracted string can be trimmed to remove leading or trailing spaces, and you can
save the string to a variable.
Tip:
• When using the Before/After command, enter a space as a separator between strings using the
SPACE BAR key on the keyboard.
• In some cases, content extracted from websites are separated by an Enter symbol (a small square),
which you can see in the CSV file.
Compare Command
Use this command to compare strings by specifying the strings. You can refine your search by selecting
the 'Match Case' option. A value of True or False is returned. You can assign the values that are returned
to a variable.
Find Command
Use this command to locate a sub-string that exists within the source string by specifying the Start
parameter.
If the specified string is a regular expression, select the check box that is provided. Insert the regular
expression in the Find String field. Also, refine your search parameters by specifying the character
number in 'Start From', selecting 'Match Case' and/or Regular Expression.
For example, to find all email addresses in the source, specify the following as a regular expression:
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Join Command
Use this command to join all separate elements of list variables by defining the source string and a
delimiter.
Length Command
Use this command to obtain the length of a string by specifying the source string.
Replace Command
Use this command to replace a portion of a source string with a specified replacement string. Optionally
specify the character position from which to begin in 'Start' and the number of times it is to be replaced in
'Count'. If the Find String field contains a regular expression, select the Regular Expression check box.
Reverse Command
Split Command
Use this command to split a source string. Specify a 'Delimiter' and optionally number of delimiters to be
considered in 'Limit'. Refine the scope by selecting 'Match Case'. The resulting elements are stored in a list
variable.
Use this command to retrieve a sub-string. Specify the source string and parameters such as 'Start From'
and optionally 'Length'.
Trim Command
Use this command to trim blanks and spaces from a specified source string.
System Command
Use this command to automate repetitive tasks pertaining to your computer system.
Overview
Certain repetitive and routine tasks pertaining to your computer system can be automated to save on time
and consequently be conserve energy. This topic describes how to use such commands in Automation
Anywhere.
Sub-Commands
Use this command to automatically lock the computer. This command is commonly used at the end of a
task, to ensure security if no one is at the system.
Logoff Command
Use this command to automatically log off the computer. This command is commonly used at the end of a
task, to ensure security if no one is at the system.
Shutdown Command
Use this command to turn off your computer, for example, at the end of the workday.
• The Shutdown command provides the added benefit of energy savings.
• To increase environmental awareness, Automation Anywhere highlights energy-saving actions with a
green leaf icon, as shown in the System window next to the Shutdown command.
Note: The Shutdown command should only be inserted at the end of an automation task. Otherwise,
other commands in the task cannot be run.
Restart Command
Also See...
Overview
Access and control default, DOS-based actions of remote terminals with Terminal Emulator command.
Issue DOS commands - dir, ipconfig, copy, and recover etc. Also, transfer the exact state of an
application between TaskBot / MetaBot Logics to optimize your automation logic.
Sub-Commands
To insert a Terminal Emulator command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the Terminal Emulator commands to the Task Actions List pane.
2. Specify required parameters in the fields - Session Name, Host Name, Port, Terminal Type and
Terminal Prompt.
Tip: For enhanced security, you can opt to insert Credential Variables in 'Host Name'. Assigning
credential variables from credential lockers on page 271
1. Click Save.
Connect Command
Use this command to remotely connect to a terminal. Specify the connection details of the terminal. You
can connect to the following types of terminals:
• ANSI
• VT100
• TN3270
• TN5250
Share Session*
Enable the 'Share Session' option to optimize your automation logic. With it you can trim your bulky
TaskBot / MetaBot Logics as it provides the required flexibility to transfer the "exact state of the application
to another TaskBot / MetaBot Logic". You can use the Run Task command to achieve this.
Note: Only Terminal Emulator command session state can be shared between TaskBot / MetaBot Logics.
The existing state is passed on to all Terminal Emulator sub-commands in the subsequent TaskBot (sub-
tasks)/ MetaBot Logics.
Reference Share Session Between TaskBot / MetaBot Logics on page 233 to understand how this option
helps you achieve more.
TN Terminal - Options
Enabling Secure Connection
Enabling/Selecting 'SSL' ensures a secure connection for the Terminal Types 'TN3270' and 'TN5250'; the
default 'Port' for the same being '992'.
• Terminal Type TN3270: Selecting 'Enable TN3270 Support' allows you to choose a 'Connection
Method', which could be either 'Generic' or 'Specific'. You can hence:
1. Input the 'Device Name' when you select a 'Generic' connection method.
2. Input the 'Device Name' and 'Resource (LU) Name' when you select a 'Specific' connection
method.
Note: On enabling TN5250 Support, only the 'Device Name' and 'Resource (LU) Name' can be
input.
You can also select a Terminal Model and Code Page for Terminal Types TN3270 and TN5250.
• The Terminal Model option enables you to connect to various Terminal Workstations and Displays such
as IBM 3477, IBM 3278 and more as listed in the Command UI.
• The Code Page enables you to set the encoding type such as German 273, Iceland 871 etc. for the
Terminal.
Advanced View
Advanced view is available on selection of terminal types ANSI and VT100. Specify either of the three
protocols viz. Telnet, SSH1, and SSH2 .
For SSH1 and SSH2, provide an authentication type to connect to the terminal.
Authentication modes available:
• User Authentication: Specify a user name and password.
• Key file Authentication: Select a location for the key file.*
* Only SSH.COM file format supported.
Note: If using SSH2 connection type, it is mandatory to input 'User Name'. Here, you can opt to insert
a Credential Variable for User Name and Password fields.
Disconnect Command
Use this command to specify text and send that text to the terminal. You can also send encrypted text by
selecting the Encrypt Text check box.
To send a key after sending the encrypted text, select the required key from the drop-down list.
Use this command to receive text from the terminal. You can select from the following options:
• Last Line
• All Lines
• Line From-To
• Lines With Column Range
Set Field
Use this command to set field either by Index or Name for the terminal types TN3270 and TN5250. Setting
data through field for such type of terminals enhances automation for them.
Get Field
Use this command to get a field value by Index or Name and assign it to a variable for the terminal types
TN3270 and TN5250.
Use this command to get value of all fields and assign them to array variables for the terminal types
TN3270 and TN5250.
Wait Command
Use this command to insert a Wait command. Inserting a Wait command helps you to automate and trigger
another action in your automated TaskBot / MetaBot Logic based on the terminal status.
Control Command
You can create a hierarchy of TaskBot / MetaBot Logics connected by a common thread - 'Share Session':
• Simply create a 'Main Task' that would connect you to the application with 'Share Session' option
enabled/selected, using the Run Task command
• Call in other 'Sub Tasks' that obtain the necessary data/information.
In fact, you do not disconnect from the application (terminal in this case) in the Sub Tasks; you simply pass
on the exact state of the application from Main Task to the Sub Tasks and back. This will ensure,
• Your bulky TaskBot / MetaBot Logics are trimmed off of repetitive commands for connecting and
disconnecting.
• Which in turn results in you achieving the same results, faster.
Example: Share session to access and fetch data from applications installed on a
mainframe terminal
Here, we cite a hypothetical example to guide you through the workings of 'Share Session':
The assumption is that you have access to a mainframe terminal with various applications installed.
Usually you would access each application using separate sessions to connect to the terminal. Hence,
each TaskBot / MetaBot Logic comprises of repetitive commands such as connect and disconnect (to clear
the earlier data session).
Now that you are armed with the powerful option 'Share Session' you can literally share your existing
session state between TaskBot / MetaBot Logics.
Ideally you could create a Main Task - TE_Share_Main for instance, that calls the other Sub Tasks -
TE_BMIS and TE_CMIS. These Sub Tasks obtain required data/information from various applications.
1. In the Main Task - TE_Share_Main, connect to the mainframe terminal using the 'Connect' sub-
command in Terminal Emulator. Enable 'Share Session'.
2. Include a 'Run Task' command to call in the first Sub Task - TE_BMIS. Ensure that this task has used
some set of sub-commands such as 'Send Text' and 'Set Fields'.
Note: Since share session is enabled, the application BMIS starts in the same terminal that is
connected in the Main Task - TE_Share_Main.
1. Use the 'Get Text' and 'Get Field' command to obtain the required information.
2. To restore the original terminal state, use the 'Send Text' command.
3. The Sub Task ends here and the control is passed on to the Main Task.
• For the next Sub Task, TE_CMIS, use similar steps - Connect with 'Share Session' option, then use
'Send Text' and 'Set Field' sets of sub-commands and acquire information using 'Get Text' and 'Get
Field' set of sub-commands. Use the 'Send Text' command to return to Main Task and restore the
terminal to it's original state.
1. Create as many Sub Tasks as required and return to the Main Task using Share Session!
2. End the session in the Main Task by adding a 'Disconnect' sub-command.
Overview
The Variable Operation command has been designed for allowing you to assign or reinitialize user
specified variables (user variables)
The type and source of variables used dictate the assignment and reinitializing. These are applicable
during TaskBot / MetaBot Logic execution thus allowing the user to reuse the user variables.
Note: You can specify values in English, German, French, Italian or Spanish as these regional
settings are supported.
2. Assign a value. You can assign a value to the variable. The right side of the 'equal to' operator can
be a regular operation; for example, you can specify:
$var1$ =
($var2$ + $var5$ - 10) / 5
.
Tip: The operators (, ), /, *, + and - are supported. The left and right parentheses take
precedence, and the operation within them is evaluated from left to right.
Example: In the expression
($Var1$ + 5)
* ($Var2$ -10)
($Var1$ +
5)
will be evaluated first, then ($Var2$ -10), and the result of both will be multiplied and assigned
to the variable specified on the left side of the equals sign.
• For System Variables: This option enables you to reset one of the following system variables:
1. Error Description
2. Error Line Number
3. Email From
4. Email To
5. Email Cc
6. Email Subject
7. Email Message
Overview
The Web Recorder helps you to automate Internet-related task actions. Using the Web Recorder
command, you can record tasks to extract data from the web, download data, test web sites, extract source
code, and more.
Sub-Commands
For more information on using the specific sub-commands, see Editing a Web-only Task with Web
Recorder Commands.
Note: It is recommended that you first search in the following sequence: By Caption, By Attributes and
By Index.
If you enable ‘Secure Recording mode’: no values, caption, default texts are captured. Also, no values are
captured for ‘Extract Data’ and ‘Extract Multiple Data.’ Learn More
Also See...
Overview
The Web Service command is used to access and exchange information over the internet. By using this
command, you can:
• Consume reusable application components as services. Examples are currency conversion, weather
reports, and language translation.
• Connect to different existing applications and different platforms, irrespective of any underlying
infrastructure requirements.
The Automation Anywhere Web Service establishes complete inter-polarity between clients/applications
and the Web, supporting XML-based open standards, such as WSDL (Web Services Description
Language), SOAP (Simple Object Access Protocol), and UDDI (Universal Description Discovery and
Integration).
Tip: You can opt to use Credential Variables* using function key 'F2' in Username and Password
fields for enhanced security. Assigning credential variables from credential lockers on page 271
• Raw Data Parameter(s):Enable this option to specify the input in XML format.
1. Test Output: Test the output data by clicking the Test Output button. You can test the output data
from the specified URI.
2. Provide Output details: Specify the file to which you want to save the output data.
The output can be extracted as a whole output or as a partially extracted value. To aid this below two
options are provided.
a. Whole Response: When this options is selected the whole response is captured and can be
stored in the selected variable.
b. Selected Response: When this option is selected, only the partial response can be captured
from the web service in the form of XPath and this value can then be stored to a variable.
• Select/View Response: To open an XML Viewer click on this link. Select the appropriate node
from the response body and the XML Path will be automatically created. Store this output into
a variable, which can now be passed into the header parameter of another request. This is
particularly useful for correlating two Web Services.
Activate Window
Use this command when you need to activate an application that is already running. Specify the window to
be activated from the 'Select Window' drop-down.
Tip: Click Refresh to invoke the application you require if unavailable, yet running.
Close Window
Use this command to close an active window when running a TaskBot / MetaBot Logic.
Maximize Window
Use this command to maximize an active window when running a TaskBot / MetaBot Logic.
Minimize Window
Use this command to minimize an active window when running a TaskBot / MetaBot Logic.
Re-size Window
Use this command to re-size an active window when running a TaskBot / MetaBot Logic. Click the
'Capture' button to specify the dimensions to which the window is to be re-sized.
Use this command to assign the active window title to a variable when running a TaskBot / MetaBot Logic.
Common Errors
You may encounter the following error while using the Window Actions Command > Activate Window:
Cannot Find Window or Application titled <window title> that was open during recording.
Possible Reason(s)
The Window/Application that was open when recording the TaskBot / MetaBot Logic, could be closed.
The Window/Application does not exist anymore.
Possible Solution(s)
Also See...
XML Command
Use this command to process XML information that is generated from web services and cloud computing
applications.
Overview
The XML command supports sessions, node editing, and Xpath expression execution, based on a tree
structure of an XML document. The command enables the automated TaskBot / MetaBot Logic to navigate
the tree and make selections based on various criteria.
The XML command enables you to capture data that has XML formatting and saves it to a specified
location.
Sub-Commands
To insert an XML command in your TaskBot / MetaBot Logic, follow these steps:
1. Double-click or drag one of the XML commands to the Task Actions List pane. The XML window is
displayed.
2. Specify the required parameters in the fields.
3. Click Save to save the command to your automation TaskBot / MetaBot Logic.
Use this command to specify the session name and data source (a file or text).
Use this command to complement the Start XML Session command and close an open XML session.
Use this command to insert a node with attributes and name spaces you specify. The location of the node
is based on the position of the XPath expression.
Use this command to delete a node or attribute from the XML file, as a result of specifying the XPath value.
Use this command to update nodes in a session at the position that is specified for the XPath expression.
Use this command to validate session data using XML schema files (.xsd) or internal Document Type
Definitions (DTDs). You can also validate whether the session data is well-formed.
You can store the output of the validation step (VALID/INVALID) in a variable. If an error occurs during
validation, it is stored in the system variables named: $Error Line Number$ and $Error Description$.
Use these commands to retrieve the values of nodes or attributes in the session data.
• Get Single Node: Retrieves the value of a single node or attribute from the session data, at the position
specified in the XPath expression. The value is assigned to a variable.
• Get Multiple Nodes: Retrieves values from multiple nodes in the session data, using Text value/XPath
expression/Specified attribute name, based on the specified XPath expression.
The value is assigned to a system variable named $XML Data Node (Node name)$, which you can use in
conjunction with a LOOP command. For example, you can insert a loop to search each node in an XML
data set.
Use this command to save the session data to a variable. You can also save it to a location you specify.
Use this command to execute an XPath function and store the results in a variable.
Also See...
• Database Command
Using Variables
Use the Variable Manager to perform any of the following actions with variables:
• Copy
• Copy All
• Paste
• Add a new variable
• Edit a variable
• Delete a variable
When you click the Show System Variables link, the Variable Manager displays details about all system
variables that are available for each task.
When you click the Queue Category link, the Select Queue Category form is launched wherein you can
select any of the queue categories added by the Queue owner in the Control Room that you are connected
with. Refer Queue Orchestration on page 171 command for details.
When you use the Variable Manager for the first time, you will see that Automation Anywhere provides
two pre-defined user variables for your use:
my-list-variable (type: List)
This variable provides a container for a list of values.
Prompt-Assignment (type: Value)
Using Variables
As you build automation tasks, the scripts that are generated can lend themselves to using variables to
track or modify the value of a field or data point. For example, if you want to loop through a set of data in
a CSV file, you can use a variable to copy the first row, paste it to another application, move to the second
row, and so on.
All actions that you take in a task can support the use of variables. These actions can include:
• Selecting windows
• Opening programs
• Working with files, folders, keystrokes, spreadsheets, loops, and more.
While inserting an If/Else condition, select a variable you want to use (see example).
While inserting a Loop condition, select a variable you want to use within the loop until the condition is met
(see example).
Types of Variables
This topic describes the types of variables you can define and use when building automated tasks.
Essentially three variable types exist in Automation Anywhere tasks: User (local) Variables, System
Variables and Credential Variables.
For all Automation Anywhere commands, variables are supported in fields that have the light bulb
symbol present.
Use F2 function key and the list of variables will appear for selection.
User variables are typically defined by an automation user, and used for a particular task or set of tasks.
The purpose of a user variable can range from simply holding a single value to holding multiple values, as
would be used in an Excel spreadsheet.
For new automation tasks, two variables are pre-defined for your use:
• my-list-variable (type: List)
• Prompt-Assignment (type: Value)
After you create a user (local) variable, you can reinitialize it or assign it when a task runs.
System Variables
System variables are pre-defined variables that are provided by Automation Anywhere. System variables
are available for use in all automation tasks.
Credential Variables
Each user variable has a source . This source varies from direct assignment to reading values from files,
such as text files, Excel or CSV files, or a database.
Note: Analytics and Local Variables can be created only if you have Bot creation privileges.
Note: If your automation are migrated from an earlier version to Enterprise Client 11, you can select
the option manually by editing the variable. Such variables will not be selected for analysis by default.
2. Regular Expression - to use the variable in automation that require pattern based searches in files,
folders and window title commands.
Note:
• You can input only the first line of text in the 'Value' text box.
• Regular Expression in variables can be used in commands that support wild-cards. For instance,
you can use regular expressions in certain sub-commands of Files/Folders; namely Copy, Delete,
Zip and Print Multiple Files/Folders.
For a list of commands that support variables with regular expression, refer the section 'Commands that
support Regular Expression'.
You can create value type variables in two ways: using direct assignment or using a file.
Direct Assignment
Create a value type variable using direct assignment. This is used when values are generally known and
needs to be retrieved repetitively for different commands in the task. This makes the task flexible and easy
to use.
To create a value type variable using direct assignment, follow these steps:
1. In the Workbench, click on the Variable Manager icon at the top or on the tab on the right side.
2. Click on the Add button. The "Add Variable" window is displayed, with the "Create New Variable"
option selected.
3. Select type "Value". Generally, this is the default selection.
4. Enter a name for the variable. The name must begin with an alphabetic character and cannot contain
spaces.
5. Select the "Value" radio button. This is the default.
6. Specify an initial value. This value can be character or numeric.
7. Click Save.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
Common examples of names you can use for value type variables include:
File Assignment
Create a value type variable using file assignment when the value of the variable needs to be retrieved
from a text file while a task is running.
Your task can read the file and change the value of the variable, reassigning the value at each data point in
the file.
To create a value type variable using file assignment, follow these steps:
1. Determine the text file you will use for assigning values. In the text file, ensure that the variable name
exists, followed by an '=' operator. This ensures correct assignment of values. Example: Variable
Name: Website Text file content: website = automationanywhere.com
2. In the Workbench, click on the Variable Manager icon at the top or on the tab on the right side.
3. Click on the Add button. The "Add Variable" window is displayed, with the "Create New Variable"
option selected.
4. Select type "Value". Generally, this is the default selection.
5. Enter a name for the variable. The name must begin with an alphabetic character and cannot contain
spaces.
6. Select the "Read from text file" radio button.
7. In the Select File field, browse to the file or type the file path for the required text file. Use the Open
File button to view the selected text file.
8. Click Save.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
You can use a list type variable when you need to retrieve multiple values, one by one. It is basically one
dimensional placeholder for data.
Common uses of list variables include:
• Sending email to multiple recipients
• Passing different values inside of a loop
You can create list type variables in two ways: using direct assignment or using file assignment.
Direct Assignment
Create a list type variable using direct assignment when the values of the variable are fixed and need to be
retrieved one-by-one as the task runs.
To create a list type variable using direct assignment, follow these steps:
1. In the Workbench, click on the Variable Manager icon at the top or on the tab on the right side.
2. Click on the Add button. The "Add Variable" window is displayed, with the "Create New Variable"
option selected.
3. Select type "List".
4. Enter a name for the variable. The name must begin with an alphabetic character and cannot contain
spaces.
5. Select the "Value" radio button. This is the default.
6. Specify list values in the field provided. The values can be character or numeric.
7. Click the "Add to List" button.
8. Repeat steps 5 and 6 to complete the list.
9. Click Save.
You can use the "Make Random" checkbox to call the values randomly when the task runs.
If you leave the option unchecked, the values will be retrieved in the order you have entered them.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
Example of List Type Variable:
Name:Email Address
Values: [email protected], [email protected],
[email protected]
File Assignment
Create a list type variable using file assignment when the values for the variable need to be retrieved from
a text file while a task is running.
The text file is used to define the list variable. Loop commands make it easy to process the list of values.
Common Use Case: Extract data to a text file
To create a list type variable using file assignment, follow these steps:
1. Determine the text file you will use for assigning values.
In the text file, ensure that the variable name exists, followed by an '=' operator, and a list of comma-
separated values.
Example text file with list of values: Variable Name: products
The products.txt file contains:
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
An array variable is a two-dimensional variable that holds multiple values in a table of rows and columns.
Arrays are very powerful for creating staging areas for data that need to be retrieved by your process as it
runs.
Direct Assignment
Create an array type variable using direct assignment when you want the values of the variable to be
defined directly to the variable.
To create an array type variable using direct assignment, follow these steps:
1. In the Workbench, click on the Variable Manager tab on the right side.
2. Click on the Add button. The 'Add Variable' window is displayed, with the 'Create New Variable' option
selected.
3. Select type 'Array'.
4. Enter a name for the variable. The name must begin with an alphabet and should not contain spaces.
5. Select how you want the array to be created. Default selection is 'Value' which indicates that you will
define the values of this variable directly in it.
6. Specify the number of rows and columns in the field provided. Default values are 1 X 1.
7. Click the Initialize Values button. The Array Value Details window is displayed based on the rows and
columns provided in step 6.
8. Enter the values for each cell.
9. Click the Save button to save the values.
10. Click the Save button again to save the array variable.
You can modify the array dimensions using the Add Row, Add Column, Delete Row, and Delete Column
buttons.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
Create an array type variable using text file assignment when you want to read values from a specified text
file into the array variable while the task is running. The text file is used to define the array variable.
To create an array type variable using text file assignment, follow these steps:
1. Determine the text file that you will use for assigning values.
2. • For Rows enter the data in a new line.
• For Columns use comma separated values.
• Example: sports_team.txt
3. In the Workbench, click on the Variable Manager tab on the right side.
4. Click on the Add button. The 'Add Variable' window is displayed, with the 'Create New Variable' option
selected.
5. Select type 'Array'.
6. Enter a name for the variable. The name must begin with an alphabet character and should not
contain spaces.
7. Select 'Read from text file' from the dropdown.
8. In the Select File field, browse to the file or type the file path for the required text file. Use the Open
File button to view the selected text file or to modify it.
9. Click Save.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
The Automation Anywhere Web Recorder and Excel commands extract data to Excel and CSV formats.
You can use these files to create an array variable that might be used for entering or manipulating data for
computing or analysis.
Automation Anywhere provides a range of options for retrieving subsets or partial sections of the data.
Create an array type variable using an Excel or CSV file assignment when you want the values of the
variable to be retrieved from an Excel or CSV file.
To create an array type variable using Excel or CSV file assignment, follow these steps:
1. In the Workbench, click on the Variable Manager tab on the right side.
2. Click on the Add button. The 'Add Variable' window is displayed, with the 'Create New Variable' option
selected.
3. Select type 'Array'.
4. Enter a name for the variable. The name must begin with an alphabet and should not contain spaces.
5. Select 'Read from Excel/CSV file'from the dropdown.
6. Browse and select the required file.
7. Select the options you want for reading values from specific locations in the file. You can choose from:
• All cells
• Entire Row
• Entire Column
• Range
Note: If you select Range, specify the From and To. You can use the Open File button to view the
selected text file or to modify it.
8. Click Save.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
Using a Database
You can define an array variable with values derived from the result of a database query. The array
variable is created with dimensions that are determined as a result of running the query.
To create an array type variable using a database query, follow these steps:
1. In the Workbench, click on the Variable Manager tab on the right side.
2. Click on the Add button. The 'Add Variable' window is displayed, with the 'Create New Variable' option
selected.
3. Select type 'Array'.
4. Enter a name for the variable. The name must begin with an alphabet and should not contain spaces.
5. Select the 'Read from database' from the dropdown.
6. Specify the database connection string details using Browse.Clicking on browse opens the Data Link
properties dialogue box. Use it to test and create a valid connection string for the database of your
choice.
7. Enter Select Query by typing the entire database query.
8. Click Save.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
Once you have created array variables by reading data from various sources, use Loop command to easily
process them in your automation task.How to use Array Variable in Loop Command on page 286.
Random Variables
You can create two types of random variables: string and numerical.
Random variables are useful when you need to generate a random, repetitive string or numerical set. The
values are generated when you run the task.
Common use cases:
• String: Generating test data as input for fields or forms
• Numerical: Generating ID numbers in batch
After you create the variable, you can use it by inserting the variable in several of the Workbench
commands.
Note: You cannot restore user variables that you create and then delete.
System Variables
Automation Anywhere provides powerful pre-defined system variables that you can use to automate
common processes.
Note: System variables are populated during command execution.
System Variable types include:
• Date/Time: System-related date and time variables.
• Loop: Useful in conjunction with Loop commands.
• Excel: Useful for Excel automation.
• Email: Useful for Email automation.#
• Trigger: Useful in conjunction with triggers.
• PDF: Useful for use with PDF command.*
• System: Variables specific to a particular client machine.
After system variables are used in a task, you can view their progress while running a task. For more
information, see Watching Variables.
Using Date/Time variables can help you track and log points in time to monitor the success or error of a
running process.
To view the system variables and their descriptions, follow these steps:
1. In the Workbench, click on the Variable Manager icon at the top or on the tab on the right side.
2. Click on the "Show System Variables" link.
Manage your Date/Time variables by using the options listed in the table. The table shows Date/Time
system variable names, return values, and actions.
For the Date variable, you can use the System Variables window to change the format that is returned in
the Date variable. Follow these steps:
1. In the Workbench, click on the Variable Manager icon at the top or on the tab on the right side.
2. Click on the "Show System Variables" link.
3. Select the Date variable from the Date/Time list of variables and click the ... button.
4. Select the date format in the Select Date Format pop-up window.
Examples:
1. The following command stores the current DATE, DAY, and YEAR path in a log file. This is important
while logging of errors or certain important information on files to include the date stamp.
a. Drag and drop the Log To File command.
b. Use the F2 function key to insert variables for $Date$, $Day$ and $Year$.
Command:
1. The following command stores the current HOUR, MINUTE, and SECONDS in a log file. This adds the
timestamp to the log for analysis.
a. Drag and drop the Log To File command.
b. Use the F2 function key to insert variables for $Hour$, $Minute$, and $Seconds$.
Command:
Log to File:
Hour:$Hour$Minute:$Minute$Seconds:$Second$ in "C:\Variable
Operation.txt"
Example 1:
Example 2:
3. Comment: -------Get Multiple Nodes, I have set Xpath Xpression as Book [1], means only First
Occurance -------
4. XML : Get Multiple Nodes text value from XPath expression "//book[1]/author". Session:Session1
5. Comment: -------------- Use Loop for "Each Node in XML Dataset" -----------------------
6. Start Loop "Each Node In a XML Dataset Session: Session1"
7. Comment: --------- Pring Node Value to Message box using SYSTEM Variable "XML Data Node (Node
Name)" ---------
8. Message Box: "$XML Data Node(author)$"
9. End Loop
10. Comment: ------------ Get Multiple Nodes, I have set Xpath Xpression as "Lang", means only All
Occurance --------
11. XML : Get Multiple Nodes attributes name "lang" from XPath expression "//book/title ".
Session:Session1
12. Comment: -------------- Use Loop for "Each Node in XML Dataset" -----------------------
13. Start Loop "Each Node In a XML Dataset Session: Session1"
14. Comment: ---------Pring Node Value to Message box using SYSTEM Variable "XML Data Node (Node
Name)" --------
15. Message Box: "$XML Data Node(lang)$"
16. End Loop
Manage your email automation using the e-mail variable options in the table below.
Note: Applicable only for the Loop command: Each Email Message on Mail Server.
When you use the Loop/Email automation command (see example below), a comment in the task explains
how you can use these system-defined variables.
Example 1:
1. Start Loop "Each message on server: mail.automationanywhere.com,User Name: https://
support.automationanywhere.com, ServerType: IMAP, Message Format: HTML"
2. Comment: Please enter your commands to loop. Use Email Automation variables for each email on
Server (e.g. $Email From$, $Email To$, etc.)
3. End Loop
Example 2:
In below example we extract emails from inbox and store them in text files. This type of task can be
scheduled and emails can be retrieved offline.
1. Start Loop "5" Times
The variables in this example can be reset using the Variable Operation (System Variable) command. The
drop-down menu offers all of the options for resetting.
Trigger Variables
You can use a trigger system variable anytime you work with an automation task that is launched with a
trigger. The trigger value is determined based on the type of trigger event.
Using trigger variables is particularly helpful when multiple trigger events are used with an automation task.
The variable provides information about the name of the file, folder, window, or service name for the trigger
event.
For other uses, this system variable does not contain a value.
The following table provides the return values and description for the trigger variable.
The following table provides the names, return values, and descriptions for the PDF system variables.
Example:
PDF Integration:
Convert "D:\PDF\fw4.pdf" to images as "$PDFTitle$" under folder "D:\PDFImages\"
Common Use Case: These variables are useful when the performance of a system needs to be tracked
during an activity; for instance load testing.
The following matrix provides description and the system variable's possible uses:
AAControlroom Returns the URL of the Control You can use it in Email
Room the Bot is connected to Automation command to send
the URL of the Control Room
the Bot Runner is connected to.
CPUUsage Returns the CPU usage stats in You can use it in Log to File
percentage command to log data of CPU
usage for a particular operation
within the Bot (Task) while it
was executed.
RAMUsage Returns the RAM usage stats in You can use it in Log to File
MB command to log data of RAM
usage for a particular operation
within the Bot (Task) while it
was executed.
TotalRAM Returns the total amount of You can use it in Log to File
RAM in MB command to log data of Total
RAM available in the system.
OSName Returns the name of the You can use it in Log to File
Operating System command to log the name of
the Operating System (OS)
used in the system on which a
Bot (Task) was executed.
ArrayRows Returns the number of rows for You can use it in If command
selected Array Variable with variable conditions based
on the number of rows in the
Array Variable.
ArrayColumns Returns the number of columns You can use it in If command
for selected Array Variable with variable conditions based
on the number of columns in the
Array Variable.
WorkItem Returns the data in read only You can use it only in the Insert
form for individual attributes of a Work Item command when you
selected queue want to read attributes of the
selected queue.
Note: When you select the System variable, a menu is displayed from which you can select the specific
system variable (see steps below).
2. Select System and click Insert, a pop up window for System Variable Option appears.
Troubleshooting an error
Error: If you use the $CPUUsage$ variable in a message box and an error message is issued, you need to
reset the counter for the system by performing the following action:
Open a command prompt and enter the following two commands:
cd\windows\system32 [enter]
lodctr /R [enter]
Examples
When creating an executable file (EXE) for a task, you might want to use the path of the EXE to log a file or
refer to a file located in a folder. In this case, use the AAApplicationPath variable to select the path of the
EXE from any location in which it is stored. This eliminates the need to use static paths for EXEs.
1. The following command stores the current application path in a log file. Drag and drop a Log To File
command to your task, and press the F2 key to insert $AAApplicationPath$ variable:
In This Section
Note: To access credential variables during taskcreation and play, the Bot creator has to be online i.e.
connectedto the Control Room.
The method to input credential variables in commands that require them is similar to assigning variables.
You simply press the function key 'F2'. The credential values are retrieved in the command during play
time.
Before you start assigning variables, remember:
• A Bot Creator can only insert the credential variables in commands; no add or update rights are
available to the Bot Creator.
• Credential variables contained in the Credential Lockers can be seen and accessed only from the
Insert Variables window.
• Only the name of a Credential Key is visible in the command field and list of credential variables;
Attribute values are not displayed. Not even while editing or debugging the task.
• Bulk Edit is allowed only on commands that comprise same Credential variables.
• A credential variable is read only; hence you are not allowed to edit its values. You cannot append
another variable (Local/System variable) or a string to it. To insert such variables, you must delete the
Credential variable first.
• To delete a credential variable, double click or hit 'Backspace' and then 'Delete'.
• Copying and pasting of the variable converts it to string. Manually inputting the variable name also
converts it to string.
Important: Users who have migrated from version less than 10.3 note that when you insert a credential
variable in existing tasks, the earlier parameters are deleted.
• Here, 'FTP Server Login' is the Credential Name, while 'Hostname' and 'Username' are its Attribute
Names.
Reinitializing Variables
When you create user variables and use them within automation tasks, you need to reinitialize them each
time you use them.
You can reinitialize any type of user variable, including:
• Value variables (Only read from txt type)
• List variables
• Array variables
• Random variables
6. Click Save.
Only the new values that are specified will be assigned. Any previous values for this variable will be
overwritten.
• If the rows and columns are numeric, you can use the Initialize Values button to insert new values. In
this case, both the structure and values for the array are completely redefined.
• For an array having source type Excel, you can reinitialize the entire row, column, range, or all of the
cells.
• For an array having source type of Excel or CSV file, you need to specify a path in order to reinitialize it.
• The Open File option is enabled only when you specify a valid file path.
• For an array having a Database source type, you can specify connection properties to a new database
with its SQL query.
Example 1:
4. Comment: This Loop will run 4 times as 'List read from text file variable has 4 entries.
5. Comment: The following command will send emails to the address IDs listed in the above Read from
text file -List variable.
6. Send Email: Subject "Automation
Anywhere finished executing the task." with
Attachment(s).
8. End Loop
Example 2:
3. Variable Operation:
$ArrayRows($ArrayExl$)$ To $Row$
6. Comment: To skip the header title of the csv extracted from the website
7. Continue
8. End If
9. Execute SQL Statement: 'Insert
into Ebayphilosophy (BookTitle,cost) values
("$ArrayExl($Counter$,1)$",'$ArrayExl($Counter$,2)$')' Session:
'Default'
When the task runs, the value for the system variable will be reset.
Assignment can be performed on three types of variables: Value, List, and Array. For lists and arrays, the
assignment is applied by specific positions within the list or array.
The following table shows the types and source (subtypes) of the user variables and if it supports the
assignment operations on them.
The right side of the assignment can include any regular operation.
Example: singleval1 = ($var2$ + $var5$ - 10) / 5
Operators supported:(, ), /, *, +, -
Order of Operations: Parentheses take first precedence in order, with the operation inside them being
evaluated from left to right.
When assigning values to a List type variable, you need to specify the position for that value. Any previous
value for that position will be overwritten.
To assign a value to a List type variable, follow these steps:
1. In the Workbench, drag and drop a Variable Operation command into the task.
2. Select the User Variables option.
3. Under "Specify Variable," select the variable from the list of all user variables that are defined for the
task. The variable type and source is displayed.
4. Select the Assign operation radio button.
5. For the list variable, the "Select Position" is displayed. Specify the position for this value. For example,
$Counter$
6. You can also specify another variable to be inserted here by pressing the F2 function key and
selecting the variable.
7. In the "Specify value" field, enter a value or insert another variable by pressing the F2 function key.
When assigning values to an Array type variable, you need to specify the positions for the values. Any
previous values for these positions will be overwritten.
The source of the array variable can be Excel or CSV files, a database, or a text file, depending on the type
of variable you select from the list.
To assign values to an Array type variable, follow these steps:
In the below example we are assigning an array variable for position (2,2) from another variable defined in
the task.
1. In the Workbench, drag and drop a Variable Operation command into the task.
2. Select the User Variables option.
3. Under "Specify Variable," select the variable from the list of all user variables that are defined for the
task. The variable type and source is displayed.
4. Select the Assign operation radio button.
5. For the array variable, the "Select Position" fields for Row and Column are displayed. Specify the
position for these values. For example, "Row 2 and Column 2".
6. You can also specify other variables to be inserted here by pressing the F2 function key and selecting
the variable.
7. In the "Specify value" field, enter values or insert another variable by pressing the F2 function key.
When using the Variable Operation command in the Workbench, be aware that values are rounded.
For example, we use a Variable Operation command to assign the value '01.20' to a variable named
Temp. The returning value in the message box will be 1.2, as the extra zeros before and after the value are
removed.
Examples:
Example 1
Type: List, Source: Read from text example.
1. Comment: This Loop will execute for 5 times as List read from text file variable has 5 entries.
2. Comment: Create Variable List Type : Source = Read from text file having this RDlsttxt = 11,
21,31,41,51
3. Start Loop "List Variable
$RDlsttxt$"
4. Comment: Message box will show the addition of list variable value with other variable value.Here
$row$=10
5. Variable Operation: $RDlsttxt$ + $row$ To
$Prompt-Assignment$
Example 2
Type: Array Source: Read from Excel
1. Comment: We use an array variable to read from existing excel file
2. Connect to "$ConnectStr$"
Session:'Default'
3. Comment: ArrayRows is a system defined variable used to retrieve total rows in the user defined
array.
4. Comment: ArrayExl - is a user-defined array variable, using a source that is Read from Excel file. In
this example, we use a list of books and games having title and cost, which is initialized in the Variable
Manager.
5. Variable Operation: $ArrayRows($ArrayExl$)$ To
$Row$
'Default'
• One text file can have multiple<variable> = <value>pairs, on separate lines (line returns using the
ENTER key).
• For value type variables, only one value should be assigned.
• Example:myvar=value1wheremyvaris the name of the variable.
• Example:my-list-var= value1,value2,value3
• Ensure that your text file is specified in the Variable Manager before the task runs.
• For List type variables, you can define the comma-separated values for the variable.
• Variable names are not case-sensitive.
When you create an array variable and specify that values should be read from an Excel file, data can be
read for the following:
• For an entire row
• For an entire column
• For a range of cells that you specify using the 'From' and 'To' fields
To read values from a database file, you need to specify a connection string and a SELECT query.
Note: Reading variable from database is applicable only for array type variables. Learn More.
Watching Variables
This topic describes how to use the Automation Anywhere Variable Watch feature to watch your variables,
when the automated task is running.
To track the progress of variables within the task, Automation Anywhere provides a way for you to watch
variables as they change.
This makes the progress of variables easier. This can be achieved using "Variable Watch Table" feature
which is enabled when you are using the Debugging mode.
The Variable Watch Table displays current variable values while the task runs, and applies to all types of
variables (user and system variables) that are defined for that task.
To use the Variable Watch Table, click on the Enable Debugging button at the top of the Workbench. The
Variable Watch Table pops up and displays the actual variable values (or what it contains) as the task runs
a particular step.
Initially, the Variable Watch Table is empty. Use the Add button to include variables you want to track.
When the "Add Variables in Watch" window is displayed, select the variables you want to watch and click
the Add button.
Any user variables and system variables that are defined for the task can be added to the table.
As shown below, the Variable Watch Table contains all of the variables selected for watching. The values
get populated and changed as the task runs.
For an array variable, the Variable Watch Table shows the column/row value. For example, (1,1) is
displayed in the left column (Name) in the table.
You can combine any of these variables to design your own timestamp formats.
If you use the Date variable to append a date to file names, you cannot use a slash (/) in your date format.
Microsoft Windows prohibits the use of the slash character in file names.
Examples:
1. To create a timestamp for Year, Month, and Day, that is appended to the end of string 'ABC', type:
ABC$Year$$Month$$Day$
This example might look like this: ABC2013521
2. To create a complete timestamp for the previous example with the current date and time, type: ABC
$Year$$Month$$Day$$Hour$$Minute$$Second$
This example might look like this: ABC201352107:03:03
3. For clarity, you can insert text characters between the variables.
For example, to display ABC2013-5-21, type: ABC$Year$-$Month$-$Day$
Use the Run Script command to pass values in a variable to the Parameter field. You can then obtain the
output from the Return Value field.
Commands that are required to pass values to a VB script and obtain the results include:
1. Pass values in the VB script: WScript.Arguments.Item(0)
2. Return values in VB script: WScript.StdOut.WriteLine "Variable"
For "Variable", the double quotes are not required for Return values.
Separate the values with a space.
10. Click OK to save the values and click Save to save the message.
Direct Assignment
When the values of an array variable need to be defined directly, you can opt to use 'Value' Array type
variable. This is termed as 'Direct Assignment'.
To create an array type variable using direct assignment, follow these steps:
1. In the Logic Editor, click on the Variable Manager tab on the right side.
2. Click on the Add button. The 'Add Variable' window is displayed.
3. Select type 'Array'.
4. Enter a name for the variable. The name must begin with an alphabet and should not contain spaces.
5. Select how you want the array to be created. Default selection is 'Value' which indicates that you will
define the values of this variable directly in it. .
6. Specify the number of rows and columns in the field provided. Default values are 1 X 1.
7. Click the Initialize Values button. The Array Value Details window is displayed based on the rows and
columns provided in step 6.
8. Enter the values for each cell.
Tip: You can modify the array dimensions using the Add Row, Add Column, Delete Row, and Delete
Column buttons.
After the variable is saved, it is displayed in the Local Variables section of the Variable Manager.
If you don’t want to specify the value of the variable at the time you create the variable, MetaBot Designer
allows you to set the values of variables using a text file. This is described in the next section.
Create an array type variable using text file assignment when you want to read values from a specified text
file into the array variable while the task is running. The text file is used to define the array variable.
To create an array type variable using text file assignment, follow these steps:
1. Determine the text file that you will use for assigning values.
2. • For Rows enter the data in a new line.
• For Columns use comma separated values.
• Example: sports_team.txt
3. In the Task Editor, click on the Variable Manager tab on the right side.
4. Click on the Add button. The 'Add Variable' window is displayed.
5. Select type 'Array'.
6. Enter a name for the variable. The name must begin with an alphabet character and should not
contain spaces.
7. Select 'Read from text file' from the list.
8. In the Select File field, browse to the file or type the file path for the required text file. Use the Open
File button to view the selected text file or to modify it.
9. Click Save.
You can insert Array Variables while creating Logic in the Logic Editor. It can be used to assign values in
Screens and/or Dlls.
Tip: You can insert rows and columns in MetaBot Commands for a Screen. However, when used with
a DLL, you can insert only a single column to the Array type variable during assignment.
1. Adding an Array variable to a Screen - You can add an Array variable in Screens via MetaBot
commands; namely Message Box, String Operation, and Variable Operation. You can also assign a
variable in the Screen directly in the property window as shown:
2. Adding an Array variable to a Dll - You can insert an Array variable while inputting values by
pressing the function key 'F2' as shown:
1. Excel Cell - This will indicate the column name and position of the cell from the header, when
'Contains Header' is enabled for a session in Open Spreadsheet of the Excel Command. It is
applicable to Excel operations like Get Cells, Set Cells, Go to Cell, Delete Cells and Find/Replace.
2. Excel Cell Column - This will return the column of the Excel on which the operation has been
performed.
3. Excel Cell Row - This will return the cell of the Excel on which the operation has been performed.
1. In the Add Variable window, the Create New Variable option is selected by default.
2. Select the variable type. User defined variables on page 250
3. Enter a name, and select the method for determining the value of the variable.
Note: By default, the variable is marked for Analytics. If you do not want to use the variable for data
analysis, clear the option Log For Analytics. The variable will be saved as Local Variable.
• Variable values can be verified in debug mode by using the Watching Variables on page 283 feature,
which displays the run-time values for the selected variables.
After creating a variable, you can use it within your tasks using most Automation Anywhere commands.
Below example illustrates how to insert a variable that will set a cell value in Excel command.
• Using Plugin Settings on page 313 - to install/uninstall plugins for IE 11, Flex, Silverlight, and Java.
• Defining Client Hotkeys on page 299 - to customize the columns that you can view in your task list.
Warning: If you are using version 9.0 or less, the Auto Login option will allow you to run tasks on
computers that are unattended. Refer to Using the Auto Login Option on page 295
You can use this setting in conjunction with the following types of activities:
• Scheduling tasks
• Running reports
• Running workflows
• Triggers
Windows login settings for Auto Login is supported for the following operating systems:
• Windows 2000
• Windows 2003
• Windows 7
• Windows 8
Login Settings can be used to set username and password that can help you Auto Login the computers
and run an automated task. The Auto Login works as follows:
• Auto Login checks whether the computer is locked or the user is logged off.
• If the computer is locked, hibernating, or in standby mode, Auto Login unlocks the computer or logs into
the machine by using the user name and password provided.
• The automated process runs.
• After the task completes (successfully or with errors), the program restores the computer to its original
state.
As a task is running, if one of the following actions occur, Automation Anywhere can log off or lock the
computer:
• Stop Task key (Escape key by default) on the keyboard is pressed
• Pause key on the keyboard is pressed
• An error occurs while the task runs.
To enable Auto Login option to run an automated task, follow the below mentioned steps:
1. Go to Tools > Options > Login Settings.
Note: Do not use interactive commands (commands thatprompt a user for input) for tasks that use the
Auto Loginfeature.
You can save Login credentials for scheduling an automated task. This will ensure that you don't have to
input your credentials again while scheduling a task using Scheduler
1. Go to Tools > Options > Login Settings.
2. Input the windows username and password under the 'Windows Login Credentials'.
3. Select 'Schedule a task' check box if you want to schedule an automated task.
Tip: It is recommended, you enter the domain name to enable Auto Login to work properly when used
in conjunction with scheduling.
If you operate your tasks in an environment that require stringent security measures, you may not be able
to log on automatically to run certain tasks. Given this scenario, to make your Auto Login option work, you
may be required to enable the 'Bypass Legal Disclaimer' feature.
The feature is available for use, when you select 'Auto Login your computer when the task runs' option. If
you wish to bypass the security measures and automatically log on, enable 'Bypass legal disclaimer'.
Caution Note: Please note that this feature should be used with utmost care before enabling the same.
The sole responsibility of using this feature lies with the user and Automation Anywhere shall not be held
liable for its misuse and/or related consequences.
Also See...
• Running reports
• Running workflows
• Triggers
As a task is running, if one of the following actions occur, Automation Anywhere can log off or lock the
computer:
• Stop Task key (Escape key by default) on the keyboard is pressed
• Pause key on the keyboard is pressed
• An error occurs while the task runs.
You can enable the Auto-Login option when you schedule a task to run.
1. Go to Tools > Options > Auto Login.
2. Select the check box for setting Auto Login This shall enable you to apply Auto Login to all of your
tasks.
5. Input the username and password in the 'Login to Schedule Task' window. Click Save.
Note: Do not use interactive commands (commands that prompt a user for input) for tasks that use the
Auto-Login feature.
If you operate your tasks in an environment that require stringent security measures, you may not be able
to log on automatically to run certain tasks. Given this scenario, to make your Auto Login option work, you
may be required to enable the 'Bypass Legal Disclaimer' feature.
The feature is available for use, when you select 'Auto Login your computer when the task runs' option. If
you wish to bypass the security measures and automatically log on, enable 'Bypass legal disclaimer'.
Important: Please note that this feature should be used with utmost care before enabling the same. The
sole responsibility of using this feature lies with the user and Automation Anywhere shall not be held liable
for its misuse and/or related consequences.
3. Now set the following fields given under Outgoing Mail Server (SMTP):
• Host - The SMTP Host enables you to send email from an Automation Anywhere client over the
Internet. You can obtain this information from your Internet email provider, or from the configuration
section of your email program.
• Port - This setting defines the TCP/IP port that Automation Anywhere uses to send email. The default
port is 25, the Internet standard for sending SMTP email.
• Username - If your outgoing mail server requires a user name and password, specify the user name in
this field.
• Password - If your outgoing mail server requires a user name and password, specify the password in
this field.
Go Green !
• Other - Automation Anywhere cares about the environment and wants to help spread the message.
As part of our Green Campaign, a message is included at the end of each email notification. You can
deselect this option if you do not want your outgoing emails to include the Go Green message.
Tip:
1. Always try to include the TaskBot / MetaBot Logic name with the variable <taskname> / <logicname>.
2. If you plan to notify only one email address with TaskBot / MetaBot Logic updates, use the Tools
→ Options → Email Notification to simply set it one time. However, if you want different TaskBot /
MetaBot Logics to send status emails to different email addresses, specify the email addresses within
each TaskBot / MetaBot Logic.
Also See...
• Stop recording
These actions have hotkeys defined by default. To select different keys on the keyboard for these actions,
simply press the "Hotkey..." button and select a key combination from the list.
To reset the action to the default, press the "Default" button.
Note: To use hotkeys, ensure that Automation Anywhere is running in the Windows system tray.
Note: You can modify a hotkey by pressing the Hotkey button. Also set the selected key as default.
Alternately, you can select Properties tab -> Hotkey -> to set hotkeys for the selected task
1. Select an action and a key combination from the list.
2. Click OK.
Also See...
Also See...
1. Record Mouse Moves - To stop recording mouse moves while recording a task, clear this option.
Some mouse moves have application-specific meaning, such as when recording application menus. In
these cases, keep this option enabled.
2. Record Mouse Clicks - To stop recording mouse clicks while recording a task, clear this option
3. Record Keystrokes - To stop recording keystrokes while recording a task, clear this option.
4. Capture Screen-shots While Recording - To capture and display images of the screen-shot while
you record tasks use this option. For more information about this feature, see Using SnapPoint.
Application Path - Check this to specify a different application path. The default application path is the
Automation Anywhere Files folder under My Documents.
The application path can be set to a local drive or to a network path. The network path could be a mapped
drive as well.
While setting up an application path, you have to ensure the following:
1. The application path must be unique; it should not be shared between users.
2. It must be accessible at all times.
3. Users must have read and write privileges for the application path.
When changing this location, all of your tasks will be saved in the new location. The new path will take
effect when you restart the Automation Anywhere Enterprise Client.
Note:
• After changing the application path, all the triggers, hotkeys, and scheduled tasks will run as normal.
• However, if your domain name changes, you will have to manually update the application path.
• If a network drive is specified, the speed of your tasks will be determined based on your network speed.
1. Edit Task on double click in Task List - By Default, a double click on a task will run or execute a
task. Enable this option to change the default setting to edit a task on a double click.
2. Enable System Logging - For more information about this feature, see Viewing System Logs.
3. Enable Debug Logging - To debug errors that appear in Automation Anywhere and its services, you
can choose to enable logs during task execution. When you enable this option the status bar of the
application indicates Debug logging enabled.
• On enabling debug logging, Debug, Info, Warning, Error and Fatal logs are saved.
• On disabling debug logging, only Error and Fatal logs along with maximum 256 lines of buffered
data of the recently raised Warning and Info logs are saved.
4. Clear Logs - Use this to delete all Application Logs. However, the logs for applications that are
running shall not be cleared.
To clear the Application Logs,
a. Close all running applications.
b. Manually delete all files in <Application Path>\LogFiles folder.
Note: The Clear Logs button does not delete the service logs that are common for all users. To
delete the service logs, you need to delete them manually from <public documents>\Automation
Anywhere Enterprise Client Files\LogFiles
5. Export Logs - Use this to export all logs to the new folder - AAE_Client_Logs_<date>_<time>
To Export Logs to this folder,
a. Either create and select a new folder or select an existing folder.
b. Click Select Folder in the explorer:
a. This automatically creates two sub-folders - Application Logs and Service Logs wherein the
exported logs will be saved.
Note: When you use the option Clear Logs, it does not clean up the Application and Service Logs that
were saved using Export Logs.
1. Proxy Server Settings (For Web Service) - These are applicable for Web Service command only. If
your environment is using a proxy server, specify the Host Name/IP Address and the Port Number.
Also See...
By default, logging is enabled for Error and Fatal issues. If you choose the Enable Debug Logging option,
the system displays "Debug logging enabled" message in bold red on the Status Bar.
For more information on how to export logs, see Export Logs in Using Advanced Settings.
You can find the logs for the Client applications in the Application Logs and services in the Service Logs
sub-folders. You can find them in the <Log file folder selected by you>\AAE_Client_Logs_<date>_<time>
folder.
Application Log Path: <Application Path>\LogFiles
Service Log Path: Common Folder Path\Automation Anywhere Client Files\LogFiles
Note: By default, the system stores maximum ten log files of 1 MB each. The system overwrites existing
log entries if they cross this limit.
In case if you have different log configuration files for applications and services, then the Enable Debug
Logging check box is displayed in the Indeterminate state and the system displays "Debug logging
enabled" message on the Status Bar.
The following table shows the different states of Enable Debug Logging check box when you enable and
disable the debug logging.
Note: If the debug log file is deleted accidentally, the system creates a new file using the default settings
when the Client applications are started or when you make any updates on the Options screen.
If the debug log file is corrupt, the system takes a backup of the existing file with file name
<origFileName>_Date_Time_backup.xml and it replaces it with the default log file when any application
starts or when you open the Options screen.
For more information on how to clear logs, see Clear Logs in Using Advanced Settings.
For Auto Login, you need to configure Debug Logging manually in the Automation.Autologin.Settings.XML
file because Auto Login still follows the old logging and configuration mechanism. For more information,
see"Enable debug logging for Auto Login" on page 1.
Note: From AAE 10 SP2 onwards, the desktop (standalone) Java applications (running on JRE 6 or later
versions) can be automated without installing the AAE Java Plugin as AAE provides support to automate
dynamic Java Applications (Standalone Java Applications that run from a packaged JRE). To automate
web based Java applications, you still need the AAE Java Plugin.
Configure the Java settings, by clicking on Tools > Options > Java Settings.
Tip: Configure both 32 and 64 bit JRE settings if both used for recording web-based tasks. Then toggle
between 32 and 64 for recording using this option.
1. Select the appropriate JRE file from the location by clicking the browse button.
2. Select 32 or 64 bit configuration via a radio button. Click OK.
3. The Options window is invoked. Click Apply.
4. You must confirm that you wish to copy the listed files to selected JRE folder
5. The settings are added to the 'Java Runtime Environment List'.
6. Click OK.
Tip: If you wish to delete the settings from the list, click the delete icon.
Note: It is possible to make deletions provided you are in the administrator mode.
If you want to automate multiple Java Applications operating on different JREs, make sure that you add all
those JREs to the Java Settings.
Note: Ensure that while recording a Java application, you choose the right JRE from the list above and
click ‘Apply.’ Restart AAE and the JAVA application
You can get to know the JRE version of the Java Application from the Task Manager, as shown in the
image below:
For more details, you can refer Java Plugin Installation and Configuration on page 308
Note: From AAE 10 SP2 onwards, the desktop (standalone) Java applications (running on JRE 6 or later
versions) can be automated without installing the AAE Java Plugin as AAE provides support to automate
dynamic Java Applications (Standalone Java Applications that run from a packaged JRE). To automate
web based Java applications, you still need the AAE Java Plugin.
The Java plugin can be installed from Plugin Settings. Using Plugin Settings on page 313
Tip: It is recommended that you use Plugin Settings to install the Java Plugin; while use Java Settings
only to configure customized JRE.
Note: You will have to launch Automation Anywhere in the administrator mode in order to be able to install
Java Plugin and configure the JRE settings.
You can opt to install the plugin using either the user interface i.e. Plugin Settings or the command line for
a silent installation. Refer the article on Using Plugin Settings on page 313 for details.
3. Before you start to record JAVA application (desktop or Web), configure the settings in Tools >
Options > Java Settings of Client.
4. In Java Settings, browse JRE from Program files > Java
5. If want to work with JAVA application using 32 bit JRE, select JRE from Program files (x86)/Java/JRE
and select 32 bit radio option. If want to work with JAVA application using 64 bit JRE, select JRE from
Program files/Java/JRE and select 64 bit radio option.
6. Click OK.
7. Now select the setting that you want to use, 32-bit or 64-bit.
8. Click OK.
9. Click on Apply and you will see the plugin is added to the list.
10. If you want to automate multiple Java Applications (which use different versions of JREs) and ensure
that you add all those JREs to the Java Settings. The image below shows 3 JREs added to the Java
Settings:
11. Exit & restart Client.
Note: Make sure both Client application & Java application is opened either normally or “Run as
Administrator”. But both should be in same mode.
12. Open Java desktop or web app
Note: Make sure your Java app isusing 32 bit JRE if tools has 32 bit Java settings. If Javaapp is using
64 bit JRE, tools should have 64 bit java.
Specifically for JAVA desktop app: Through Command line you can externally open your JAVA
desktop application either in 32 or 64 bit (moreover you can open Java application using different JRE
versions of same bit e.g. 1.6 & 1.7).
13. After following the above mentioned steps, Start Recording the Java Application; you should be able to
record correct controls with Java Accessibility. (You can verify technology as “Java Accessibility’ from
Client Command Editor)
14. Play test should play if all settings are matching as mentioned above.
15. If you create EXE of Java test & run on fresh machine has Java, Player should prompt you saying
unavailable JRE settings & asking you to allow to add required files. Say “Yes” should inject require
files in Java\JRE*\lib\EXT and Java\JRE*\bin. Then your Test will fail/stop. Now replay the EXE, it
should work.
Note: This applies for machine regardless of whether Automation Anywhere Enterprise is installed or
not.
5. I am still facing problems to Record Java Controls? Why Updating New JRE Version, fails my Java
Recording & Play?
This problem is with 32 bit JRE only. Go to Program file (x86)\Java\JRE*\lib\EXT, remove “access-
bridge-32.jar”
6. • Go to Program file (x86)\Java\JRE*\bin, Remove below files JavaAccessBridge-32.dll
JAWTAccessBridge-32.dll WindowsAccessBridge-32.dll.
• Now open Client “Run As Administrator” & remove JAVA settings for 32 bit and Reset them again.
• Restart Client. Your recording & play should work
7. All the settings are correct, but Recording & Play does not work.
Make Sure settings are compatible with your Java app, 32 or 64 JRE.
If want to work with 32 bit JRE, make sure it is selected in Java setting & vice versa.
If correct then:
8. • Exit Client & Java application.
9. Player does not play java test, even when all settings & mode are correct.
In Case of Player, Make sure to use Tools > Options > Runtime Settings > Run Task as an
Administrator check box , as per Requirement.
10. • If Client & Java app, opened normally, uncheck “Run Task as an Administrator” & Play.
• If Java App is opened Run as Admin, Check “Run Task as an Administrator” & Play.
• Same applies to Java test EXE created by “Create EXE” feature.
11. You will get an error as follows when automating a Java Application.
Restart the Java Application and re-run the automation task.
12. Other FAQs:http://java.com/en/download/faq/win8_faq.xml
Settings: An Overview
Note: Applicable to Windows 7 or later, in which user account control (UAC) is enabled. For other
operating systems or when UAC is not enabled, turn this setting off. For details refer Setting User Access
Control.
Use this setting when running critical tasks for which a Windows prompt is issued asking for authorization
to run a process. When this setting is turned on, the user name and password of the computer
administrator is required to be entered before the task can be run.
Use this setting when a specific path is not specified in the Log-To-File command or other commands, in
which a file or folder path is required for running a task.
While the task runs, a new folder is created in the location specified in this setting field. After you apply this
setting, all newly created files and folders are located in this path location.
Internet connection speeds can differ widely. Hence adjustments are required to ensure proper running of
a task which involves loading web pages.
Use this setting to adjust the timeout value, based on your local internet connection speed or the time
taken by the web page to load completely.
For example, if you use a slow dial-up connection and experience frequent timeout errors while a task is
running, adjust this setting to increase the timeout period.
Use this setting to capture visual logs (screen-shots) as a task runs. You can turn this setting off by un-
checking the check-box.
Tip: Turning this setting off can enhance performance and free up hard drive memory.
For more information on capturing visual logs, see Using SnapPoint.
Also See...
Note: The ROI calculation is based on cost of hourly time, run time, debug time, alert assistance time,
documentation time, training time, and knowledge capture.
• Click on Tools > Options > ROI Settings to change the hourly rate. Changes to this value will be
reflected in future ROI calculations.
Also See...
Installing from the Options menu is convenient as not only does it allow you to confirm whether the plugin
is installed, but also provides an option to install plugins in case they fail to install during Client Installation.
You will be needing to install the plugin if you wish to record and execute your web recorder tasks in
Internet Explorer 11.
1. In order to install the IE 11 plugin, go to Tools → Options → Plugin
2. Click 'Install' in the column corresponding to 'IE 11'.
• Your installation process is complete when you see the confirmation message for the same.
Note: You can verify if the IE 11 plugin has been installed in the browser from Tools → Manage Add-ons:
It is recommended that you run Automation Anywhere using the 'Run as Administrator' mode.
Windows Server 2012 users, please note that:
• The IE Advanced Security should be turned 'OFF'.
• The Enable Enhanced Protected Mode* in IE should be un-checked. (Go to IE Settings → Internet
Options → Advanced tab → Security.)
In order to be able to record tasks for applications that use Silverlight and consequently run them, you are
required to install related plugins. In your client, switch to 'Administrator Mode' (if not) and follow the given
steps:
1. Go to Tools → Options → Plugin Settings
2. Click 'Install' in the column corresponding to 'Silverlight'
• Your installation process is complete when you see the confirmation message for the same.
In order to be able to record tasks for applications that use Flex and consequently run them, you are
required to install related plugins. In your client, switch to 'Administrator Mode' (if not) and follow the given
steps:
1. Go to Tools → Options → Plugin Settings
2. Click 'Install' in the column corresponding to 'Flex'
In order to capture objects in Google Chrome while using the Object Cloning command, you should have
the Chrome Plugin installed/enabled. You can install the plugin using any of two methods:
1. While installing the Automation Anywhere Enterprise Client. Refer the installation guide for details.
2. Using the 'Fix' option in the window that appears while recording:
3. Installing from Tools → Options → Plugin Settings menu by clicking install.
• Your installation process is complete when you see the confirmation message for the same.
Tip: To add Automation Anywhere Enterprise extension in Chrome, use the 'Open Folder' option to drag
and drop the extension in the browser or use 'Fix'.
Command Line
You can also install the Chrome plugin using the command line in silent mode:
1. Launch the command window in administrator mode.
2. Go to the application installation path
3. Type the required parameter(s) as shown:
"C:\Program Files (x86)\Automation Anywhere Enterprise\Client\AAPluginInstallation.exe" /chrome /
silent
Note: It is important to leave a space before specific parameters as shown in the above example.
Important: The silent parameter installs the plugin in silent mode, which restricts the system from
displaying any messages.
To enable automation (record and play) of applications that use Java technology, you must install the Java
Plugin. You can use the user interface or the command line to install the plugin.
Note: From AAE 10 SP2 onwards, the desktop (standalone) Java applications (running on JRE 6 or later
versions) can be automated without installing the AAE Java Plugin as AAE provides support to automate
dynamic Java Applications (Standalone Java Applications that run from a packaged JRE). However, to
automate web based Java applications, you will still need the AAE Java Plugin.
User Interface
1. Run the application in administrator mode.
2. Go to Tools → Options → Plugin Settings
3. Click on 'Install' for Java:
Important: This automatically configures all installed JRE and are listed in Java Settings. Refer Java
Plugin Installation and Configuration on page 308.
1. Click on OK:
Command Line
You can use the command line to install, reinstall, and uninstall the Java plugin. You can also install the
plugin in silent mode.
To /install /reinstall /uninstall from the command line,
1. Launch the command window in administrator mode.
2. Go to the application installation path
3. Type the required parameter(s) as shown:
Note: It is important to leave a space before specific parameters as shown in the above example.
Tip: The silent parameter installs the plugin in silent mode, which restricts the system from displaying
any messages.
Parameters
1. /install - Install the java plugin.
2. /uninstall - Uninstall the java plugin.
3. /reinstall - Reinstall the java plugin.
4. /silent - Silently Install/uninstall/reinstall java plugin
5. /jrePath - Path of JRE in which user wants to install java plugin.
Available only for machines that run with Microsoft Windows 10.
To enable recording of web-based automation for Microsoft Windows 10, you can install the Edge plugin
using any of the three methods:
1. While Installing the Client
2. From Tools menu in the Client
3. From command line
Important: You must close all open instances of Edge browser sessions on your machine before installing
the plugin.
1. You can install the plugin while installing the AAE Client. Refer the Client Installation Guide for details.
2. From AAE Client Options in Tools menu:
a. Run the application in administrator mode.
b. Go to Tools → Options → Plugin Settings:
c. Click for Edge
d. The Edge plugin is installed.
e. You should enable the extension from settings of Edge browser.
Refer Microsoft link for details on adding extensions in Edge browser.
f. The plugin shows up in the extension pane once you enable the plugin:
Note: You can also reinstall the plugin using the command line. Use Reinstall parameter instead
of install.
Tip: The silent parameter installs the plugin in silent mode, which restricts the system from
displaying any messages.
Parameters
a. /install - Install the Edge plugin.
b. /uninstall - Uninstall the Edge plugin.
c. /reinstall - Reinstall the Edge plugin.
d. /silent - Silently Install/uninstall/reinstall Edge plugin
Reinstalling/Uninstalling Plugins
If, at any given point of time, you wish to reinstall or uninstall the plugin(s), you can simply click the '
Reinstall' or 'Uninstall* ' link in Plugin Settings:
* Uninstall and Reinstall is available as an option for IE 11, Edge and Java plugins only.
Note: AAE does not have the provisionto uninstall Silverlight and Flex/Flash plugins as they could be
inuse by other applications.
Note: AAE does not have the provisionto uninstall this plugin from Tools → Options →Plugins.
5. Java - Use the 'Uninstall' link provided in the Plugin column (see above image) and follow the below
steps:
6. a. Clear the ‘Enable Java Access Bridge’ check-box from Control Panel → Ease of Access → Ease
of Access Centre → Use the computer without a display.
b. Delete the two files - Automation.JavaAccessBridge64.dll and WindowsAccessBridge-32.dll from
the AAE Client installation location.
For Recording
1. Record on Mouse Down - Select this option to record a task with the help of Web Recorder using
mouse down event i.e. while scrolling.
1. Internet Explorer Time Out - Define the time (in seconds) within which the Internet Explorer browser
should wait till the required page uploads.The maximum time out allowed is 240 seconds.
2. Parallel Threads to Find Broken Links -Use this to input the number of broken links that can be
processed at a time. Default is set at 10.
3. Find Broken Links Time Out - Use this to allow the web recorder to wait for the 'Broken Link' to exist.
Default is set at 10.
General Settings
1. Launch Internet Explorer as a Process - Enable this option while recording in stringent security
environment.
Also See...
Adding a Column
Select a column from the list of available columns and click Add.
The newly added column is displayed in the list on the right.
Removing a Column
Select a column from the list on the right depicted below the text 'Show these columns in this order:' and
click Remove.
The column is removed from the list and is added back to the list on the left side (Available Columns)
Note: The File Name column is required and cannot be removed from view.
Reorder Columns
Use the Move Up and Move Down buttons to change the left-to-right column position in the view. The
columns that are listed from top-to-bottom are displayed in the Task List view from left-to-right.
Save Changes
Click Save to save any changes you make to the view and apply them to the Task List.
Cancel Changes
Click Reset to restore the default column settings in the Task List view.
Note: The default column order is: File Name, Type, Repeat, Status, and Last Run Time.
Also See...
• Drag the slider to the bottom so that the setting is on "Never Notify".
2. Add Automation Anywhere to the list of exceptions under Data Execution Protection (DEP):
• On the Windows desktop, click on Start > Control Panel > System > Advanced System Settings.
• On the 'Advanced' tab, click the 'Settings' button in the 'Performance' area.
• Click on the tab "Data Execution Prevention" and select the option "Turn on DEP for all programs
and services except those I select:"
• Click on the 'Add' button, and add the Automation Anywhere.exe (Program Files (x86)\Automation
Anywhere) folder to the list.
3. Reboot the computer to ensure that the new settings take effect.
Also See...
To make specifying the target text to capture easier, use the Before and After keywords. For example, in
the text string "Name: ABC Inc. Location:", to copy only "ABC Inc.," specify Before = "Location" and After =
"Name:". You can also trim the captured text to remove leading and trailing spaces.
Note: If you enable ‘Secure Recording mode’, ‘Image1’ and ‘Image2’ are not captured. Using the Secure
Recording Mode on page 37.
While ‘Secure Recording mode’ is enabled and you try to capture ‘Image2’ an error message appears
“Secure Recording mode. Ensure that the ‘Image2’ does not show any secure data.”
Also See...
Using SnapPoint
Use the SnapPoint feature to add screen shots to an automation task or to recapture screen shots when a
task is running.
Automation Anywhere provides a state-of-the-art technology for capturing and displaying screen shot
images as you create automation tasks.
Note: If you enable ‘Secure Recording mode’, no images are captured. Using the Secure Recording Mode
on page 37
To capture screen shots, click on the Tools menu, select Options, and select Advanced Settings. Click on
Capture Screenshots While Recording.
You can re-size and move images inside the Workbench to place them in a desired location. The captured
image is the active window during recording, and shows you exactly where your mouse cursor is located.
For example, in the following screen shot, line number 24 in the task, Mouse Click: Left Button on 2 in
Calculator, and the corresponding image showing the Windows calculator.
Use the Visualize tab in the Workbench to view a complete graphical layout of the current task. The
following screen shot shows a task after having clicked on the Visualize tab. The example shows that you
clicked Start, then Run, then OK in the Run window, then number '1' in the calculator.
When you create a task manually using the Workbench, or you modify a recorded task, the images that
you captured during recording might not remain the most current. Automation Anywhere provides a
convenient way to refresh the images, called SnapPoints.
To set SnapPoints, click the Set SnapPoint button. You can now set SnapPoints in the column to the left
of the line numbers, as shown below. When you run a task after setting SnapPoints, Automation Anywhere
recaptures the images for those commands on which you set SnapPoints.
The images are captured after the task runs.
Note: If you enable ‘Secure Recording mode’, no images are captured. Learn More When you click on
‘Visualize’, it is disabled while 'Secure Recording' is on.
Note: If the ‘Secure Recording Mode’ is enabled, ‘SnapPoint’ is disabled. Also, if you try to enable Snap
view whilst ‘Secure Recording Mode’ an error message “Secure Recording mode. Image have not been
captured during recording” appears.
What is a Report?
Reports are important feature to measure the success and calculate the ROI that Automation Anywhere
brings to your organization with respect to time.
Automation Anywhere provides graphical reports that display the status of tasks and workflows, as well as
the ROI over time.
You can view the following types of reports:
Task Run: Displays how many times a task has run successfully, and how many times it has failed during
the period. You can view this report for:
• All Tasks saved in the default location, i.e., My Documents\Automation Anywhere\Automation
Anywhere\My Tasks
• Tasks in a specified folder
• Selected tasks.
Task Timeline: Displays task history in a graphical time line. Select a task and time line to view the
number of times a task was run or modified during the period. It also shows whether the task was created
or deleted during that time. You can view this report for:
• All tasks saved in default location, i.e. My Documents\Automation Anywhere Files\Automation
Anywhere Files\My Tasks
• Tasks in a specified folder
• Selected tasks
Workflow Timeline: Displays workflow history in a graphical time line. You can select a workflow and a
time line to see the number of times the workflow was run or modified during the time period. It also tells
you whether the workflow was created or deleted during that time. You can view this report for:
• All Workflows saved in default location, i.e. My Documents\Automation Anywhere Files\Automation
Anywhere Files\My Workflow
• Workflows in a specified folder
• Selected workflows
ROI: Displays how much USD/Dollar Value has been saved by using Automation Anywhereduring the time
period.
Visual Logs: Graphically displays tasks that have run by providing step-by-step SnapPoints for each
action in a task.
Also See...
• Running Reports
• Saving Reports
• Sending Email Notifications for Reports
• Scheduling a Report to Run
• Triggering a Report to Run
• Viewing a Report Graphically
Running Reports
Also See...
• What is a Report?
• Saving Reports
• Sending Email Notifications for Reports
• Scheduling a Report to Run
• Triggering a Report to Run
• Viewing a Report Graphically
Saving Reports
To save a report after specifying the criteria, click Save and Run Report.
Automation Anywhere stores your selections and saves the report as a template for future use.
If you want to save a report as an image, click on the File menu and select Save As Image.
Also See...
• What is a Report?
• Running Reports
• Saving Reports
• Scheduling a Report to Run
• Triggering a Report to Run
• Viewing a Report Graphically
2. Select Schedule.
3. Specify the scheduling parameters.
Also See...
• What is a Report?
• Running Reports
• Saving Reports
• Sending Email Notifications for Reports
• Triggering a Report to Run
• Viewing a Report Graphically
2. Select Trigger.
3. Define your trigger.
You can use the Notification property to send an email notification after the trigger event runs the report.
For more information, see Sending Email Notifications for Reports.
If SnapPoints are not supported by the task, a message is displayed to notify you immediately.
Using the Visualize Report, you can:
• View the number of days that the task has run during a specific date range.
• View a specific day and the number of times that a task has run during that day.
• Compare your tasks using all of the saved SnapPoints in the task folders (..My Documents\Automation
Anywhere\SnapPoints).
Also See...
• What is a Report?
• Running Reports
• Saving Reports
Overview
A Workflow shows a high-level, graphical view of your business or IT Workflow, with a representation of
conditional logic and Workflow flow. Some Workflows might be simple, some more complex.
The Workflow Designer provides an intuitive, drag-and-drop interface to help you quickly design your
workflows.
Creating a Workflow?
• Start: The starting point for the Workflow. Each Workflow can have only one Start object.
• Run Task: Runs a previously built task (.atmx file). Before proceeding to the next Workflow step, the
Workflow stops until the Run Task command is completely finished.
When you insert a Run Task object, it displays one Successful arrow and one Unsuccessful arrow. Both
arrows are required for a complete Workflow. If you accidentally delete one of these arrows, move the
mouse over the Run Task object and pull another arrow over to connect it with the desired object.
Note: You can edit a task from the Run Task list by right-clicking the task and viewing the menu.
• Conditional (If): Provides an event condition on which the subsequent steps in the Workflow depend.
Based on the result of the condition (True or False), the Workflow moves along the appropriate path to
next steps.
When you insert a Conditional object, it displays one True arrow and one False arrow. Both arrows are
required. If you accidentally delete one of the arrows, move the mouse over the object and pull another
arrow over to connect it with the desired object.
Use multiple AND or OR conditions*- You can include 'AND' or 'OR' conditions when you wish to
include multiple conditions in the same command.
* Available from version 7.5.2 onward
Refer If Else Command to know how.
• End: The end of the Workflow. When the Workflow reaches this object, execution is stopped.
• Arrows: Connects objects and pathways in the Workflow. To insert an arrow from any object, move the
mouse over the object until the mouse icon changes to a hand icon:
Tip: Prior to running a Workflow or exiting the Workflow Designer, always validate the Workflow.
Validation ensures that your Workflow objects are correctly connected and that errors do not occur.
Running a Workflow
To run a Workflow from the Workflow Designer, click on Run or double-click the Workflow file in the Task
List.
When you run the Workflow within the Workflow Designer, Automation Anywhere indicates the path
followed in the Workflow. For example, you can easily see whether a True or False condition occurs.
After a Workflow has completed a run, the Workflow Designer highlights the complete path in color.
Repeating a Workflow
To repeat a Workflow, use the Repeat property. The Workflow will run again.
To send an email notification when a Workflow run is complete, use the Notification property.
To save a Workflow as an image, click on the File menu and select Save as Image.
Printing a Workflow
You can schedule a Workflow to run using the Automation Anywhere Scheduler. Refer Scheduling Tasks
to Run.
You can use triggers to schedule a Workflow to run. Refer Scheduling Tasks Using Triggers.
Workflow variables can be associated with various tasks. The associated variable is clearly shown in Run
Task command.
Only type of variable association should be same, the names of variables can differ.
Steps to associate Workflow variable to task variables:
1. Click the Run Task command.
2. Select Task using Browse.
3. Select Variable option as action.
4. Create variable association section appears.
5. Select Worflow Variables from drop down list and associate them with the drop down of list for the
Task Variables.
Use the 'Quick Map' button if you have a large set of variables to associate *.
* Available from version 8.1 onward.
Refer Run Task Command for details.
6. Associate workflow variables to task variables using Run Task > Variable option.
• Both drop downs will only display Value type of variables defined.
Note:
1. If there are changes to the task variables type or source, the association will be invalid.
2. If there is change in application path of a task, the association will be updated automatically. However,
one needs to manually Save the workflow.
3. The SAVE button is enabled for these workflows with an appropriate message.
Also See...
• Using SnapPoint
• Using the Report Designer
• Using the ROI Calculator
• Using Variables
Automation Anywhere calculates the ROI based on the results of automating processes. The ROI is a
cumulative dollar amount from running tasks.
As the basis for the ROI calculations, you can set the hourly personnel rate to calculate hourly savings. For
more information, see the 'ROI Settings' in the ROI Calculator.
To make the ROI calculations easy to understand and useful in sharing, you can view the ROI as a
graphical chart.
Note: You can reset the ROI at any time by clicking 'Reset ROI' button.
You can also generate ROI related reports using the Report Designer as shown:
Also See...
• Using SnapPoint
• Using the Report Designer
1. Click Save.
2. When Saved the New Module will be shown in the tree structure of modules.
3. Right click on the newly added module name and select Add Category action.
4. Save Category and it will show as child below the module.
5. Right click Category and select Add New Operation action.
6. Save Add New Operation which will appear as child for the category added.
7. Right Click on Operation and Select Add New BAPI action.
8. Now, Add BAPI appears. To add custom BAPI, type its name.
9. Select Application Server Host, as Custom Application Server or Group/Server Selection. Enter all
connection details and Test the connection.
10. Click Save.
Note:
This is one time setup, and once added it will appear in BAPI Explorer always.
1. Add BAPI window appears where custom BAPI can be specified and saved as shown in above
screen.
Search criteria in SAP BAPI Manager, helps one to search any BAPI containing the name entered.
It is wild card supported and shows the Next BAPI when there are multiple entries associated with the
same name.
• Depending on the selection actions for Rename and Delete will be seen.
• The Automation Anywhere client provides an easy-to-use facility for communicating with the server.
• To launch the Repository facility, click on the Repository tab on the main client screen.
• Ensure the client is already registered with the server.
Refer Comparing Files that Reside on the Client and Server on page 342 for details.
You can upload tasks to the server (or the Control Room Repository Manager using any of the four
methods:
1. Selecting Upload from the Action button drop-down list
2. Clicking the 'Upload' button at the top right 'Task List' pane
• When the task is successfully uploaded, a confirmation window is displayed. Click OK.
• The task is displayed in the Server Repository Manager.
Note: If you have configured Version Control, you will have to add comments while uploading the task.
Upload Comments on page 89
Note: Be aware that files that are downloaded to the client with same names will be overwritten. Before
downloading files, be sure that the latest version of the task is on the server.
Also See...
•
Using the Compare File feature, you can compare two different versions of a task file to identify any recent
changes. You can view these differences by using the Task Actions List panes that are generated after
running the comparison.
To run a comparison of two task files, follow these steps:
1. Launch the Repository facility by clicking on the Repository under Manage tab on the main client
screen. Make sure that the client is already registered with the server.
2. Highlight the task file you would like to compare by clicking once on the file name, either in the Server
or Client pane. In presence of a file with duplicate name in the Client or Server, the Compare button is
enabled.
3. Click on the Compare button to run the comparison. A new window is launched, displaying the
comparison results.
• If no differences between the files are found, the message "No differences found." is displayed at the
top.
• RED: Deleted. Task actions have been deleted are marked in red on the server, and are shown as a
blank line on the client.
• Application APIs (DLL)- These are interfaces that allow low level operations of an application by
circumventing GUI.
• The MetaBot Designer also supports the most common format of API on Windows platform – the
DLL.
• Navigational flows (Logic) - These are pre-configured use cases of an application and leverage Visual
captures and APIs.
• In MetaBot Designer, Screens and DLLs form the Assets using which you can define and pre-
configure any use case of a target application to create a navigational flow, known as Logic.
Using the Workbench to create Logic on page 368
Refer Using MetaBot Designer with Automation Anywhere Enterprise and Downloading MetaBots in
Enterprise Client for details.
System Requirements
• Pre-requisites: Automation Anywhere Enterprise 10.2
• Operating System: Windows 7, Windows 8, Windows 8.1
• Browser: Internet Explorer 8 and later
• Technology: .Net, WPF, Java 1.6 and above (Desktop and Web), HTML, Windows, Flex
• Hardware requirements: Same as Automation Anywhere Enterprise 10.2
You can install the MetaBot Designer only via the Automation Anywhere Enterprise Client setup. Refer the
Automation Anywhere Enterprise Installation Guide for details.
To access MetaBots, the Client user has to have the required access privileges that are provided by the
Control Room administrator.
To do a quick check that MetaBot Designer is installed and working fine, ensure that you see MetaBots
under AUTOMATE on left panel. Click on it to launch the MetaBot Designer.
After successful installation of Automation Anywhere Enterprise Client setup, the feature is added to the
product under the Automate Tab.
Click on 'MetaBots' to launch the MetaBot Designer.
Tip: The MetaBots are saved to the application path in the 'My MetaBots' folder. You can save these
to a location you desire by changing the settings in Tools > Options > System Settings See .Adding
and Recording a MetaBot on page 358
2. Record - Record is an alternate method of creating a MetaBot. Here, at-least one MetaBot will be
present as its recorded.
Adding and Recording a MetaBot on page 358
3. My MetaBots – This tab is shown by default; it displays all MetaBots. This tab is always open, by
default.
4. Configure - Use this to edit your application properties for the recorded/added screen.
Configuring MetaBot Screens on page 362
5.
6. Calibrate - Use this to to instantly compare an existing screen with a newer screen to identify changes
if any.
Calibrating MetaBot Screens on page 366
7. Upload - Use this to upload the MetaBots to the Control Room for download by other MetaBot users.
Uploading MetaBots to Control Room on page 379
8. Delete - Use this to delete MetaBots, Screens and Dlls.
9. Export/Import - Use this to export and import MetaBots for use in different Control Room setups.
Exporting and Importing MetaBots on page 378
• Application APIs - These are interfaces that allow low level operations of an application by
circumventing GUI.
• The MetaBot Designer also supports the most common format of API on Windows platform – the
DLL.
• Navigational flows - These are pre-configured use cases of an application and leverage Visual
captures and APIs.
• In MetaBot Designer, Screens and DLLs form the Assets using which you can define and pre-
configure any use case of a target application to create a navigational flow, known as Logic.
Using the Workbench to create Logic on page 368
The MetaBot Designer helps you to conceptualize, create, manage and upload MetaBots.
With MetaBot Designer, you can:
• Create MetaBots.
• Add Assets – Screens and DLLs to your MetaBots.
• Manage your MetaBot Assets.
• Configure and Calibrate the Screens.
• Create custom objects on the Screens.
• Create Logic to represent a navigational flow using Screens and DLLs.
• Upload the MetaBots to the Control Room for use by other Enterprise Client users.
• Edit MetaBots created by other users.
• Export and Import MetaBots for use in different Control Room setups.
• To access the MetaBots Designer console, you need to click on Edit. Creating a MetaBot on page
353
After successful installation of Automation Anywhere Client setup, the feature is added to the product
under the AUTOMATE Tab.
Click on 'MetaBots' to launch the Enterprise Client - MetaBot Designer.
If you do not have the necessary access privileges, you are shown:
A BotCreator Client with MetaBots Repository access permissions can create, open, record, edit, upload,
download, and rename MetaBots from the Client - My MetaBots list view.
From the Enterprise Client - MetaBots view, a BotCreator can create a new MetaBot, record screens for a
new MetaBot, upload and delete MetaBot(s).
Additionally, if Version Control is enabled for controlled edits of MetaBots, a BotCreator can Check Out the
MetaBot for editing and view Version History. Enabling Version Control on page 395
From the My MetaBots list view, a BotCreator can perform the below actions:
1. New - Use this to create a New MetaBot. Creating a MetaBot on page 353
2. Record - Record is an alternate method of creating a MetaBot. Adding and Recording a MetaBot on
page 358
3. Delete - Use this to delete obsolete MetaBots or ones that are no longer required. Deleting MetaBots
on page 394
Some of these features are also accessible from the MetaBot Designer console. Understanding MetaBot
Designer on page 350
The work space in MetBot Designer allows you to work with multiple MetaBots at the same time. MetaBots
that you wish to work on can be kept open in the form of tabs.
Once you create a MetaBot, you are taken to Assets tab by default where in you can start by adding new
assets (Screens/DLLs).
Understanding Assets
Note: You will have to invoke the application screen before using this feature. Also, if the application
is closed, you will be prompted to open the required application.
* If your Screens are set at lower resolutions; e.g. 1024 X 768, the 'Add Folder' and 'Add Screen'
options can be accessed from the 'Edit' menu.
1. Record Screen - When you need to capture multiple screens of the related application/webpage at
one go, use Record Screen. Every screen / Menu item / Popup / context menu that you interact with
during the recording gets captured.
Adding and Recording a MetaBot on page 358
Tip: Use Record Screen to record all the Screens/UI elements (Menu item / Popup / context menu
etc.) while you interact with the application in a workflow mode. These UI elements cannot be captured
using Add Screen.
Note: If an application has multiple exe's, you are required to create a separate MetaBot for each.
1. Add Dll - If you need to use an 'Application Programming Interface’ (DLL) within your MetaBot, you
can add it to the MetaBot using 'Add Dll'. Remember though, you cannot include special characters in
DLL names.
Using the Workbench to create Logic on page 368
Note: The Screens, DLLs and Folders are displayed in the order they were added.
2. Configure - Use this to edit properties for the recorded/added screen. Here you can provide aliases
such as a 'Screen Name' and a 'Screen Title'. You can also select an object to define its properties
such as Name, Path, Value, ID, Class, Index, States etc and the 'Play Mode' to be used when running
tasks. Some of these properties help to uniquely identify an object during playback. You can thus use
configure to improve the reliability of your automation.
Configuring MetaBot Screens on page 362
3. Calibrate - Since an application may get updated continually during its lifecycle with improvements
and newer features, your captured screen and its object properties might need a re-look after every
update of the application. In MetaBots Designer you can use ‘Calibrate’ to instantly compare an
existing screen with a newer screen to identify changes if any.
Calibrating MetaBot Screens on page 366
4. Upload - The MetaBots can be 'uploaded' to the Server i.e. uploaded to the Control Room, which acts
as the central library from where fellow MetaBot Designers can pick up the MetaBots necessary to
their task(s). The client with MetaBot privileges can upload and deploy the MetaBots to the server.
Uploading MetaBots to Control Room on page 379
Note: Deleting a MetaBot from the MetaBot Designer doesn’t delete it from Control Room.
Once you have captured the desired assets, move on to create Logic using those assets.
Understanding Logic
A Logic is an independent yet functional unit of a process that represents a part navigational flow of an
application and can be integrated into automation tasks as and when required.
You can use Assets (Screens and DLL's) to design a Logic block. Subsequently, you can upload the
Logic Blocks to Control Room so that they can be downloaded to Development/Runtime Client(s) with
appropriate MetaBot privileges.
The following explains the options available within a Logic view:
1. MetaBot Tab - The MetaBot opens in its own tab. This tab is dedicated to the Assets and Logic for
that particular MetaBot.
2. Logic Tab - When highlighted it indicates that the view is open in 'Logic'; it displays all the Logic
Blocks and Folders inherent to this particular MetaBot.
3. Add Folder - Similar to Assets; for instance, you can add Logic Blocks that are functionally similar to a
folder.
4. Add Logic - Use this to create your navigational flows in the Logic Editor.
Using the Workbench to create Logic on page 368
5. Record Logic - Use this to record the logic flow and automatically save Screens in Assets.
Recording Logic on page 374
6. Edit - Use this to edit an existing navigational flow.
7. Upload - Use this to publish (upload) your (new or edited) Logic to the Control Room.
Uploading MetaBots to Control Room on page 379
8. Delete - Use this to delete obsolete Logic.
Note: The Logic and Folders are displayed in the order they were added.
Creating a MetaBot
Let’s create your first MetaBot. It will allow you to add vendors to your Inventory Management System.
1. Open the MetaBot Designer and click on New.
2. A smaller window, New MetaBot, opens which lists all currently running applications on your machine.
3. Opt to create either a MetaBot with a single application or with multiple applications. When you choose
Application Specific option, you can create automation using screens only from that particular
application. Whereas when you choose All Applications option, you can create automation using a
combination of screens from different applications per your automation flow.
4. Select a folder in which you want to store the MetaBot by clicking the browse button. This launches the
Select Folder window:
5.
Tip: Save your MetaBots to logically created folders. These can be created by clicking :
6. For easy understanding, lets create a MetaBot using a single application. Select Application
Specific .
7. From the list, select an application (inFlow Inventory in this case) for which you want to create a
MetaBot. Type in a name - “inFlow Inventory - Create Vendor.”
8. Click Create.
Tip: If you forgot to launch the application before starting to create a MetaBot for it, just open it now
and click on Refresh on the New MetaBot window. Your application will appear for selection in the list.
9. This creates and opens a new but empty “inFlow Inventory - Create Vendor.”. It cannot do anything
for you yet.
10. To create a vendor in the application, we need its screen asset. Click on 'Add Screen'.
11.
12. On the center of your screen, a small window Open Screens is displayed. This window will show all
instance of currently open screen of the target application.
• If multiple instances of an application are open, you will see multiple screens. For example, if you
have two instances of IE open, you will see two separate screens displayed in Open Screens.
13. Select the capture type for screen objects - Standard or OCR.
Note: This option is available only for creating a screen and not when you record a screen.
• Select Standard when you are using technology such as MSAA, html etc. This option is selected
by default.
• Select OCR when you want to capture objects from application images which are exposed over
applications such as Citrix or RDP. While capturing screens with OCR ensure that the screen DPI
is set to Standard or 100%.
Note: If you want to create a Logic for OCR Screens, it is recommended that you use Import
Dataset command.
• When you select OCR, parent object properties are linked to child objects automatically while
creating the Screen. You can choose to change the linking while configuring the screen for greater
accuracy.
You can also choose the OCR engine to capture objects from screens:
Note: The OCR engine that you choose will be used for executing automations. It cannot be
changed when you edit a MetaBot screen. Hence, the selected OCR engine should also be
installed on the Bot Runner machines to ensure your automations do not fail.
• To use an OCR engine, you must ensure it is installed on your machine. TESSERACT is the
default OCR engine. You can also opt to capture your screen objects using MODI or TOCR.
If you are using Tesseract, you will have to install Visual C++ Redistributable for Visual Studio
2015. You can download it from Microsoft’s website. To use an OCR engine, other than
Tesseract, you must ensure it is installed on your machine.
• If you select MODI and it is not installed, you are shown:
When you use MODI as your OCR engine, ensure that:
• Microsoft Office 2003 or later is installed on your computer.
• The sub-component "Scanning, OCR, and Indexing Service Filter" (under Microsoft Office
Document Imaging) is selected during installation for Microsoft Office 2007.
• The component is installed separately if you are using Microsoft Office 2010 and above.
Click here for details.
Tip: If the selected object has dynamic properties in its search criteria, it is recommended to use '*' in
place of the actual value. For instance, change the value of property 'HTML ID' as shown:
Tip: If no name is displayed for the selected control, you can give an easily identifiable name to it.
You can also rename the selected control if required. Configuring MetaBot Screens on page 362
25. Subsequently, add other screens by clicking 'Next'. For instance, the above action will navigate you to
the create vendor screen wherein you can create a vendor and add details:
26. If your Logic requires that you add commands, select ones that are most appropriate for your logic.
Using the Workbench to create Logic on page 368
27. You can also choose to add another logic from the MetaBot that you have selected.
a. Click MetaBots tab and select a MetaBot from the list:
b. This launches the MetaBot window from which you can select a Logic:
Note: You can select only those Logic that are available for the MetaBot from which you want
to add. You cannot select Logics from other MetaBots. Those are available when you Using the
Workbench to create Logic on page 368
28. If needed, you can also add DLLs. Using the Workbench to create Logic on page 368
29. Once done, click Save.
30. You will be prompted to enter a name for this new logic that you just created. Click on Save to finish.
31. The saved actions will appear in the Logic Editor under the Actions List.
32. Let’s run this logic to see if it works as expected. Click Run.
33. You have successfully created a MetaBot with a logic to create a Vendor in your inventory repository.
34. We will now use this MetaBot in an automation task. Assuming Automation Anywhere Enterprise
Client is also installed on your machine and supports MetaBots, open the Workbench to create a new
automation task.
35. Select inFlow Inventory - Create Vendor from the list of MetaBots on the top left and drag it onto the
action list.
Note: These are available to other MetaBot users after the MetaBots have been uploaded to the
Control Room and later Downloaded to the Client.
36. This invokes the MetaBot UI where you can browse and select from the list of available Logics. Select
the Add Vendor logic, add required Input Parameters as well as Output Parameters, and click Save.
37. You can also directly create a Logic inside a logical folder of the selected MetaBot in the
Workbench.
38. • To create a Logic, click New,
•
Note: To create a Logic by default, click on the arrow, select MetaBot Logic and then click New:
• This launches the Create Logic window. Select a MetaBot from the list of My MetaBots:
•
Tip: Use keywords to search for a MetaBot in a folder:
• The Create Logic window displays a list of MetaBots, the Application for which it is created, and
list of Logics if available.
Refer Using the Workbench to create Logic on page 368 for details.
Tip: If you specify any Input/Output parameters while creating a logic in the Logic editor, you can
see them here. Variables - Parameter Types on page 385
Tip: You can launch the application first and then use the logic.
41. You have successfully used a MetaBot to create a repository of vendors in your inventory
management system.
This creates an empty MetaBot for the selected application. You can then progressively add screens to this
MetaBot at any point of time using Add Screen and Record Screens.
Creating a MetaBot using 'New'
1. Click New MetaBot
2. Select Application Specific to create a MetaBot for a single application. Else select All Applications
to create an "application agnostic" MetaBot i.e. a MetaBot that makes use of multiple applications.
Specify the name that reflects the purpose of creating the MetaBot.
Note: Click Refresh if your application is not listed. Alternately, despite 'Refresh' if it is not listed,
verify if the application is running in 'Admin' mode. If yes, restart the MetaBot Designer in 'Admin'
mode.
Tip: Refer the detailed steps given in Creating a MetaBot on page 353
1. Record Screen(s)
Use this option when you want to capture only screens with relevant object properties.
1. Click record
2. Specify either Application Specific or All Applications based on your workflow to capture GUI
properties.
3. Select 'Record Screen(s) option in the Record MetaBot window.
4. Click on the image in Open Screens.
1. Click Pause if you wish to stop recording for sometime but resume from where you left off.
Note: If an application has multiple exe's, you are required to create a separate MetaBot for each.
Use this option when you want to save the workflow in the form of Logic directly instead of configuring,
calibrating and then designing a logic flow. This will also add recorded screens to the Asset library.
Follow Steps 1 through 6. However, instead of selecting 'Record Screen(s), select 'Record Screen(s) with
Logic:
When you hit Stop, the Logic Editor is launched. Here, you can choose to edit the workflow and save as
Logic.
Tip: You can also record logic with screens for an existing MetaBot using the 'Record Logic' option in
'Logic' tab. Recording Logic on page 374
Use this to capture a single screen for an application that is running. This will add a screen to the existing
MetaBot.
To add a Screen,
1. Click 'Add Screen'
2. Select the capture type for screen objects - Standard or OCR and Click on the image in the Open
Screens window. Refer details on screen capture type in Creating a MetaBot on page 353
Tip: OCR selection is available only for Add Screen option and not for Record Screens.
Tip: It is recommended that you keep the zoom level of your screens to 100% while creating, recording
and playing your MetaBots.
Updating MetaBots
Update your MetaBots by adding to or modifying the existing one. You can add/record screens, add dll's,
folders and re-upload to Control Room. You can re-configure and re-calibrate captured screens.
i.e. carry out all functions that you would when creating a new MetaBot.
Deleting MetaBots
Note: You can verify whether the 'Screen' to be deleted is used in multiple logic from a 'Logic List':
1. Configure a Screen
1. Select a screen.
2. Click Configure
1. This launches the Screen Configuration editor which has options to go to Previous and Next screen,
select a screen View and Object Details. It also shows the Screen Name, Screen Title, Screen
Type and Technology / OCR Engine used to capture the screen.
2. Highlight the control which you wish to use during run-time.
• The object properties are populated in the right panel of the screen.
Note: Screen Name is the one that we provide to the added screen, while Screen Title is the one
that appears on the screen window that is configured.
• You can rename the Screen if you feel that it would be easier for a user to identify with something
else.
• Also, it is recommended that you provide a generic screen title to ensure compatibility with all
situations
4. Screen Type allows you to figure out the object capture type that was used - Standard or OCR while
adding the selected screen.
5. Depending upon the object capture type, the system displays Technology or OCR Engine. For
Standard captures, Technology is shown as UIAutomation. For OCR automation, the system
displays the OCR engine used to capture the object. For details, refer the section on adding screens in
Creating a MetaBot on page 353.
You can configure the object properties using View, Selected Object Details, and Object Search
Criteria. Here, you can rename the objects, select a play type, manually link one object with another and
define the search criteria that will be used for executing the automation.
1. To customize the View type of object that has been captured, select any one from the list:
2. The Object List is populated as per the View selected.
• Custom Objects - These are the ones that you define especially when the object properties are
not captured while recording/capturing a screen.
To classify an object as custom, simply drag and select the area; choose whether to treat the
object as Push Button, Text Box, Static Text, Link or Image.
Tip: All custom objects are highlighted with a blue outline when you select an object whereas the
non-custom objects are highlighted in red outline.
Similarly, when you mouse-over the objects custom objects are highlighted with blue-dotted line
while non-custom objects are highlighted with red-dotted line.
When custom objects move or are re-sized, you will have to update relevant Screen(s) to reflect
the same. You can achieve this by moving and/or re-sizing those during configuration.
a. To move the customized object to a different location, click and drag it to the target location.
b. To re-size a customized object, hold down the click button and drag the pointer as required.
• Linked Objects - These are the ones which are linked to a particular object in the screen. Objects
are linked to other objects or UI elements that can be searched easily during automation execution.
For objects that are captured using OCR, the linking is done automatically by the system and
hence you do not need to link those objects manually. However, for screens that are captured
using Standard technology, you need to link objects manually. Creating a MetaBot on page 353
Note: If you have HTML elements in your screen and you want to link those, it is recommended
that you configure them as custom objects and then use linking.
a. To link an object with another, select the easily identifiable object in the screen and click the
icon in Linked Objects . The easily identifiable object is the Parent object while the one that is
linked to it is the Child object.
b. Move your cursor to the object that you wish to link and click the link
c. The object is now linked:
Tip: The properties of the parent and child objects can be seen separately in the properties
window when you create a Logic. When you execute the automation, the child objects are
searched on the play type of the parent object
f. You can also de-link the objects that were linked. Click on the icon in Linked Objects.
Be aware that while de-linking objects you must ensure that they are not used in your
automations.
If the objects are already being used in automation and you click Yes, messages are shown
when those automation are opened in edit mode by the Bot Creator.
• TextBox Objects - These are the objects that appear as text-boxes in the captured screen.
• StaticText Objects - These are the ones that appear as text in the captured screen.
• Co-located Objects - These are the ones that are neighboring to the currently selected object
belonging to the same parent control.
Important: From Enterprise Client MetaBots version 11.0 onward, these Nameless objects are
defined as TextBox or StaticText based on the object type.
The Nameless objects captured before an upgrade to the 11.0 version continue to exist as
Nameless. However, it is recommended that you assign names to those for easier identification in
Import or Export automation.
After configuring object properties, you can choose to customize the object details per your automation
requirement. In the Selected Object Details panel you can provide Name of the object, select a Play
Type, and select the Object Properties to support the object Search Type.
1. In the Selected Object Details panel, you can optionally specify an alias in the Name text-box for the
same reason as renaming Screen/Title names.
Note: Here, 'Name' is the selected object name. Specify user friendly / easily identifiable name for the
object. This is helpful when you use this screen in a task for automation.
Note: Observe that the play type is enabled automatically depending upon the selected object type.
You may however select the one that suits the purpose of the Logic.
• Object - Use this as the play type for object selected on the basis of its object properties. This
could be useful when the selected objects are dynamic in nature; in the sense that they keep
shifting their positions in the target application. This is considered the most reliable form of
automation as it is performed on the UI based elements of the object.
Tip: If object based automation execution is not possible, then you can opt for the other play
modes - Image, Coordinate, or Text.
• Image - Use this as the play type for objects selected on the basis of its image properties. This
could be useful when object based automation is not feasible or fails for certain reasons. For
example, image based automation works for Citrix, RDP, and Legacy applications such as delphi.
You can also use this option when you want to run automation to extract text from screens that
were captured using OCR. Selecting Actions in the Workbench on page 375
• Coordinate - Use this as the play type for objects selected on the basis of its coordinates
properties. This could be useful when selected object is available at the same co-ordinates in the
target application.
• Text - Use this as the play type for objects selected on the basis of its text properties. This could
be useful when you want to extract text from an image based object in the target application. Since
the text is extracted using OCR engine while configuring screens, only that OCR engine is used
to execute the automation. Hence, the selected OCR engine should also be installed on the Bot
Runner machines to ensure your automation do not fail.
Note: In case the object is not located using OCR Occurrence, the system automatically searches
using Image Occurrence.
3. Select Properties type that you wish to use during play time from Object Search Criteria. You can
choose to view select properties or view them all. Some properties are selected by default.
Note that for objects that are not linked manually to other objects, its own search properties are used
whereas for objects that are linked to other objects using the Link option, the selected object will be
searched based on search properties of the linked object during automation execution.
You can also change the Values of the properties, if required to make your MetaBots more reliable.
Note: Properties could differ depending upon the type of object/control captured. For example, for
objects captured using OCR, the object properties show the number of times an object appears in the
screen. You can also choose to update the occurrence manually.
Tip: Use the 'Previous' and 'Next' buttons to access other screens in the MetaBot without exiting
Application Configuration.
and
1. Select a screen.
2. Click Calibrate to launch the Application Calibration editor
• The calibration screen is divided into two panels: The one on the left - Calibration Source
indicates your current screen (which needs to be calibrated) and one on the right Calibration
Target (usually the latest screen) .
1. In the Calibration Source panel, the screen that has been selected from the MetaBot is displayed.
2. In the Calibration Target panel the latest screen that will be used to calibrate is displayed.
3. Click Calibrate.
• You know the Calibration is successful when the following message is displayed:
Note: You cannot calibrate screen that pop-up or do not have a title.
• The properties displayed under the screens are calibrated accordingly and displayed in the
'Calibration Result' panel:
Here you can choose to view calibration in four 'Views':
Note: MetaBot Designer provides you quick summary (in numbers and percentages) of the newly
added objects, updated ones, missing from targeted screen and matching objects that were found.
• Once you complete the calibration, you can actually compare the screens by clicking on the
objects on either panes. The objects will be highlighted accordingly. Any unchanged object will
get highlighted in both panes. And if it doesn't get highlighted, it indicates a change between your
current screen and the calibration source.
2. In the 'Add folder' window specify the folder name. Ensure that you use a name that reflects the type
of folder created. Save by clicking 'Create'
Note: Use the back button ( )if you wish to return to the main/previous window.
You can move your Assets (Screens & DLLs) and Logic within Folders of a MetaBot.
• To move an Asset (even Screen or DLL individually) and/or Logic, simply drag and drop it to the target
folder.
• To move an Asset (even Screen or DLL individually) and/or Logic, a level up, select the option 'Move
Up' in the context menu:
Remember - to move to a folder you need 'drag and drop' action; but to move a level up you require to use
the context menu.
The Workbench
.
5. Captured Object - This space displays the captured Assets (Screen or Dll).
6. Previous/Next - Use this to navigate between captured Assets (Screens and Dlls).
7. Show/Hide Assets - A toggle control used to display or hide captured Assets(Screens and Dlls).
/
8. Assets carousel -Displays captured/recorded screens and dlls in the chronology they were added.
It invokes on clicking 'Show Assets'. Offers a visual means to viewing and adding Assets. Use this to
configure the required Asset to the logic.
9. Edit button - Use to edit an existing Command or Action.
Note: 'Run', 'Save' and 'Edit' are enabled when an Action/Command is configured.
3. Variable Manager/Error View - Use the 'Variable Manager' to manage variables and the 'Error View'
for viewing and fixing task errors.
4. Properties Window - Use the floating 'Properties Window' to add and/or update actions.
Creating a Logic
Note: To create a Logic by default, click on the arrow, select MetaBot Logic and then click New:
• This launches the Create Logic window. Select a MetaBot from the list of My MetaBots:
• If no MetaBot is present in the MetaBots folder, the Create Logic window shows only the My
MetaBots folder:
2. You can also add an existing logic by selecting a MetaBot from the MetaBots panel:
Refer Using MetaBot Logic in TaskBots and MetaBot Logics on page 398 for details.
3. Configure commands and assets as per your automation work-flow.
4. To Add and/or Update various Actions to build your Logic, click on the captured Screen/Dll.
5. To add actions in Screens, select relevant action in the floating Properties window that appears when
you click on an object.
Refer Selecting Actions in the Workbench on page 375 for details on actions allowed in the Logic
Editor
• The action selection depends upon the Object and Control Type selected for 'Screen' and Class
and its API selected for 'DLLs'.
• Also, the properties and relevant actions are controlled by the Play Mode that has been selected
while configuring the screen.
Tip: You can identify the 'Object Type' and it's 'Play Type' based upon the icon that appears in the
title bar of the Properties window.
• All non-custom objects are highlighted with a red outline while custom objects are highlighted
with a blue outline to allow you to easily identify the object type when you select them.
Tip: You can also hover your mouse pointer to identify the object type - custom objects are
highlighted with blue-dotted line whereas non-custom objects are high-lighted with red-dotted line.
• The name of the object is also shown as tool tip. This labeling allows you to identify and select
the required object:
• System performs the selected action at the location of the cross hair. You can place the cross hair
within the corresponding object by dragging it. You can also place the cross hair anywhere outside
of the object also. This can be helpful when you want to perform the chosen action relative to the
selected object.
• Drag the cross-hair to select the precise location where you want to perform an action:
Note: If you reset the cross-hair position, ensure that you click Update to capture the click's
latest position as shown:
• For objects that are difficult to recognize, you can perform a Left Click, Right Click or Double Click
action relative to the target object's position. You can also use linked objects to easily identify
difficult to search objects.
• Relative click is used when your target object is difficult to search and you want to configure
the bot to click relative to that particular object.
• You can drag the cross-hair to change the click position. This could also be outside the
highlighted object's boundary.
For example, in the following illustration the space between two objects is very less. For
more accuracy, you can choose a relative click positioned away from the subsequent object.
Note: The cross-hair color is blue for custom objects and red for standard objects.
• If you update the action from click to some other action, for example SetText, you cannot
perform relative click. The cross-hair will not be visible.
• If you have linked easily identifiable objects to other difficult to search objects during
configuration, the objects will be searched based on the parent object properties/play type
during automation execution. You can view these properties in the properties window when you
select Show Object Properties for the parent and child objects.
a. The linked (child) object properties are shown by default:
b. To view the selected (parent) object properties, click on the tab corresponding to the linked
object properties:
• For objects that are captured using OCR, you can view and edit the number of times it appears
in the screen in the OCR Occurrence property:
6. To add actions to a Dll, select relevant action in the floating Properties window that appears when you
click on an API class.
• Expanding your desired DLL will reveal its name-spaces and related classes.
• Select a class from the list. The supported APIs for the selected class are displayed on the right
pane.
• From the list of APIs select the one for which you need to input a value.
Tip: Use an Array type variable to input values if you want to assign multiple values to a single
parameter. See Using Array Type Variables on page 287
• You can also choose to assign the output value to a variable. To add and edit variables in the
Logic, click on Variable Manager tab. Adding, Editing and Deleting Variables on page 380
In Logic, variables are storage locations for known or unknown information. When building Logic,
variables play an important role in maintaining or calculating information.
• Also assign System Variables, if required, while configuring the Logic. System Variables on page
383
• You can use the Error View to manage errors that occur in your Logic. Use the Error Handling
command to mange those.
Tip: Use ‘Run from this step’ option if you want to skip the earlier steps while doing a test run.
1. The Run Time window for a MetaBot appears towards right at the bottom of your screen:
Note: Once you are done creating your Logic, you can upload it to the Control Rolom for other MetaBot
users. Uploading MetaBots to Control Room on page 379
When you create automation using MetaBot Logics that are updated, you are shown messages based on
the updates made:
1. On removing the link of an object that was used in the MetaBot Logic:
2. On changing the linking of an object that was used in the MetaBot Logic:
Recording Logic
At times you may want to capture the workflow directly instead of creating Screens, configuring them and
then manually designing the Logic. To enable direct capture of workflow with Screens, you can opt to
record Logic for an existing MetaBot.
Remember that to record logic for a new MetaBot, you will have to use the 'Record Screen(s) with Logic'
option given in 'Record' from the MetaBot Designer panel. Adding and Recording a MetaBot on page 358
However, in order to record logic for an existing MetaBot, you will have to use 'Record Logic' from Logic
section of the MetaBot Designer.
This topic describes the second option.
Note: The MetaBot Recorder window displays the status of the current action being performed.
7. Click on Stop once done. This will launch the Logic Editor wherein you can verify whether all actions
are captured or not.
8. Modify if necessary and Save the Logic.
The next section describes in brief the options available in Set Text, Append Text and Get Property.
Get Text, SetText and AppendText actions are available when the selected object types are Text/Text Box,
Client, Password, Windows Control or Custom Objects.
While building your Logic, remember that the properties and relevant actions are controlled by the
'Configuring MetaBot Screens on page 362' configured for the selected Screen.
• or Action type as 'SetText', you can use keystrokes option to emulate entering text using a keyboard.
Note: In SetText, 'Keystrokes' is selected by default when the Play Type is either 'Image' or
'Coordinate.
• Use virtual keyboard to enter certain special keyboard keystrokes:
• Optionally, select 'Mask' to encrypt the keystrokes.
• Enter the required text in 'Enter Text box'. Optionally, assign a variable to 'Delay'.
• Advanced Options : Provide appropriate 'Delay' between keystrokes in 'Advanced Options'.
Provide 'Wait time for the object to exist' to allow for object load time and ensure the logic does not fail
during play time.
If play type is set to 'Image' for the control, you can configure image Match and Tolerance values in
percentage.
• A Match value defines the extent of overall mismatch allowed between Image1 and Image2; Tolerance
defines the extent of mismatch allowed between any two pixels under comparison.
Similarly, if the play type is set to 'Object' for the control, you can select your OCR engine and configure
the Tolerance values in percentage.
GetProperty
Use the 'Get Property' action when you want to search the objects based on their properties during play
time.
When you select action as 'Get Property', you will be able to select properties names such as Object ID,
Name, Value, Class, Type, Index, Description, State, IsVisible, IsProtected etc based on the object control
selected.
Tip: Use the 'IsVisible' property to identify whether a specific object is visible or not. For custom objects,
you can achieve this by using the 'GetVisibility' action; refer the next section.
GetVisibility
Use the GetVisibility action to build a logic based on an object's visibility during play time. This screen area
could be a custom object or an object with Play Type Image. The 'GetVisibility' action returns the visibility
status as True or False.
To add a 'GetVisibility' action in the Logic Editor, the object should be configured for Play Type 'Image'.
SetText for Window Control - Use the action type 'SetText' for Window Controls. Select the entire
window and specify the action type.
Note: The Window Control for Play Type 'Object' uses keystrokes by default.
OCR screens
For screens that are captured using OCR technology, when you select play type as Image for custom
objects, you are allowed actions - SetText, GetText, LeftClick, RightClick, DoubleClick, and GetVisibility.
• GetText - When you select GetText for play type Image for a custom object, you can choose an OCR
engine to extract text while creating a MetaBot Logic. You can choose an OCR engine other than the
one selected during screen configuration for optimizing your automation.
Exporting a MetaBot
To Export a MetaBot to another Control Room setup go to Tools options and select 'Export'.
You can rename the MetaBot and save it to a location of your choice.
Note:
• The MetaBots are saved as 'MetaBot Files' with an extension '.mbot'.
• You can also send all exported MetaBots to a zipped folder.
Importing a MetaBot
Note: The Upload and Download features require logging in to the Control Room.
The Control Room administrator can provide appropriate rights to the Enterprise Client user to Upload,
Download and/or Delete the MetaBots from the Bots tab while creating a role in Administration module of
the Control Room. Learn More
Note: All the users will be able to upload to/download from the My MetaBots directory on the Control
Room.
The Control Room administrator can access the MetaBots uploaded in the Bots → My MetaBots
repository. Learn More
Metabot Variables
Automation Anywhere allows you to use various types of variables - locally defined or system defined in a
MetaBot Logic. The following section describes how to add, edit and delete locally created variables.
You can use the F2 function key to list all user and system variables that are available for insertion in a
MetaBot Logic.
You can create four types of variables that can be used in a MetaBot Logic - Value, List, Array, and
Random.
1. Value - You can use a value type variable when you need to hold a single data point and use it in
multiple places. This "placeholder" value can represent either text or numeric data.
After you create the variable, you can use it by inserting the variable in several of the Logic Editor
commands. When the value of the variable is modified, this value is reflected in any subsequent
commands.
You can also mark a value type variable as 'Regular Expression' . These, you can use when creating
TaskBots /MetaBot Logics that require pattern based searches in files, folders and window title
commands.
2. List - You can use a list type variable when you need to retrieve multiple values, one by one. It is
basically one dimensional placeholder for data.
Common uses of list variables include:
3. • Sending email to multiple recipients
• Passing different values inside of a loop
• Searching multiple web addresses
Parameter Types
Since MetaBot Logics can be used in TaskBots, you might want to pass on certain parameters to another
TaskBot / Logic (of the same MetaBot) when executing a Bot. For this, you can use variables and define
their parameter types. Defining the type of parameters ensures optimum use of variables across Bots.
In MetaBot Logic, you can define four types of parameters - None, Input, Output, and InputOutput.
Refer Variables - Parameter Types on page 385 for details.
Editing a Variable
You can edit and modify any local variable that you have created. In addition, you can edit the pre-defined
variables.
You can add and edit description to the Value, Array, and List type variables when the Parameter Type is
Input, Output, and InputOutput. This is highly useful as it provides contextualized help without any clicks,
while using MetaBot Utilities/Logics in TaskBots.
Deleting a Variable
System Variables
Automation Anywhere provides powerful pre-defined system variables that you can use to design Logic
Blocks.
Note: Though similar, not to be confused with System Variables available in Task Editor.
System Variable types that can be used in the Logic Block include:
• Date/Time: System-related date and time variables.
• Error Handling: Error Handling related variables.
• System: Variables specific to a particular client machine.
You can use the set of Date and Time system variables to insert or monitor the current date and time of a
system as the navigational flow is implemented.
Tip: You can change the date format for the System Date.
Click to change the date format:
Use the set of Error Handling system variables to return task error line number and description.
You can use 'System' variables to include parameters in your automation task that are related to a
particular computer. The variables return actual system settings and parameters, such as RAM, CPU/RAM
usage, and total RAM.
Common Use Case: These variables are useful when the performance of a system needs to be tracked
during an activity; for instance load testing.
The following table provides names, return values, and descriptions for the system-related system
variables.
*When you select the System variable, a menu is displayed from which you can select the specific system
variable (see steps below).
Parameter Types
In MetaBot Logic, you can define four types of parameters for all variable types - None, Input, Output, and
InputOutput
1. None - When you want to use the variable value only in the MetaBot Logic that it was created for,
define the variable as None, You cannot pass the value of such variables to another TaskBot or
MetaBot Logic. Its value can only be read during Logic execution.
2. Input - When you want the variable to accept values from TaskBot or MetaBot Logic of the same
MetaBots, define the variable as Input Parameter Type. You can also assign any other value/variable
as an Input Parameter in the automation.
3. Output - When you want to use the variable value as an output in the MetaBot Logic it was created for
and pass on the value to other TaskBot or MetaBot Logic as an Output Parameter, define the variable
as Output Parameter Type.
4. InputOutput - When you want to use the variable value as both input and output in the MetaBot Logic
it was created for and pass on the value to other TaskBot or MetaBot Logic, define the variable as
InputOutput Parameter Type. You can assign a value/variable as an Input Parameter and a variable
as an Output Parameter in the automation.
When you create MetaBot Logic, you want to ensure that it can be optimally used in various TaskBots and
MetaBot Logics. To achieve this, you first have to create variables with different parameter types - None,
Input, Output, and InputOutput.
Each variable, based on its parameter type, is then used as an input parameter or output parameter or
both in a TaskBot/ MetaBot Logic.
When it is used as an input parameter, you can add values to the variable or assign another variable as its
value.
When it is used as an output parameter, you can only assign variables as its value. This will be read during
automation execution.
This is passing of parameters from and to MetaBot Logic.
Refer Using MetaBot Logic in TaskBots and MetaBot Logics on page 398 to know how to use variables
as parameters.
Refer Variables - Parameter Types on page 385 for details on types of parameters.
Note: If you have upgraded from Automation Anywhere Enterprise 10.x to the current version, refer the
following sections on variable behavior while passing it as a parameter.
The table below shows the variable behavior when it is passed as a parameter from Logic to TaskBot and
vice versa:
Note: The target variable value is overwritten by source variable value. However target variable type
remains unchanged.
Passing parameters from Logic to API Dlls and from API Dlls to Logic
The table below shows the variable behavior when it is passed as a parameter from Logic to API Dlls and
vice versa:
Variable type being passed from Variable type of DLL API Behavior
Logic
Variable type being passed from Variable type of DLL API Behavior
Logic
Note: You can assign output variables to value type variables only.
To securely store sensitive information that is necessary to play automation, the Control Room user with
Locker Admin permission creates 'Credential Lockers' comprising 'Credential Names' and 'Attribute
Names'. These credentials and attributes are used by Bot Creators (Client users who create tasks), from
Credential Lockers in various commands that require credential inputs.
These special category of variables are centrally stored in a 'Credential Locker' to which the Control Room
user with Locker Admin will have exclusive access privileges.
While creating automation a Bot Creator, can pass the credential variables from a TaskBot to MetaBot
Logic and from MetaBot Logic to another MetaBot Logic ONLY if the Control Room administrator enables
the setting passing of credential variables from one TaskBot /MetaBot Logic to another TaskBot /MetaBot
Logic in the Control Room.
Note: To access credential variables during automation creation and play, the Bot creator has to be online
i.e. connected to the Control Room.
If the setting is disabled once you have used the credential variables, upon saving the TaskBot /MetaBot
Logic, the following message is shown:
Tip: Ensure the MetaBot is closed in the MetaBots Client. Also, note that if the corresponding MetaBot
is the only MetaBot that is opened in the MetaBots while uploading, you need to exit from the
MetaBots Client.
When Version Control is enabled, you can upload a MetaBot to the Control Room repository with
comments, after using the 'Edit' option.
1. In the 'My MetaBots' List, select (highlight) the MetaBot you want to Edit and Upload.
2. Edit the MetaBot using one of the following methods:
Tip: No prefixed icon/sign denotes a successful upload. This ensures that the version history can be
used as a reference point by the Client.
Note: MetaBots marked 'Not Allowed' cannot be uploaded; the reason for which is depicted in the
'Remarks' column.
6. Add your 'Upload Comments' and click 'Upload'. These comments are applicable to all MetaBots that
are uploaded.
MetaBots that are already present in the Control Room repository and are renamed from a file system
cannot be reuploaded to the Control Room repository. If you attempt to upload such a MetaBot from the
Client, following message appears:
When you upload the renamed MetaBot(s) from the Repository, following messages appear:
• For a MetaBot:
• For multiple MetaBots:
You will have to revert to its original name in order to upload it.
Select View my bots feature. This will enable the Bots panel below Features panel.
You can assign permissions based on the role you wish the user to play.
Note: MetaBot users require a separate set of privileges to access the MetaBot files. Hence, the Control
Room admin has to grant separate MetaBot Repository access rights at MetaBot file level, apart from the
folder rights in Which Bots and supporting files? page.
To grant privileges such as Execute, Upload, Download, and Delete, click the MetaBots tab beside the
TaskBots and Other Supporting Files tab in the Bots panel. You can grant access privileges to a user at
each MetaBot file level.
1. Select All - User can use the MetaBot in TaskBots, upload to Control Room, download to Client, and
also delete the downloaded MetaBot.
2. Execute - User can use the MetaBot in TaskBots but is not allowed to open the downloaded MetaBot
in MetaBots Designer. This allows sharing of MetaBot as a Black-boxed bot. User cannot see/modify
the content of a MetaBot.
3. Upload - User can upload MetaBots.
4. Download - User can download and modify MetaBots.
5. Delete - User can delete the downloaded MetaBots.
Note: If you grant 'Download' permission to a user, the 'Execute' permission is automatically enabled so
that a user can choose to either view/edit the content of a MetaBot that is downloaded or not all i.e. use it
as a black-box.
You can choose to provide access rights based on the role that the user is allotted.
E.g. A BotCreator Client who has access to MetaBots can be granted all permissions whereas a
BotRunner Client with MetaBots license can be granted only the 'Execute' permission.
You can verify whether the User has been created in the Roles list page. Learn More
AISense - an overview
Automation Anywhere AISense enables intelligent automation of all the environments where object based
automation is not available or is not reliable. Following type of applications are ideally suited for automation
through AISense
Business applications which are exposed over Citrix (XenDesktop and XenApp)
Applications which are accessed over Remote Desktop Protocol (RDP)
Legacy applications such as Delphi etc.
AISense scans the application screen image and uses computer vision to identify all the UI elements (e.g.
Labels and Text boxes). Post that, it automatically creates all the application UI objects from the image. All
such automatically created objects are directly available for automation through MetaBot Logic. This saves
a lot of time for user to manually create the objects on which automation is to be created.
Also it creates AI powered intelligent linking among the automatically created objects. This linking
enables searching of one(child) object on the basis of other (parent) object. Intelligent linking ensures
that automation continues to run reliably even when the absolute position or relative position of child and
parents undergo modification.
MetaBot "Export Dataset" facilitates bulk data extraction from any application. This is available for standard
technologies (e.g. HTML, .NET) and also for applications which are exposed as images, e.g. applications
exposed over Citrix or RDP. For such applications, AISense ensures that a single scan of application is
enough to extract all the objects visible on the screen. It greatly reduces the automation execution time by
a factor of 5 to 10, depending on the number of fields (objects) being extracted.
Similarly, improved MetaBot "Import Dataset" facilitates bulk data entry into any application. For Citrix/RDP
type of applications, it greatly reduces the automation execution time by a factor of 5 to 10, depending on
the number of fields (objects) being entered.
For more information, follow the below mentioned articles:
Renaming MetaBots
To rename a MetaBot, follow these steps:
1. In the 'My MetaBots' List that is available in the Automate tab of the Client, select (highlight) the
MetaBot you want to rename.
2. Rename the MetaBot using one of the following methods:
• In the File menu, select Rename.
• In the Actions button, select Rename from the drop-down list.
• Right click the MetaBot and select Rename.
Tip: Ensure the MetaBot is closed in MetaBot Designer. Also, note that if the corresponding
MetaBot is the only MetaBot that is opened in the MetaBot Designer while renaming, you need
to exit from MetaBot Designer.
You can rename a MetaBot which is present only in your local machine and is not yet uploaded to Control
Room. If the MetaBot is present in Control Room, system does not allow you to rename the MetaBot since
it may be used in other TaskBots and renaming it may impact those TaskBots.
When you attempt to rename a MetaBot in the Client that already exists in the Control Room, following
message appears:
Tip: It is recommended that you do not attempt to rename MetaBots from a file system.
MetaBots that are renamed from a file system cannot be uploaded again to the Control Room repository. If
you attempt to upload such a MetaBot from the Client, following message appears:
When you upload the renamed MetaBot(s) from the Repository, following messages appear:
• For a MetaBot:
• For multiple MetaBots:
You will have to revert to its original name in order to upload it.
You can rename a MetaBot in the local repository only. If the file is checked out for edit, you will be
prompted a message as only the local MetaBot version will be renamed :
• If you try to upload a MetaBot that was renamed from a file system, you are shown:
Deleting MetaBots
In some cases, you might want to delete an existing MetaBot.
Tip: It is recommended that you do not attempt to delete MetaBots from a file system.
Tip: Ensure the MetaBot is closed in MetaBot Designer. Also, note that if the corresponding
MetaBot is the only MetaBot that is opened in the MetaBot Designer while deleting, you need to
exit from MetaBot Designer.
Note: After deleting a MetaBot, you cannot restore it in the Client. Before deleting a MetaBot, ensure you
no longer have use for that MetaBot.
Note: As a best practice, ensure all MetaBots are copied to the Control Room repository as a way of
backing up your MetaBots.
If you have version control enabled, while deleting the MetaBot from the Client, apart from confirmation,
you will be notified that it will be deleted locally only.
Note: To delete the MetaBot from the Control Room repository, you will have to select it from the
relevant folder of the repository.
If the MetaBot is checked out, you will not be allowed to delete it.
To perform controlled edits to your MetaBots, use versioning to create new files, check out for edit, upload
with comments and view the version history.
You can context click the MetaBot in the 'My MetaBots' list view of the Automation Anywhere Enterprise
Client.
Tip: Ensure the MetaBot is closed in the MetaBot Designer Client. Also, note that if the corresponding
MetaBot is the only MetaBot that is opened in the MetaBot Designer while performing these operations,
you need to exit from the MetaBot Designer Client.
Perform the operations detailed below using either context click or 'Actions'.
1. Edit: You can edit a MetaBot from the 'My MetaBots list' provided it has been 'Uploaded' and
'Checked Out'. On editing, you are guided to the 'Assets' view of the selected MetaBot in the MetaBot
Designer. Here, you can opt to add/record screens, dll's, and add/update Logic(s).
A new MetaBot created in the local repository (of the Client) has a plus sign ( ) appended to the
MetaBot name.
Refer the article on 'Creating a MetaBot on page 353' to learn how to create a new MetaBot.
2. Check Out: A MetaBot that already exists in the Control Room repository can be checked out for
editing. A check mark ( ) indicates the file is checked out for editing.
The option toggles to 'Undo Checkout' once the MetaBot is checked out for editing. This enables you
to undo the last update(s) to the checked out file. Select 'Yes' to confirm:
3. Upload: Post editing, you can upload a MetaBot to the Control Room repository with comments. No
prefixed icon/sign denotes a successful upload. This ensures that the version history can be used as
a reference point by the Client. You can also opt to upload MetaBot(s) from the My MetaBots folder in
the Repository.
c. Locate the automation MetaBot file. The .mbot name matches the name you've assigned to the
MetaBot.
7. Delete: You can delete a MetaBot from the local repository provided it has not been checked out.
Deleting MetaBots on page 394
Rollback Updates
You can also rollback the updates to a specific revision. Use this to revert updates/changes in the selected
MetaBot to the selected revision from the version history.
On confirming, all the changes done since the selected revision to the latest revision will be rolled back and
a success message is displayed:
Note: It is recommended you check in (upload) the file once it is rolled back to the selected revision so
that the latest revision(s) are reflected in the updates.
1. To begin, click on the MetaBot section given at the top of the command panel in the Workbench
2. Double click/drag and drop a MetaBot from the list of MetaBots.
3. The MetaBot window is launched :
4. Select the desired logic from the list or folders as required. If this logic needs certain values and/or
variables as input and/or output, they get listed under the Input and/or Output Parameters pane.
Otherwise, the parameter tables appear empty.
• If Input and InputOutput parameter type variables are available in the Logic, you can assign a value
or variable required as an input in Input Parameters pane.
• Similarly, if Output and InputOutput parameter type variables are available in the Logic, you can
assign another variable as an output in Output Parameters pane.
• Refer Variables - Parameter Types on page 385 and Passing parameters from and to MetaBot
Logic on page 386 for details.
Tip: Use the 'Search Logic' facility to navigate to the Logic you want.
5. If you have assigned variables in the logic, you will have to assign the required set of values to the
Input and Output Parameters.
• You cannot leave these blank.
• You can also assign variables to the Input and/or Output Parameters from the list of variables
available in the task.
• If the Input and/or Output parameters require use of credentials or sensitive data, you can opt to
use 'Credential Variables'. Select the required variable listed under $CredentialLockers$ from
Insert Variables.
Note: The credential variables are not visible until the Control Room user with Locker Admin
privileges enables the setting in Control Room. When the setting is enabled, these are available for
passing as parameters from one TaskBot/MetaBot Logic to another TaskBot/MetaBot Logic. Refer
the article Passing parameters from and to MetaBot Logic on page 386 for details.
6. The Description field provides information about the Logic that is being configured. The name of the
user who updates the Logic Information and the date and time it was modified is also displayed. Refer
Add MetaBot Logic Properties on page 400.
Similarly, you can refer the Input and Output parameter Description below the Logic description.
This is added when you are creating variables. Refer Adding, Editing and Deleting Variables on page
380.
This is highly useful as it provides contextualized help without any clicks, while using the MetaBot
Utilities/Logics in TaskBots.
• When you select a variable (from Parameters) the corresponding description is highlighted/
selected.
• If you want to view the description without scrolling, hover your mouse over the Description field
and the entire text is shown as tool tip.
Note: If your Logics and Input/Output parameters were created in 10.x versions, by default the
description is not shown. However, you can update the Logic description and that is shown once it
is edited and saved using the Properties option. Similarly, you can edit the variables to include the
parameter description.
7. Once you are done, click Save to include the MetaBot Logic in your TaskBot.
Note: During TaskBot execution, if your target application is open in admin mode, you will have to run the
task in admin mode.
To add an existing Logic to another MetaBot Logic (new or existing) from the Workbench,
1. Either Using the Workbench to create Logic on page 368 by clicking New or Click Add Logic from
the MetaBots view
2. This launches the New Logic window for the selected MetaBot:
3. Select and drag or double click the MetaBot to open it in the Workbench
4. Select the required Logic from the list or folders.
5. Add parameters per your automation flow.
6. Save to include the Logic in your existing or new Logic.
To help decide which automation logic is viable for use in your or other automation, you can add a
description to a MetaBot Logic using the Properties option. This serves as an highly useful contextualized
help while using the MetaBot Logics and/or Utilities.
You can also add parameter description to Input, Output or InputOutput variables on similar lines. Refer
Adding, Editing and Deleting Variables on page 380 for details.
Tip: You can add maximum 300 characters in the Description field.
Tip: You can add parameter description from Workbench → Variable Manager → Add variable
• The parameter description is shown in read only mode which can be added/modified while
creating/editing corresponding variables. Refer section on Adding, Editing and Deleting Variables
on page 380 in Creating variables.
If you are using MetaBot Logics that were created in any of the AAE 10.x versions, the parameter
description will have to be added as it is not updated by default. Refer section on Adding, Editing and
Deleting Variables on page 380 in Creating variables.
In the main Client window click on 'Repository' tab to communicate with the server. You can directly
upload, download or compare any task on the server with the one on the client.
The first time you start the client, it will ask you to login and when you click 'Login' after inputting your
credentials, you are registered with the server (Control Room), automatically.
After the minimum allowable attempts have been exhausted for logging in to the Client account, it is locked
for use. It can be unlocked only by the Control Room administrator, if a threshold value has been set
in the Control Room. If the default domain policy is enabled, you are required to contact your System
Administrator.
Yes, you can create file with any extension using the 'Create File' sub command in the Files/Folders
command.
If I use a Files / Folders command like "Delete Files 'c:\MyPrgs\*.*' ", will this delete
all the files in the sub-folders too?
No, this command will delete all the files in the current folder only. In the above example it will delete all the
files in 'c:\MyPrgs' directory only.
Can I get all the file names in a folder to perform some operation on it?
Can I provide value for file/folder name when the task runs?
Yes. Automation Anywhere has a 'Prompt' command to provide value at run time. You can provide value
for any window, prompt for file/folder and even prompt for yes/no as well.
IF Condition FAQs
Yes. There are number of conditions in IF command. One of them is 'If Window Exists'#.
Yes, you can use If Condition (If Application Running) to see if any application is running or not. You can
specify the exe name that you want to test in the If condition. For e.g. consider the following script
If Application Running ('F:\WINNT\system32\calc.exe')
Comments: Add your commands when the Calculator program is running
End If
Internet FAQs
You can use E-mail notification when you want to be notified that a task has finished running. An e-mail
will be sent to the addressed specified along with the status of the task that was running and few other
properties.
What is this 'Email Settings' displayed in the Notification tab in the properties
window?
This Button will open up the Options user interface that allows you to set the outgoing mail server, its port
number and Exchange Server authentications, if any. Every mail that you send or receive requires the mail
server. You have to obtain this information from your Internet E-mail provider or you may obtain it from the
configuration section of your e-mail program.
Yes, Automation Anywhere provides a command 'Send mail'. You can use this command to send e-
mails to anyone. Note that this command will get information about the e-mail Server, its port number and
Exchange Server authentications, if any, from the Mail Setting in the Options menu every time a task runs.
Loops FAQs
A loop command allows repeated execution of a group of commands when these commands are placed
inside the 'Loop “ End Loop"' block. The number of the times these commands are executed will depend on
the type of Loop command selected. The 'Loop - End Loop' block might also contain within it another 'Loop
- End Loop' block i.e. nested loop commands.
I want to do particular action on all the folders inside a folder. How do I do that
using your automation software?
You can use the Loop command (Start Loop 'Each folder in '<folder>') in Automation Anywhere. If there
are 'n'™ folders in the specified folder then this loop will be executed 'n'™ times. You can get each folder's
name using the $FolderName$ system variable inside this loop block.
Can I get all the file names inside a folder using the Loop command?
Yes, you can get the file name using the System variable $FileName$ inside a specified folder by using the
Loop command " Start Loop'Each File' in '<folder>'.
How to use and manage Windows Controls to get check-box or radio button status
in Automation Anywhere?
Manage Windows Controls command allows you to work with windows controls like check-boxes and radio
buttons. With this command you can find out if the radio button or check box is checked or not. Automation
Anywhere supports only standard Windows check-boxes and radio buttons.
Click on Manage Windows Control in Task Editor and select the appropriate radio button. Select the
window to capture the check box or radio button. The value captured can be assigned to a variable.
Why aren't some controls highlighted when I try to capture them using MWC?
We capture standard Windows control using MWC. Client controls and Java are not supported by MWC. In
such cases, controls are not highlighted.
I recorded a task that opens a program from Start Menu > Programs and while
running the task, the menu to open that program has moved. It clicks on a wrong
program name and hence opens a wrong program. Do I need to re-record the task?
No, the SMART Automation Technology built into Automation Anywhere provides a powerful feature that
lets you use your original task. You can check an option from Tools > Options >'Move Icons/Menus'#. After
selecting this option when you run a task it opens the same program that was opened while recording even
if the menus have moved.
Will my task run correctly even if files, program shortcut icons in the Quick
Launch and the Desktop have moved?
Apart from a few exceptions, opening of most of the files and shortcut icons from both Quick Launch and
Desktop will run correctly if the icons have moved from their original location. Note that, the 'Move Icons/
Menus' should be checked in Tools > Options menu for this feature to be enabled.
Report Designer allows you to create your custom reports. Automation Anywhere features Task Run (i.e.
whether they were successful or not), Task Timeline(i.e. run, created, modified and deleted), Workflow
Run, Workflow Timeline, ROI and Visual Logs reports.
Reports can be generated by day, week, month as well as 'all time'. You can also generate a report for a
custom date range.
Yes. You can print a report generated by Report Designer directly from Automation Anywhere. Just click on
the Print logo in the top left corner of the graph.
Recordings FAQs
You can easily create new task using SMART task recorder. Click 'RECORD'; perform the activities on
your computer that you want to record, click 'STOP' and then 'SAVE' the recorded activities to a task.
You can playback your recorded actions by selecting the task and then click the 'RUN' button. For further
details refer to the Help file.
Does it matter if the window size and locations of my applications change between
recording and running?
No. Automation Anywhere's SMART Automation Technology automatically adjust to changes of window
size and location.
Do I need to finish all my work in one application before moving onto the next
application or can I switch back and forth between various applications while
recording?
You can switch back and forth between various applications while recording.
Yes. Automation Anywhere offers secure Auto Login technology. Auto Login allows scheduled tasks to run
even when computer is locked. When you schedule a task you can enable Auto Login capability. If Auto
Login in enabled, and if computer is locked, Automation Anywhere will unlock the computer, run the task
and lock it back.
Yes. To enable the task to run in stealth mode check Properties->Security-> Run this task in stealth mode
option. This will hide the execution of the task. To allow the task to run when computer is locked, enable
Auto Login capability. Auto Login allows scheduled tasks to run even when computer is locked. When you
schedule a task you can enable Auto Login capability.
An additional security option can also be set, where if you want to lock mouse and keyboard while task is
running, just select 'Disable mouse and keyboard for this task' option from Properties->Security.
Yes. Press ‘Pause’ on your keyboard. This will temporarily stop the execution of the task. Click
on the ‘Resume’ button that will appear at the bottom right hand corner of your screen to continue
running the task from where it was paused.
Can my recorded activity run in background, while I have control of mouse and
keyboard so that I can do other things?
One of the distinguishing features of Automation Anywhere is its ability to run tasks in background.
Advanced technologies like Web recorder, Object recorder and hundreds of powerful actions allow you to
run many of your tasks in background. Few tasks like task recorded with standard recorder requires control
of mouse and keyboard and therefore cannot run in background. Few other obvious exceptions include
commands that requires screen, like taking screenshots or comparing images on the screen, but a vast
majority of actions allow the task to run in the background.
I use remote access software to access a remote machine. Can I record a task that
performs activities using remote access software?
You can run the same task with different files of the same program. By default the task will only run on the
specific file(s) it was recorded on. However you can check 'Enable this task to run with other similar files
and windows' option under the Properties>General tab. Now for example if you recorded a task on abc.xls,
you can run this task on def.xls, xyz.xls or any other *.xls files
Yes, it is possible to password protect a task. While saving the task click on the Password Protection
checkbox and specify the password. Alternatively, you can password protect a saved task by going into the
Security tab in the main screen of Automation Anywhere.
Scripting FAQs
I have been using VBScripts and JScript to accomplish some of my routine work.
Can I somehow reuse them in your automation software?
Yes. Not only you can integrate disparate scripts like VBScripts & JScripts within an Automation Anywhere
task but you can use in-built automation services like repeat, notification, etc., on VBScript & JScripts as
well. For more information about Automation Anywhere check Automation Software.
Automation Anywhere Editor has a command 'Run Script'#. You can use this command to Run your
VBScript or JScript files from Automation Anywhere. You can even pass arguments to your VBScript and
JScript files as you might have been doing it to run it through command prompt. You can also have return
values, if any, to your VBScripts and JScript files.
You can use the 'If Script Successful' sub-command inside the 'If command'. This command will run the
script and will execute the 'If - End If' block only if the script ran successfully.
Tasks FAQs
Yes, You can create a new task in which you can use 'Run Task' command to run your individual tasks.
When I use "Run Task" command, how do I know if the task successfully
completed?
You can use the 'If Task Successful' sub-command inside the 'If command'. This command will run the task
and will execute the 'If - End If' block only if the task ran successfully.
Triggers FAQs
Yes, it is possible to execute a task with Triggers, based on availability or non-availability of any file, folder,
performance or service. There are triggers based on Window (open or close), File (create, delete, renamed
or modified), Performance (CPU usage, free disk space, process count) and Process and Services.
Yes. Automation Anywhere has a trigger functionality that can perform any task when a new email arrives.
You need to set the'Email Message Trigger' on the task.
Variables FAQs
You can use variable inside different commands like'Insert Keystrok', 'Open Program/File','Files/Folders'. In
all the commands variable names are specified by enclosing the variable names in between the $ sign. For
e.g. $Password$
Variables created for one task are only available locally for that task and not for any other task. But, if
you have upgraded from a lower version to version 5.5 and above, all the variables created in the lower
versions will be available to you as global variables that can be used with any task.
List variable can have many different text values. When I use the list variable
which value will be executed?
Every time a task comes across a list variable during the playback, the next text value in the sequence
of the list variable is used. If the list variable reaches the last text value then its subsequent reference will
return the first text value.
Yes, you can store any special character as a text value in a variable.
I have to run a task that needs to use a different value for a variable in every
repeat. How do I do that with your automation software?
Automation Anywhere provides "Loop – End Loop" commands. You can place your repetitive task inside
a Loop – End Loop block. You can use a List variable inside it for data that keeps on changing with each
loop.
These system variables are used with commands 'Loop for Folders in a folder' or 'Loop for Files in a folder'.
Consider a command in the task - "Loop for Folders in a <folder>".
Here the <folder> is the specified folder on which the Loop will execute. Its full path is available at
execution time by the system variable "$CurrentDirectory$"
If <folder> has 'n' number of folders, the loop will be executed 'n' times. Each time the $FolderName$
variable will have the next folder's name inside the specified folder.
Now if the task is like "Loop for Files in a <folder>".
Then $FileName$ will represent the next file name inside the specified folder.
Outside the loop $CurrentDirectory$, $FolderName$ and $FileName$ doesn't have any usage.
Automation Anywhere has an in-built Visualize Technology that allows for pictorial and storyboard views of
the automated task. Visualize Technology is used in the different views in Task Editor, to capture images
on demand with SnapPoint and Image Recognition with the IF command.
In Automation Anywhere when a task is recorded the images of all mouse clicks and keystrokes are
captured automatically. But when a task is created in Task Editor the images need to be captured on
demand. SnapPoint allows you to capture images on demand; just enable SnapPoint and set it for the
commands that you want.
Image Recognition is another feature of the Visualize Technology available in Automation Anywhere.
Image Recognition allows the recognition and comparison of images. It allows your automated task to
"see".
Web Recorder reliably and accurately records and automates web based tasks. Automation Anywhere
Web Recorder understands all the web controls. You can open or close browser, perform clicks, fill forms,
import data from the web, download files, extract data, extract source, check for broken links and much
more.
What is web data extraction? How do you extract data with Web Recorder?
Extracting structured or unstructured data from the Internet automatically with the help of scripts is web
data extraction or screen scraping. Automation Anywhere as a data extraction or screen scraping software
is both flexible to suit any kind of web technology or page format and is also non-intrusive.
See two demos below to see how to use Automation Anywhere web recorder for data extraction.
Demo 1: Web data Extraction using intelligent pattern matching technology
Demo 2: Web data Extraction demo 2
Learn more on Web Data Extraction and Screen Scraping.
To check for broken links with Web Recorder, go to Task Editor and select Web Recorder -> Find Broken
Links command. Enter the URL and specify if you want the entire website to be checked or just the
specified webpage. Enter the path of the file to save the results and click Save. Automation Anywhere will
check for broken links as specified. You can schedule to run this task at pre-defined time.
To capture image links, radio buttons, text boxes, check boxes and other web controls Automation
Anywhere Web Recorder -> Manage Web Controls allows capture of web controls and assign them
variables.
Can Automation Anywhere automate web based processes? If yes, what type of
websites can be automated?
Yes. Automation Anywhere can automate web based processes with its Web Automation capability. You
can automate any website, even complex websites that use javascript, AJAX, Flash or iFrames.
Learn more on Web Automation
Workflow Designer allows you to create an easy to understand, intuitive graphical representation of a IT or
a business processes. Automation Anywhere allows any user (Business or IT) to easily create end to end
business workflows.
Open Workflow Designer (Shortcut Ctrl+K). Drag-n-drop the objects from the toolkit to design an entire
business process.
Workflow Designer provides four objects to design a Workflow:
• Start
• Run Task
• Condition (IF)
• End
Running a workflow is very easy. Just click on the Run button in the Workflow Designer. The other option is
to click on the workflow in 'MyWorkflow' file in the Task List and click Run.
On running the workflow through the Workflow Designer, it highlights the part of the workflow that is being
carried out. Once, the workflow has completed running, it highlights the complete path taken.
FAQs
Q: What happens if Control Room is upgraded? Will the VCS integration work?
A: Yes. (If you are upgrading from Control Room 10.2 to 10.3, you have to connect to VCS again; for
version later than 10.3, the VCS state is maintained)
Q: What happens if the Subversion repository is connected to multiple applications?
A: It should be okay. However, do not make changes to Automation Bots from any external tool e.g. Visual
SVN Server, TortoiseSVN etc.
Q: Can I connect the Subversion repository with multiple Control Rooms?
A: No.
Q. I have Development, Test and Production Control Rooms. Can I have SVN for each of the Control
Rooms?
A. We recommend that Subversion should ONLY be configured for Development Control Room. Test and
Production Control Rooms should not be configured with a Version Control System.
Q: I am not able to connect to Subversion from the AAE Control Room. What do I do?
A: Check the debug logs. They will be generated in the WebCR.log file located in Public Documents (e.g.
C:\Users\Public\Documents\Automation Anywhere Server Files\Logs)
Q: My AAE Control Room repository is getting changed. Will that affect Subversion?
A: No.
Q: I have my AAE Control Room hosted on High Availability – Disaster Recovery mode (multiple IIS). Will
that impact Subversion?
A: No.
Q: I want to control the way Subversion versions the file. Can I do that?
A: No. Subversion has its own method for versioning files. You cannot change that.
Q: What if the Subversion repository gets corrupted?
A: We recommend that you back-up the Subversion repository periodically. Refer the Subversion help on
back-up.
Q: Can I connect to an existing Subversion repository (non empty)?
A: No. The repository has to be empty.
Dos
1. Subversion repository and Control Room repository should be on same machine for optimal
performance.
2. When you enable VCS from a disabled state; make sure to click on 'connect' to upload the base
version.
3. When base version is getting uploaded; stay on the Control Room page; only the partial base versions
will be uploaded. Do not close the control Room application. To check whether files are getting base
versioned (uploaded); open the Subversion in browser and check the files are indeed getting added to
the repository.
4. When resetting base version (when connecting to a new Subversion repository) ; make sure Control
Room has got the latest and greatest.
Don’ts
1. Do not do any backend operation - on Control Room and Subversion repository (such as renaming
file, updating file info.dat)
2. AAE Client should not connect to multiple Control Rooms; in any case; whether VCS enabled or not.
3. Do not manually copy the task from one AAE Client to another; we recommend that you upload it to
Control Room and download it to the other AAE Client.
4. Don’t use any front end UI (TortoiseSVN, Visual SVN) to manage automation tasks in VCS
5. When resetting base version (when connecting to a new Subversion repository); make sure Control
Room has got the latest and greatest.
Note: From AAE 10 SP2 onwards, the desktop (standalone) Java applications (running on JRE 6 or later
versions) can be automated without installing the AAE Java Plugin; as AAE provides support to automate
dynamic Java Applications (Standalone Java Applications that run from a packaged JRE). To automate
web based Java applications, you still need the AAE Java Plugin.
5. Do I need to install the AAE Java plugin if I want to automate a website having Java controls?
Yes. The Java control will make use of the JRE of the AAE Client machine and hence Java plugin is
mandatory to be installed to automate a Java Control on a web-page.
6. What does the Java plugin do?
The Java plugin will copy few files into the JRE installation path; the versions of the files will be
different for 32-bit and 64-bit Operating System.
The following files will be copied to the ‘JRE installation folder\bin’ path ONLY if they are not present.
• JavaAccessBridge.dll
• JAWTAccessBridge.dll
• WindowAcessBridge.dll
The following files will be copied to ‘JRE installation folder\lib\ext’ path ONLY if they are not present.
• Access-bridge.jar
• Jaccess.jar
• jaccess-1_2.jar
• jaccess-1_3.jar
The following file will be copied to ‘JRE installation path\lib’ path IRRESPECTIVE of the JRE version:
• Accessibility.properties.
In addition to the above, it also enables the Java Access Bridge in ‘Ease of Access Centre’ in Control
Panel.
7. Are all the above files (e.g. Access-bridge.jar, Jaccess.jar etc.) Oracle files?Yes
8. Will the above files be copied in each of the JRE version?
Yes; ONLY if they do not exist in the JRE. When you install Java Plugin, the accessibility.properties
file will he modified in all the JRE versions.
9. What if Oracle updates an existing JRE? Will that impact the Java plugin?
Yes. If the JRE version is less than 1.8, the Java plugin may get un-installed as part of JRE update.
We recommend that you re-install the Java plugin in such case.
For JRE versions 1.8 and later, you do not need to re-install the Java Plugin even if the JRE is
updated.
10. Why are there 2 options to install Java plugin?
The recommended option to install the Java Plugin is Tools > Options > Plugin settings of AAE Client.
However, if a new version of JRE is installed on the system, you can add the AAE Plugin to that via
Tools > Options > Java Settings of AAE Client.
Also if there is a custom JRE, you can add the Java plugin to that via Tools > Options > Java Settings.
11. Can I install the plugin via command-line?
Yes. Refer the Java Plugin section in Using Plugin Settings on page 313.
12. What are the options for command-line installation?
Refer the Java Plugin section in Using Plugin Settings on page 313.
13. Can I install the Java plugin in a silent mode?
Yes, Refer the Java Plugin section in Using Plugin Settings on page 313.
14. What if I ONLY use the Tools > Options > Java Settings of AAE Client, and not install Java
plugin via Plugin Settings (Tools > Options > Plugin Settings > Java)?
It will not work. For initial use, you must install the Java plugin from the Tools > Options > Plugin
Settings > Java. You can then use the Tools > Options > Java Settings to install Java plugin in custom
JREs.
15. Do I need to run the Java application in Admin mode to automate?
If AAE Client is run in Admin mode or ‘Run Task as an Administrator’ is enabled in Tools > Options >
Runtime settings, the Java application has to run in Admin mode.
The state of AAE Client, AAE Player and Java application must be the same; either all run in Admin or
all run in non-Admin.
16. What do I need to do to install the Java plugin manually?
Follow the link below to install the Java Access Bridge.
http://docs.oracle.com/javase/accessbridge/2.0.2/setup.htm#installing-jab-64-bit
Other FAQs
I recorded a task that opens a program from Start Menu > Programs and while
running the task, the menu to open that program has moved. It clicks on a wrong
program name and hence opens a wrong program. Do I need to re-record the task?
No, the SMART Automation Technology built into Automation Anywhere provides a powerful feature that
lets you use your original task. You can check an option from Tools > Options >'Move Icons/Menus'#. After
selecting this option when you run a task it opens the same program that was opened while recording even
if the menus have moved.
Will my task run correctly even if files, program shortcut icons in the Quick
Launch and the Desktop have moved?
Apart from a few exceptions, opening of most of the files and shortcut icons from both Quick Launch and
Desktop will run correctly if the icons have moved from their original location. Note that, the 'Move Icons/
Menus' should be checked in Tools > Options menu for this feature to be enabled.
Can I get the snapshot and/or log data into file when error occurs?
Yes, Automation Anywhere has advanced error handling capabilities. You can select action like Continue
or Stop Task. You can specify error handling options like Take Snapshot, Run Task, Log data into file,
Send Email and Variable Assignment.
If your scheduled tasks don't run, follow the simple checklist to fix the problem.
1. Ensure that you have provided the username/password: For security reasons Windows XP requires
your Windows XP username & password to run scheduled task. For more information on what to do if
you don't have password read Why username/password? On any other Windows operating system, if
your account requires a password to log on, then you need to provide that password while scheduling
the task, otherwise you don't need to provide a password.
2. If you have multiple account ensure that you have provided the correct username/password: If you
have multiple accounts on same computer like one domain account and one local account, please
make sure the username that you have provided is the same username you have used to login to the
computer. The tasks will not work if you scheduled the task using one user Account and now you are
logged into another user Account. Automation Anywhere automatically fills the username that you are
logged in as.
3. Check Status in Control Panel->Scheduled Tasks window: Please go to Control Panel->Scheduled
Tasks window. Select the task that corresponds to your task (it start with your task name) and right-
click and select 'Run'. See if it runs. If it does not run please see what the 'Status' column shows.
4. Schedule Calculator Application: If your task still doesn't run go to Control Panel->Scheduled Tasks.
Click on Add Scheduled Task. From the list of applications, please select Calculator as shown below.
If the calculator does not run then your scheduler service is not installed correctly on your computer.
Select the command that you do not want to run. Right-click and select 'Disable'. Save the task and run it.
while running the task it will not run the commands that are disabled. To enable the commands again right-
click and select 'Enable'.
I want to copy a command and use it at many places. Do I need to create the
command every time?
No. You can use the 'Duplicate' function by Right click on command and select 'Duplicate'. This command
Duplicates the currently selected command. You can then just drag the newly created command using
mouse.
I have created a keystroke that contains complex sequence of keys that I use
repeatedly in many of my tasks. Do I need to copy the Keystroke every time I need
to create a new task?
No. You can right click on that Keystroke and click on 'Convert To Variable'. You can then save the
keystroke as a variable.
I have recorded a task that can be repeated as it is; only one text has to be
replaced every time. I need to enter this text while running. How do I do that in
your automation software?
Can I edit multiple commands at the same time? Is it possible to replace window
title in all commands?
Yes. Bulk Edit is available for commands like keystrokes and delay. Select multiple commands of
keystrokes or delay and right click on it. Select'Bulk Edit' option; specify the new details for the selected
commands.
To replace the window title, select any command that has a window in it; right click and select 'Change
Window Title' option. You can replace particular command's window title or you can change all commands
windows title in a task.
In the above case currently running high priority task will continue and all other task will be in queue.
Automation Anywhere features advanced task-queuing technology. This technology ensures that every
task will complete based on its priority, regardless of how many other tasks interrupt the running task.
The order of execution is decided by the priority (high, medium and low). If two tasks in a queue have
the same priority, the precedence is decided by the category (triggered, scheduled and manual) of the
tasks. Thus, if the two tasks have the same priority, a triggered task has higher precedence, followed by
scheduled tasks, then manual tasks.
Automation Anywhere can be used as an intelligent keyboard macro recorder and mouse macro recorder
that allows you to easily create, edit and run macros.
• Automate keystrokes and save thousands of clicks to automate repetitive tasks.
• Record keyboard & mouse macros or use point & click wizards to create automated tasks in minutes.
• To learn more: http://www.automationanywhere.com/landing/macro-recorder.htm
Automation Anywhere has an advanced Excel integration and Excel automation feature. Automation
Anywhere allows automation of data transfer between Excel and any web or windows based application
like Salesforce, SAP, Access, SQL, etc.
Learn more on Excel Automation.
Automation Anywhere works with any SQL databases like Oracle, MS SQL, Sybase, etc. to transfer,
maintain or update databases. Automation Anywhere's database automation solution can take data from
various databases, web and in-house applications, collate them and generate reports.
Learn more on Database Automation.
Troubleshooting Information
Tip: If you need clarity on the type of error that you encounter and remedial steps, refer the errors
documented in this article or contact your Control Room administrator.
Remedial Actions
Remedial Actions
• Check that the Control Room URL mentioned in the login is correct
• Open a web-browser on the AAE Client machine and navigate to the Control Room URL. You should
be able to see a login screen if you are not logged in into the Control Room
• Ensure that the port mentioned in the Control Room URL is open for communication
/
You will get this error if any of the User Name or password field is not provided
Remedial Action
You will get this message when you click on ‘Forgot Password’ on the AAE Client login
Remedial Actions
For Control Room configured without SMTP (outgoing mail server): Contact the Control Room Admin and
request him/her to reset the password against your user
For Control Room configured with SMTP:
• Open the Control Room in a web-browser
• You will get the login window.
• On the login window, provide your AAE username and click ‘Forgot Password’ on the web-page.
• You will get a confirmation mail on your registered email account that will enable you to reset your AAE
password.
You might face an invalid certificate error when you log on to your Control Room instance from the Client if
the Control Room certificate:
• Is not present
• Is invalid
• Has expired
• Is from an untrusted authority
Note: The above error message will only be shown if the AAE Client machine has the following registry
entry:HKEY_LOCAL_MACHINE\SOFTWARE\Automation Anywhere\ValidateServerCertificate with
value as 1.
Remedial Action
When you log on to a Control Room of either higher or lower version, you are shown a version mismatch
error.
Remedial Action
Contact your Control Room administrator to ensure you have the compatible versions of Control Room and
Client installed.
When you try to log on to your Client using a different machine, you are shown the above error if a Bot is
deployed to the Client session that is already active on a previous machine. This is possible if your Control
Room is configured to support a Floating license model.
Remedial Action
1. If you want to log on to another machine, terminate the Bot session i.e. the player that is active on the
previous machine by clicking
2. Wait for the TaskBot to complete and then log on to the other machine.
When you provide your old credentials during Client Login/ Re-Login or Auto-Login after the password
policy is updated in the Control Room, you are shown:
Remedial Action
You will have to update your password from the Control Room interface to login.
1. Click Yes to launch the Control Room in your default browser.
Note: If you want to choose to login later, you can click No. You will then stay on the Client login
page.
2. Login using your credentials.You are shown the password update page.
3. Change your password to one that meets the new password policy requirements and save.
4. You can now login to the Client.
You can use the Set SnapPoint feature in a task to capture images of the task while it runs.
1. Launch Automation Anywhere by clicking the Automation Anywhere Enterprise Client icon.
2. In the Client Login window, click on the Server Settings link.
3. Enter the Server IP Address. If the client is on the same system as the server, enter 'localhost'.
4. Select the server Port used for the server.
5. Click on Apply and OK.
6. In the main client window, click on the Tools menu and select Server Communication.
7. Enter the user name and password provided while registering the client in the Automation
AnywhereEnterprise Control Room.
8. Click the Login button.
9. If registered correctly, the message 'Registration Successful' is displayed.
Yes. The Client that has already been registered and has a domain change, will have to be re-registered
as the domain name is required especially while scheduling tasks and using the Auto-Login feature.
Note You can verify the correct Domain Name in the Machine Information section of Control Room for
that particular Client.
The Client that has had a domain name changed, can do any of the following (in the sequence mentioned):
1. Change the Application Path in Tools > Options > Advanced Settings. This will ensure that all the data
that was available in the earlier path is available to the Client in the current domain.
2. Create a New Client. However, it is recommended that you use this option as a last resort.
If the Server Administrator does not grant permissions to a client, the client cannot view privileges other
than Run.
1. To procure adequate permissions, request Create Task permissions from your Server Administrator.
2. The Administrator grants the Create Task privilege using the Enterprise Control Room, in the Client
Control Center, using the Client Information section.
3. For Upload, Download, Delete, and View privileges for a particular folder on the server, request
Access Control List permissions from the Enterprise Control Room.
4. After the Access Control List is updated in the Client Control Center and the Create Task privilege is
granted, the client must re-login.
5. The client should now be able to communicate with the server using the new privileges.
How do I copy an Excel cell and move to the next cell in the record?
When you highlight the Excel cell and use Ctrl+C to copy a cell, it copies an extra ENTER keystroke with
the data. To copy only the cell, follow these steps:
1. Use the following keystrokes:
• To skip a cell, use the corresponding key twice. For example, to move RIGHT to alternate cells,
you must enter [TAB][TAB]
Most applications support the keyboard shortcut Ctrl+V to paste data that has been copied to the clipboard.
To paste the data using the keyboard, follow these steps:
1. Ensure that the cursor is in the correct cell in a table, or in the correct control in a browser page, etc.
2. Type Ctrl+V. To simulate Ctrl+V in Automation Anywhere, use: [CTRL DOWN]v[CTRL UP].
These keystrokes will paste the data in your application.
3. Use the following examples as a guide in how to move to the next record or cell in your application
using the keyboard:
• Use the TAB key to move from a highlighted link to the next link in an Internet Explorer web page.
• Use the [RIGHT ARROW] to move to the next cell in the same row in a Microsoft Word table.
• Some applications also support using the Space bar to move to the next control or button.
How do I create time stamps for files using Automation Anywhere system
variables?
Automation Anywhere provides the following system variables that you can use to append time stamps:
• Year
• Month
• Day
• Hour
• Minute
• Second
• Date
ABC$Year$$Month$$Day$
• To create a complete time stamp with date and time, you can use:
ABC$Year$$Month$$Day$$Hour$$Minute$$Second$
• You can also include text characters between the variables, for example:
ABC$Year$-$Month$-$Day$
• To configure your own format for the Date variable, click on the Tools menu and select Variable
Manager. Click on System Variable and then Date. If you use the Date variable to append a date to file
names, be sure no slashes (/) exist in the date format, because file names in Windows might not use
the / character.
If the location of these icons change, resulting in an error when the task runs, follow these
recommendations:
1. Open the task in the Task Editor.
2. Select the actions that involve navigating to menu items and clicking. They might involve several
mouse moves and mouse clicks.
3. Delete these actions.
4. Replace them with single-line commands that you create by double-clicking the Open Program/File
command and specifying the path to the application. The Open Program/File dialog includes a text box
in which you can type parameters that Automation Anywhere can pass to the application.
5. The task can now open your application, regardless of where the icon is located.
• Username: Enter the user name you created in User Accounts. How do I create a User Name and
Password?
• Password: Enter the password that is associated with your user account.
• Domain Name: Specify the domain name. If not specified, the Windows Login uses the computer's
domain name.
The new application path takes effect after you restart Automation Anywhere.
To view the message click on 'Show Tip' link. This will display a possible solution. If however, this does not
suffice, you can click on the 'Learn more' link which will guide you to this topic.
Tips displayed
<content missing>
• MSAA: If object not found and HTML Properties are checked in Search Criteria then Provide wildcard
support in value or Uncheck HTML properties like HTML Href, HTML InnerText.
If object not found and HTML Properties are not checked in Search Criteria then check other Unique
properties like Name, Value, Parent, Index
• Silverlight: If object not found then check other Unique properties like Name, Value, Parent, Content
• Flex: If object not found then check other Unique properties like Name, Value, ObjectID, Parent
• UI Automation:
• Java: If object not found then check other Unique properties like Name, Value, ObjectID, Parent,
Index
• HTML: If object is not found then check other Unique properties like HTML Tag, HTML Tag-Index,
HTML Name, HTML ID.
If object not found and HTML Properties are checked in Search Criteria then Provide wild-card support in
value or Un-check HTML properties like HTML Href, HTML InnerText
<content missing>
Below table displays the main search criteria for different objects with respect to various technologies.
In case the website is not assigned to any security zone inInternet Explorer,level of security set for the
Internet zone is applied to it by default. To capture objects from such websites using Object Cloning
Command, set the security level at Medium-high or lower.
• To capture objects in Local Intranet WebsitesIf your website is assigned only to Local Intranet
security zone in Internet Explorer, set the level of security in Local Intranet to Medium-high or lower and
turn off ActiveX Filter.
• To capture objects in Local Intranet Websites assigned to Trusted zoneIf your Local Intranet
website is assigned to Trusted sites security zone in Internet Explorer, set the level of security in
Trusted sites to Medium-high or lower and turn off ActiveX Filter.
•
• To capture objects in Internet WebsitesFor websites in Internet zone, set the level of security in
Internet to Medium-high or lower.
• To capture objects in Internet Websites assigned to Trusted zoneIf the Internet website is assigned
to Trusted sites security zone in Internet Explorer, set the level of security in Trusted sites to Medium-
high or lower.
Troubleshooting Information
These topics provide troubleshooting information to help you diagnose and fix problems that might arise
while installing, configuring, and using an Automation Anywhere client.
If you receive this error message, follow these steps to resolve it:
1. Download the file 'mssfdfmt.zip' from the location:
2. http://www.dll-files.com/dllindex/dll-files.shtml?msstdfmt
3. Save this file to any location on your system and extract it.
4. Copy the MSSTDFMT.DLL file from the downloaded folder and paste it to this folder location: 'C:
\Windows\syswow64\sysWOW64'
5. In the folder 'sysWoW64', locate the file 'cmd.exe'.
6. Right click on 'cmd.exe' and click on 'Run as administrator'. A Windows command prompt window is
displayed showing 'C: \Windows\system32>'
7. Type: Regsvr32 C:\Windows\SysWOW64\MSSTDFMT.DLL and press Enter to register the file.
A task that contains Microsoft Excel commands runs very slowly. In this case, follow these steps:
1. Disable Debug mode.
2. Remove or reduce Delay commands by 1 second.
3. Minimize the Excel files. While Excel is in a maximized state, it displays the user interface, consuming
resources.
4. Stop capturing screen shots while running the task. Follow these steps:
a. On the Automation Anywhere main window, click on the Tools menu and select Options.
b. Select Run Time Settings.
c. Uncheck the option: "Capture Screenshots while Running a Task".
Be aware that screenshots will not be captured while running the task, so monitoring progress is more
difficult.
Scheduling - Troubleshooting
2. If you have multiple accounts, ensure that you have provided the correct user name and password. If
you have multiple accounts on the same computer (such as a domain account and a local account),
verify that the user name provided is the same as that used to log onto the computer.
3. Scheduled tasks do not run if you schedule them using a user account different from that logged on.
Automation Anywhere automatically fills in the user name that was used to log in.
4. Check the status in Control Panel by completing the following steps:
a. Open the Windows Control Panel and go to Administrative Tools > Task Scheduler.
b. Select the task corresponding to your task (the name begins with your task name) and right-click
on it.
c. Click on Run to verify that the task runs.
• If the task does not run, check the Status column and go to Step
4.
If the Task Scheduler still fails to run, complete the following steps:
1. Click on the Windows Control Panel and select Scheduled Tasks.
2. In the Advanced Menu, click 'Stop using Task Scheduler.'
3. Wait 10 minutes.
4. Click on 'Start using Task Scheduler.'
If using a version prior to 8.0, you are required to migrate schedules in the Client from earlier versions to
the latest one.
A schedule migration utility, bundled within the setup, is available post installation. Run this utility to save
time on automating path updates, which are now required to run the older schedules, successfully.
All you need to do is:
1. Run the migration utility without Admin privileges to migrate all the schedules by the logged in user. A
logged in user need only provide his/her Windows credentials
2. Run migration utility with Admin privileges to migrate all the schedules pushed by the Control Room
admin. User will need to provide their Windows credentials to complete this activity.
Note: After migration, all schedules of earlier version, pushed by the Control Room admin will be visible
to the user. However, the new schedules will continue to remain invisible on the Client side.
Auto-Login Issues
1. If the schedule has been successfully added, go to Tools > Option > Auto-login Settings. Check the
username and password.
• It should match.
Capture button disabled for options 'Extract Source' and 'Execute Java Script' in
Web Recorder command
After completing the previous steps, if you are unable to run your task using the Task Scheduler, it is
likely that the Scheduler service is not installed correctly on your computer. Please contact Automation
Anywhere Technical Support for further assistance.
Error View
Use the Error View to manage errors that occur in your tasks. This view is automatically updated when the
Error Handling feature is used.
Variable Manager
Use the Variable Manager to create and manage variables that you use in your tasks. You can add, edit, or
delete local (user-defined) variables.
Use the Variable Watch Table to track the values of your variables. The Variable Watch Table is enabled
when you enable Debug Mode by clicking on the Enable Debugging link.
You can move the Variable Watch Table, as well as expand it as required.
To view how variables dynamically change, click the Add or Remove buttons. You can view both user-
defined variables and system variables.
Use the Variable Watch Table as part of your debugging process.
Glossary
Bot
Bot: an application that performs an automated task and contains business process logic.
Data Tier
Data Tier: Group of machines which are responsible for providing data storage services.
Database (DB)
Database (DB): Software used to store metadata and other system data
Load Balancer
Load Balancer: Network Load Balancer that distributes HTTP(S) requests between Control Room Cluster
on page 439 members.
PostgreSQL
A PostgreSQL: Database server software
PostgreSQL Server
PostgreSQL Server: Database used to store metadata related to analytics dashboards.
Service Tier
A Service Tier: Group of machines tasked with hosting services that implement business logic and serve
static assets such as images and JavaScript.
Subversion Server
Subversion Server: When the optional Bot on page 438 versioning feature is enabled, bots are stored
and versioned in an external Subversion Version Control (SVN) on page 441 server.
Web Browser
Web Browser: Used by users and administrators to access the Control Room (CR) on page 439.