AssistEdge CE AutomationStudioUserGuide
AssistEdge CE AutomationStudioUserGuide
AssistEdge CE AutomationStudioUserGuide
1 Public
AE-RPA-Automation Studio User Manual
Copyright Notice
©2018 EdgeVerve Systems Limited (a fully owned Infosys subsidiary), Bangalore, India. All Rights
Reserved. This documentation is the sole property of EdgeVerve Systems Limited (“EdgeVerve”).
EdgeVerve believes the information in this document or page is accurate as of its publication date;
such information is subject to change without notice. EdgeVerve acknowledges the proprietary rights
of other companies to the trademarks, product names and such other intellectual property rights
mentioned in this document. This document is not for general distribution and is meant for use solely
by the person or entity that it has been specifically issued to and can be used for the sole purpose it is
intended to be used for as communicated by EdgeVerve in writing. Except as expressly permitted by
EdgeVerve in writing, neither this documentation nor any part of it may be reproduced, stored in a
retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing,
photocopying, recording or otherwise, without the prior written permission of EdgeVerve and/ or any
named intellectual property rights holders under this document.
Table of C
Contents
ontents
Copyright Notice 01
1.. Auto Automation Studio 08
1.1 Pre-Requisites, Installation and Login into Studio 08
2.0 Home Tab 09
3.0 Admin Tab 10
3.1 Applications Sub-tab 10
3.2 Deployment Sub-tab 11
3.3 Migration Sub-tab 11
3.3.1 Export 11
3.3.2 Import 13
3.4 Bots Sub-tab 14
3.4.1 Processbots 14
3.4.2 Microbots 15
4.0 Studio Tab 19
4.1 Automation Studio Help 19
4.2 Studio Menu Options 20
4.3 Create New Process 20
4.4 Create Sign-In Process / Reset Process 21
4.4.1 Configuration of Additional Controls 21
4.5 Advanced use of Sign-In and Reset activities within automation process 21
4.6 Edit Process 23
4.7 Outline View 25
4.8 Save Process 25
4.9 Publish Process 25
4.10 Deploy Process 26
5.0 Automation Studio Tools 28
5.1 Process Components 29
Application 29
How to Configure Web Applications 31
Java application 40
Custom Application 44
Reuse Process 46
Microbot 46
Code Editor 48
Popup Handler-Activity to automate windows popups in web and excel applications. 50
API Activity 52
Execute DB Query 52
Focus Window 53
Dock Window 53
Print Screen 53
54
54
Image Control 54
Text Extractor 57
5.3 SAP Think Client 60
5.4 Files 62
Write to Excel 62
Excel Loop 62
62
63
64
Output 67
70
5.5 Flow Controls 71
IF 72
Parallel 72
DoWhile 72
Sequence 72
While 72
Delay 72
5.6 Assign and Write 73
Assign 73
WriteLine 73
Write to Log File 73
73
5.7.1 File Create 72
5.7.2 File Copy 74
5.7.3 File Move 75
5.7.4 File Rename 76
5.7.5 File Open 77
5.7.6 File Save As 78
5.7.7 File Close 79
5.7.8 File Delete 79
115
117
5.11 Send Keys 119
119
5.11.2 Send Keys web element Control 122
124
5.12.1 Launch an Oracle EBS form through web navigator 124
125
126
5.12.4 Launch an Oracle EBS form using Java based navigator 128
171
Create Data Table 172
Add Row 173
Remove Row 174
Update Data 174
Clear Data Table 175
Get Data 175
Sort DataTable 176
Count Row Column 177
Import DataTable 177
Export DataTable 179
180
5.16 Exce Handling 181
1.0
About Automation Studio
The Automation Studio is
designed to enable users to
create and configure
process automations. The
Automation Studio includes
automation configuration
capabilities for varied and
heterogeneous technology
applications.
Before installing Automation Studio, a user should have the .Net framework 4.6 installed on it’s machine. The product
works on Window 7 and above OS (Windows 7/8/8.1/10. The clickable installation utility, ensures a smooth and quick
installation.
After installation, a desktop shortcut ‘AssistEdge RPA CE’ will be created using which a user can open the Automation
Studio.
On first use, the user is prompted to provide a license file. Providing a valid license file will successfully launch the
Automation Studio. The user can obtain this license file from the same folder where the AssistEdge RPA Community
Edition installer has been downloaded.
The user is shown a ‘Automation Studio - `Quick Start Guide’ which guides the user with useful tips of information and
various links where the user can look out for help.
2.0
Home Tab
In the Home tab, users can access automations created by them. An automation once created, can be saved, published
and deployed, thus enabling users to maintain their versions, track changes and run the latest process automations.
Users can also view whether a process has dependencies on other processes and applications.
Processes and Applications, which have other processes dependent on them, cannot be deleted.
3.0
Admin Tab
The Admin tab displays
applications, processes
and configuration details.
The first sub-tab displays the Applications view. On the left hand side, a user can view the applications mapped to
its profile. On the right hand side, applications are categorized by technology.
The Deployment sub-tab, displays the Processes view. It lists all processes, their status, version details, deployment
status and that whether it is available as a main process in Assisted Automation.
Migration tab is used to migrate processes from one environment to another. This tab further has two sub-tabs viz.
Export and Import
3.3.1 Export
Processes in Deployed state can be exported as a zip package by clicking on the ‘Create New Package’ button on the
export tab. This, then opens up a screen listing all the deployed processes for selection. On selecting the process (es)
and clicking on ‘EXPORT’ button, the user is prompted to provide the Package name and description along with the
contents of the Package viz. the Processes and their dependencies.
On clicking on Export, the user is prompted with an information message with a link to open the path where the
package was created. This package can then be imported into the target environment.
The list of packages exported, along with it’s details, from an environment, is shown in the Export tab with the latest
being shown on top.
3.3.2 Import
One or more Processes can be imported from an environment using the ‘Import’ tab. User can click the ‘Browse’
button on the Import tab to browse and select the package to be imported. On selection of the zip file, user can
validate and reads it’s contents i.e. process (es) and the user is prompted to select 1 or more processes to import into
the environment. While importing, system checks the following and helps resolve conflicts with the target environ-
ment (if any). If process with the same name and profile exists in the target system, user is prompted with different
ways to resolve the conflict. Import happens as one process at a time.
User can edit and update the properties of the underlying application in the process by clicking on the Edit / Pencil icon
shown in front of the application properties.
If the application with same name already exists in the target environment, the user is prompted to select and map the
application to the one that is already existing in the target environment.
After proceeding further, user is shown the summary of the Import transaction. Audit for all the imported packages are
shown on the Import screen with latest on top.
This tab has 2 subtabs viz. Processbots and Microbots, which allows a user to configure different features used in SE for
a process namely Reset Process Mapping, Process Feature Mapping and Landing Tab for a process in SE.
3.4.1 Processbots
A Processbot is a process
created in Automation
Studio packaged along with
it’s metadata like the Name,
Author, Tags, Description,
Readme file details and an
image identifying the
Processbot. This is one of
the ways of migrating a
process from one environ-
Processbots tab shows all the process bots created as above along with the ones
ment to another. Packaging
which have been imported
a process along with it’s
metadata, helps user to
know the utility and other
usage details of the process.
User can Export a processbot or Edit / Delete a processbot’s metadata or view Dependencies of the underlying process
in the process bot, by hovering on the Processbot on the screen.
A Processbot can be imported in another environment by clicking on the IMPORT button. On selecting the Processbot to
be imported, user goes to a process similar to what he/ she does while importing a Process using the environment
Migration capability as described above.
3.4.2 Microbots
A Microbot is a micro process or a micro automation which can be reused in the Automation Studio.
The user needs to fill out all details for creating a new
Microbot such as Microbot name, description, Micro-
bot path, readme file path, tags and add an image.
All the metadata associated with the selected Microbot will be populated on the screen. Upon clicking on the ‘Save’
button, the Microbot is imported into Studio.
Similarly, for exporting a Microbot, click on the export icon listed beside that Microbot.is imported into Studio.
By default, the selected Microbot is exported into the ‘Package Downloads’ folder within the build location.
4.0
Studio Tab
The Studio tab provides
an open canvas for users
to design and test
process automations. It
has an intuitive user
interface with simple
drag and drop workflow
activities and user
friendly menus / tools to
create automations
The Help tab in the Studio, provides users with useful reference documents to begin the automation configuration. It
includes a presentation and a step by step guided video that demonstrates how to automate a sample use case.
The Studio ribbon consists of quick icons to perform various actions such as viewing an application and process
dependency, undo action, redo action, edit process, add annotation, save process, test run, search criteria
configuration and others.
Users can click on the ‘Create New’ button and select the option of ‘Process’ to create a new process. This will open a
new flowchart on the Studio canvas where the user can create a new process.
Similarly, for a reset process, the user can add the application and the login, to reset the state of the application. Please note
that the save button will be disabled if user adds any additional activities on the canvas.
In the application opened for field configuration in the Studio tab, click on Start Field Configuration and select
the additional control to be configured. e.g. The Role drop down is being configured in the below screenshot.
In the Field Properties section on the right hand side, check the “Is Dynamic” checkbox to mark it as an additional
control.
After checking the checkbox, user can decide the control type to be configured for the selected control from the four
available types viz. combo box, textbox, radio button and checkbox.
a. If ComboBox control type is selected, the user can configure the values to
b. If textbox control type is selected, the user can configure the default
c. For radio button and checkbox control type, the default value can be true
or false.
For every dynamic control that is configured, an in argument will be created. Value of this argument will be set in the
configured control when the sign-in process is executed. Please note that in Automation Studio, a sign-in process can
be tested using the “Setup Environment”. Test Run is not enabled for the sign in processes.
On closing the application tab in Studio, the field configuration can be seen inside the Application activity by double
clicking on it.
4.5 Advanced use of Sign-In and Reset activities within automation process
The user can use Sign-In and Reset, as activities within a process while configuration of an automation. User can re (call)
sign-in for applications where it is required in between a process or if a sign out behavior is eminent in the business process.
Similarly, the user can also reset the state of an application in between a particular application automation / process, if
required.
User has a drag and drop activity box for each of the “Sign-In” and “Reset” activities under “Process components
Both these activities can be used inside the Application activity only.
For ease in viewing complex workflows, users can utilize the outline view in Studio. The outline view displays all the
nodes of a process including the workflow tools and activities used. This view also enables users to quickly navigate to
the desired section of the automation.
Users can save a process that they have created. They can also edit any process which is in ‘Saved’ or ‘Published’
status. An updated process can be saved as an updated version of the previous process.
Once a user has created a process, it can be published. Open the process in the Studio view and then select the ‘Publish’
button from the Studio menu options.
While publishing a process, the user needs to select the Profile within which the process needs to be published.
A user can also deploy a process once it is published. This can be done from the Deployment sub-tab
within the Admin page.
The user needs to select the version of the process that needs to be deployed. Note that once a process has been
deployed, it cannot be deleted.
The user also needs to provide the average time taken, if a request in a particular process gets executed manually.
This information can be put in Manual Process Time in HH:MM:SS format. This Manual Process Time information,
would be consumed by a reporting platform, as a base line to gauge the saving on process execution time due to
automation. It is not a mandatory field.
Apart from Manual Process Time, the user can also provide the SLA information during deployment of a process.
SLA refers to the expected process execution time, when a request in a particular process, gets executed by a robot.
This information can be put in SLA in HH:MM:SS format. This SLA information would be used to calculate the service
level (proportion of automation qualified requests, which gets executed within the SLA duration limit) of each
process.
5.0
Automation Studio Tools
Process components, consists of the following activity tools for automating applications:
Application
The Application activity automates an application
using field configuration. The user can add /
configure applications here. The Studio enables
users to add web, excel, mainframe, windows,
java, SAP, SMTP email, DB and Sharepoint
applications.
For adding a new web application, the user needs to select the type of application, name the application, specify
the login and search URLs and the preferred browser.
For adding a new excel or windows application, the user needs to provide the application name and path.
For adding a new Mainframe application, the user needs to provide the application name, emulator, host and
port details.
For adding a SAP application, name and SAP connection name needs to be provided along with checking the
checkbox ‘Is startup launch’, if user needs to launch the application and not attach it to an already launched
application.
For adding a SMTP application, user needs to provide the domain, SMTP server IP address, port number, size of
attachment, max size of all attachments together. By default, the parameters, SSLEnabled and Validate Channel
are set to false.
For adding a DB Application, user needs to select the DB Type as SQL or Oracle, Authentication type in case of SQL
DB, DB Server, Port and DB Name details. SID needs to be entered in case of Oracle DB.
a. Users can add applications to be automated and then define the automation. For instance, if a web application
needs to be automated, the user can use the ‘Start Field Configuration’ button to define automations within
the application.
b. Let us look at an example where the user wants to configure a search process. The process comprises of
looking up for information on a web application and updating the search result.
c. To begin with, the user can click on the ‘Start Field Configuration’ button and then click on the search textbox.
The property grid on the right hand side, will appear with field properties for the application. The user needs
to update the properties and save them. For example, the Action field is selected as ‘Set Value’ and the Input
source is set as ‘Company’.
New selenium based plugin for Internet Explorer called “InternetExplorerSelenium” has been added. It uses
the IE Web driver,to automate the web applications, in Internet Explorer.
In the next step, the user once again clicks on the ‘Start Field Configuration’ button and selects the search button.
The property grid is populated with appropriate details such as the Action as ‘Click’ since the search is triggered
by a button click.
At last, the automation needs to read the search result, hence the user clicks on the ‘Start Field Configuration’ button
and selects the search result. This time, the property grid is updated with information for the search result such as
Action as ‘Get Text’. Variable Name and Data Types need to be defined by the user.
Following interactions have been newly added / enhanced in the Internet Explorer plugin.
b. ScrollIntoView interaction has been added. It can be used to auto scroll any element to top Start/Center/End of the page.
[Note: Configuring “center” for ScrollTo, will throw an exception at runtime as IE doesn't support center option]
c. ScrollBy interaction has been added. It can be used to scroll page, by the configured amount in pixels, in horizontal or
vertical direction.
d. IE applications with document mode 5/7/8 are now supported from the IE plugin.
Following enhancements have been made to the selenium based plugins for web automation viz. Chrome,
Firefox & Internet ExplorerSelenium
a. ScrollIntoView interaction has been added. It can be used to auto scroll any element to top Start/Center/End of
the page. [Note: Configuring “center” for ScrollTo will give exception at runtime as IE doesn't support center
option]
b. ScrollBy interaction, has been added. It can be used to scroll page by the configured amount in pixels, in horizon-
tal or vertical direction.
c. ScrollBy interaction, has been added. It can be used to scroll page by the configured amount in pixels, in horizontal
or vertical direction.
d. ContextClick interaction has been added. It can be used to perform a right click interaction. Any further interaction
on the opened popup, should be achieved using send keys activity like down arrow, followed by enter key. The
application is required to be in focus.
e. A new flag "IsNotTopMost" has been introduced for click interaction. In certain scenarios, Webdriver throws an
exception when performing a click on any element with a message that the element is overlapped by another
element and the other element will instead receive the click. Turning on the "IsNotTopMost" flag will resolve this
error message and click will be performed even if overlaid element receives the click.
Automating tables / Grids in Web Applications – Studio supports automation of Tables or items in tabular format in a Web
page. Automating of Web grids, involves following steps.
c. Capturing all the fields in the table that the user wants to automate.
d. Repeating step ‘c.’ for all the rows / columns in the table by looping over the table.
b. For the first Row / Column captured as above, the ‘Action’ selected should be ‘Control Exists’. For
this, add a variable of type, Boolean.
Note: Selection of interaction as ‘Control Exists’ is done only for the first column / row in the table.
For capturing all the fields in the table that the user wants to automate:
a. Repeat step a for all the rows / columns for which the user wants to extract / set the data including
the first column / row.
b. This time, the interaction selected in the ‘Action’ field in the property grid, should be the actual action, the
user wants to perform on the column. E.g. ‘Get text’, ‘Get attribute’, ‘Set text’ and ‘Click’ as relevant to the field.
Repeating step ‘c.’ for all the rows / columns in the table by looping over the table.
a. This can be done by adding all the above activities in the Studio canvas, in a ‘while’ loop control flow.
b. Add an argument of type ‘numeric’ in studio, which will be used as a loop counter.
c. Condition for running the while loop should be set, so that it runs till the Control exists in the row / column.
Make sure that ‘Item Index’ field in property grid for the ControlExists and all other
captured controls, is set to the loop counter variable Incrementing the row / column
counter in the loop.
a. At the end of the while loop, increment the loop Counter using the ‘assign’ activity.
b. Repeating steps ‘c, d, e’ till the last row /column. Vhecking for ControlExists condition in the while loop,
will take care of this
The user can manually specify a selector that matches all elements i.e. Executing document.querySelectorAll("<man-
ual selector>") in browser’s developer console returns all the desired elements. This selector does not require a
placeholder for an index. It is elaborated in the below example:
c. If the user will now try to extract all the search results in a loop by extracting two of the product labels in search
result, the user will get a selector similar to: "#result_{0} > :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) >
:nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(1)"
d. The user can also observe that only a few of the search results are highlighted once extraction is complete and even
after the user configures the loop and runs the process, not all elements will be extracted.
e. By using the manual selector, the user can correct the above amazon process by replacing the selector with "h2.s-in-
line.s-access-title" . Index should stay bound to loop variable and Offset should be set to 0 unless the user wants to
skip few elements.
c. While the css3 selector is generated and works just fine, the user now has an
option to find this element using innertext as an alternative.
To check innerText property of an element, the user needs to find the control in the developer console and check it’s
innerText property. e.g. To see the innerText property of span extracted above, one can type document.querySelec-
tor(“css3selector that was captured”).innerText in the browser developer console.
For looping over a table in a Smart GWT based application, "sclocator" should be created manually as shown in
below example:
a. Visit https://www.smartclient.com/smartclient/showcase/?id=adaptiveFilterFS
c. Let’s assume the user wants to loop over this table and extract SKU for each row.
d. Extract the SKU column from first row and paste the generated sclocator in notepad.
e. Extract the SKU column from second row and paste the generated sclocator below the first one in notepad.
[Row - 1] //testRoot[]/child[Class=ListGrid||index=0||length=2||class-
Index=0||classLength=1||roleIndex=0||roleLength=1||scRole=list]/body/row[itemID=1||itemName=Adding%20Mach
ine%20Roll%2057x57mm%20Standard||SKU=45300||0]/col[fieldName=SKU||0]
Notice that the generated sclocator contains row specific details for the row part, while other details are same for
both:
[Row - 1] row[itemID=1||itemName=Adding%20Machine%20Roll%2057x57mm%20Standard||SKU=45300||0]
To make it a generic sclocator which can be used for looping, one needs to get rid of these specific details and add a
place holder for loop index.
In the above example, itemName and SKU fields contain specific information for row here and should be removed.
itemID field as well as row identifier after SKU seems to be a good candidate for making it a placeholder for loop index.
To get rid of these fields, either of the following as sclocator can be used in loop:
[Version - 1] //testRoot[]/child[Class=ListGrid||index=0||length=2||class-
Index=0||classLength=1||roleIndex=0||roleLength=1||scRole=list]/body/row[itemID={0}]/col[fieldName=SKU||0] --
using itemID column
[Version - 2] //testRoot[]/child[Class=ListGrid||index=0||length=2||class-
Index=0||classLength=1||roleIndex=0||roleLength=1||scRole=list]/body/row[{0}]/col[fieldName=SKU||0] --
using row identifier
Also, note that for version 1, loop index should start from 1 or offset should be 1 while for version 2, loop index should
start from 0.
For certain controls on Webpage that do not get automated using normal
web application automation method as seen above, Sometimes a javascript
is present on a web page which needs to be executed on a certain control.
This can be automated using the ‘Execute JavaScript’ activity in the Process
Components in the studio.
User can drag drop this activity in an Application activity at the step when the Javascript needs to be executed. Click
the ‘Edit Script’ button on the activity to open the ‘Script Editor’. Write the script to be executed in the Editor and click
on confirm. Output from javascript can be captured in the Out variable, when the user selects on the ‘Select Output’
parameter of the Activity.
User can pass parameters to the script, by clicking at the place where the parameter is to be written. Right click on
the mouse and select the parameters from the list displayed.
Mainframe Application
The Studio supports the automation of Mainframe applications. In addition to the Mainframe emulators (Attach-
mate Extra Xtreme and Passport), the Studio additionally also supports Attachmate Reflection emulator as well.
Once the user has added the mainframe emulator, he can click on the settings icon to launch the emulator and the
mainframe application, similar to launching any other application in Studio. The selected Mainframe application will
get launched and docked as a tab within the Studio.
To automate the Mainframe application, the user needs to use the ‘Start Field Configuration’ button. Please note
that in the property grid, the user has one of three selections to make for a Mainframe application – Set text, get
text and fire event. The user can use these configuration options to either set a value to the application, fetch a
value from the application or execute an action in the application respectively.
For instance, in the screenshot below, the user wishes to fire the event of clicking the Enter button to trigger a
search into the application. Hence, the user selects the Event name as ‘Transmit’ which is equivalent to the Enter
key in Mainframe apps.
Once the desired configurations are setup, the user can run the test automation to validate the configured automa-
tion for the mainframe application.
Custom Application – Custom application tool is used for coded automation of an application. Users can use custom
applications for creating automations.
Custom Applications are coded automations for the applications for which an automation cannot be configured
using Automation Studio directly. The Custom Application can be added as a part of the process by adding the
Custom Application activity onto the process canvas.
A custom application can be added from the process canvas itself by clicking on Add New Application link.
1. Application Name,
2. Path of the DLL that has the custom code,
3. Main Class Name: Classes from the selected DLL are listed, select the class that implements the product interface.
Note that, the Custom Application’s DLL has to be build targeting the .Net Framework 4.6.
After selecting the application, click on the Settings icon in the activity to configure the input and output
parameters.
Select the Microbot by searching for the bot to be reused. Click on the settings icon to set the input and output
parameters.
Once the input and output parameters are set, the Microbot will be configured in the Studio, ready to be used in an
automation. The user can thereafter run a test automation to test the Microbot.
The functionality of the Microbot exposes it’s input and output parameters. When it is used in the Studio, the user can
enter the input and output parameters.
a. To automate certain fields in an application that are not configurable using Studio.
The Code Editor activity will list the existing code editors. Select any code editor to
view the list of classes in the selected DLL that implement the ICodeEditor interface.
Clicking on the Output button will open the Output Parameters screen which will let the user create the out arguments
that will be set using the automation done in the code editor. It allows a user to set their data type and if it is a C-View
or not also.
If the required DLL is not found in the list, upload a new one
by clicking on the Add DLL link in the activity.
Popup Handler – Activity to automate windows popups in web and excel applications.
Popup Handler activity is used to handle the windows popups that appear in web and excel applications e.g. a
uthentication pop up, confirmation alerts etc.
This activity can be added inside an Application activity only. Click on the Settings icon to configure the
controls of the popup.
b Control Type: type of control to be automated. In this release, only textbox and buttons are supported.
c Control Id: Control search path (e.g. ffnf) that identifies the selected control in the popup.
d Field To Map: This will be available only for a Textbox control. It will list the available arguments in the workflow
whose value needs to be set in the textbox. For the Button control, this dropdown will be disabled.
b. Control Type: Type of control to be automated. In this release, only textbox and buttons are supported.
c. Control Id: For Textbox control, it will be disabled. For Button, two possible values viz. Accept and
Cancel are listed.
d. Field To Map: This will be available only for a Textbox control. It will list the available arguments in
the workflow whose value needs to be set in the textbox. For the Button control, this dropdown will be disabled.
In case of a popup that asks for credentials to be configured when creating a Sign In Process, just drag and drop the
popup handler activity in the Application activity of the application whose sign in is being configured.
API Activity –
Helps make the web services calls that includes REST APIs calls or calls to SAP APIs which are BAPI.
Execute DB Query –
This activity is used within an application activity where the application type is a data base application of type
DBApps. It is used to perform ‘Select’ query operation on the database.
e. Count of Rows in result: Row count of the query result is set in the
variable assigned to this field. Row count is stored in the ‘RowCount’
variable by default.
Focus Window –
Dock Window –
When a process containing ‘Focus Window’ activity is executed in the Assisted Automation platform i.e. SE, the Applica-
tion window gets undocked from SE. To dock the application window back, ‘Dock Window’ activity is used. This activity
needs to be used within an Application activity. There is no effect of this activity when executed in RPA or a Robot.
Just like ‘Focus Window’ activity, it takes the Window Title and matching criteria as input.
Print Screen –
This activity is used to take a screen shot of the application in focus
during Process execution. It takes ‘Destination Path’ as an input. The path
and name of the image file as specified in this parameter, will be used to
store the screenshot image. If image with the same name already exists,
the image will be overwritten.
This activity requires focus and should be preceded by the ‘Focus Window’ activity to ensure that the screenshot
of the right application in context is taken.
There are 2 activities available in Image based automation for capturing an image, performing an action on the same
and reading or extracting text data from a text based image.
These activities can be used anywhere within an application or outside an application within a process.
Image Control –
Image control helps capture the image on the screen in focus and looks for the image as part of the
process automation.
User drags and drops the Image control activity on the Process canvas, where required, in the process. Click on the
Capture Image area on the activity and select a rectangular image area from the application screen in focus and an
offset point within or outside the image with reference to the selected image area.
Browsing and attaching an already captured image or re-capturing or deleting an image, is also possible.
To configure an action after finding the image, user double clicks to drill down the Image Control activity and adds the
Interactions using the ADD button.
An Interaction activity supports the actions as listed in the screenshot. Some key actions being:
a. Wait Until Exists – Will look for the image in the screen in focus and wait until a specified duration set in the
‘Timeout’ field and within that check for the image at a frequency set in the ‘Poll Frequency’ field.
Using this action for every image, can avoid usage of delays in between activity to address page loading time. This
interaction returns a Boolean value of TRUE or FALSE on success or failure of finding the image. The Boolean value can
be set to a variable and checked in a conditional statement to perform appropriate action after finding the image.
b. Click and Type – Will perform a ‘Left Click’ interaction where the user can then Type at the clicked location on the
screen. The text to be typed can be set to a default value or can be fetched from a process variable / argument.
c. Type Text – Will allow the user to type a text where ever the cursor is present on the screen. Again, a default value
can be set or the value to type, can be fetched from a process variable / argument.
d. Left Click, Right Click, Left Double Click, Right Double Click, Mouse Over – Will perform the action specified at the
offset point.
e. Horizontal Scroll - The Horizontal scroll action will look for the image towards the ‘Scroll Direction’ which could be Right
or Left side, as specified, and perform a scroll by a specified ‘Scroll Amount’.
f. Vertical Scroll - The vertical scroll action will look for the image towards the ‘Scroll Direction’ which could be Up or
Down, as specified, and perform a scroll by a specified ‘Scroll Amount’.The scroll actions could be very handy and used
to perform scroll so as to bring the application area viewable on screen after performing the scroll.
g. Key Press – Will perform key press action for the key specified in ‘Key’ field. Two modifiers like Control, Shift, Alt etc.,
can be applied before the key press, as specified in fields ‘Modifier One’ and ‘Modifier Two’.
h. Key Down – Can be used to perform press event of a singular key on the key board as specified in the ‘Key’ field.
Note: A ‘Key Up’ action needs to be performed after every ‘Key Down’ action in order to release the key after
the Key Down action.
i. Key Up – This action needs to be performed after the ‘Key Down’ action in order to release the key
specified in the ‘Key’ field.
A combination of ‘Wait Until Exists’ and ‘Horizontal Scroll’ / ‘Vertical Scroll’ in a loop can be used to dynamically look for
an image of interest on the application screen.
Any action selected to be performed on the image will be performed at the selected offset point w.r.t. the image.
Multiple Interactions can be performed on an image control capture. Conditional statements or looping can also be
used as required to perform the desired action.
Text Extractor
Used to extract text from an Image on the application screen.
Drag the Text Extractor activity on the process canvas. Similar to Control Image Activity, an image can be captured,
using capture image button.
b. Reference
In Reference mode , when the user will capture an
image, he/ she selects two rectangular areas.
The first selected region is stored as a template
image which will be searced on screen during
runtime. The second selected region is the area
from where text will be extracted using OCR. For
the second region, only the coordinates are stored
similar to Fixed mode.
The first setting button will open the image
configuration editor, similar to the “Control Image
Activity”.
No image is captured when we are trying to capture the area here, only the coordinates of selected area will be
stored. Hence, the grey area which acts as an image placeholder, will be empty.
Clicking on Setting button, will open the window with the options as displayed below.
a. Template Image:
Displays the captured image from which the text is
to be read. It is similar to the Control Image activity.
b. Configure Engine:
User can configure the OCR engine used for text extraction. Following settings can be configured:
For e.g. If the user is aware that only characters are going to
appear, one can blacklist 0123456789 so that O is not
mistaken as 0.
c. Configure Filters:
On this screen, the user can apply image pre-processing filters and
test out the OCR output correctness. In most of the cases, applying
some pre-processing will improve the accuracy of the text extraction
drastically. In addition to the default captured sample, the user can
add upto two more temporary samples to test the OCR output
correctness.
Commonly used filters found to improve accuracy and provide good result are Scale, Exponential and Sharpen.
Activities are available for recording the automations, fetching or reading values from SAP applications and for
performing automations on an already open SAP application.
SAP Recorder –
This activity is used for recording the steps performed in a SAP thick client application like entering the
transaction code, navigating through the application, setting data in the applications, clicking on different
controls and searching the data.
User adds the Application activity selects a SAP application. He then adds a SAP Recorder activity to the
application activity. User opens the SAP Application and takes it to a state from where the automation steps are
to be performed. User clicks on ‘Start Recording’ button on the SAP recorder activity and performs the actions
on SAP application. On completing the steps, user clicks on ‘Stop Recording’ icon on the activity. User can click
on Re-record icon in case the recording of the steps has to be re-done.
A script is captured as a result of recording which can be viewed and edited if required, clicking on the ‘Edit
Script’ icon on the activity.
Attach Application –
This activity can be used when as a part of the process automation, the SAP application is expected to be already
launched and in specific state.
5.4 Files
Files, consists of the following activities that can be used to work with different files like Excel, PDF etc.
Write to Excel – This tool is used to write values into Microsoft Excel. It can be used within the Excel Loop activity
to update specified variables into an excel sheet. For instance, in the below example, the automation will update the
‘StockValue’ column of the defined excel sheet with the value of ‘CompanyStockPrice’ read in the automation.
Automation
PDF Automation
User can automate data extraction from a PDF using the
PDF Template Creator under Recording tools in Studio.
Reference Configuration
Once the user clicks on PDF Template Creator, a proprietary product pdf tool
launches. Open the pdf, for which the template needs to be created. (Tip: The
higher the zoom in, the better is the data extraction)
Field Description:
Template Configuration: User can choose to create a new template or load the existing template.
Save Template: User can save the created template in the proprietary format.
Export to Studio: User can export to the Studio to create the pdf extractor activity.
Configuration Type: User can choose to configure one or many references or one or many fields (tables) using the 2
options.
Select Reference Operation: Any new reference or existing reference/ field can be accessed by choosing one of the two
options to add new or view existing reference.
Once a new reference is added, search for a particular string and add it’s occurrence number, in the pdf. The same can
be highlighted for usability. Updating a reference is also possible.
Table/Field Configuration
Field configuration can be used to extract table data from
a pdf where there are one or more tables over one or
more pages in the pdf. One can also create a table of
separate rows instead of extracting the entire table data.
For this, edit the template in a notepad and change the
parameter "ExtractPagewise" as true. This can be found
in the end of the template.
64 Public
AE-RPA-Automation Studio User Manual
Selection Area:
Field Description:
Name: User can define a name for the string or tabular field.
Is Tabular Field: User can select this checkbox if the data extract-
ed is tabular.
Output new file per page: If the user prefers output as a new file
per page of pdf data, then this checkbox can be selected.
Area Selection type: User can choose the type of area from fixed
(static) or corners (dynamic). Three corners would be the ideal
way to extract. User can also define the boundary using just one
or 2 corners (rest will be static positions).
Use End of string/Top of string: User can choose to use the string
as part of the table using top of string or start /stop extraction
with the end of string.
Select point for offset: Once a corner location is selected, user can zoom in the actual pdf and choose a point from where the table
can be drawn for that corner. (Tip: For the extractor to extract data, please ensure that table boundaries and columns are defined
in a manner where the string is not cut off as this may affect data extraction.)
Quick overview on how an end to end process works from configuration to robot
Output:
User can export the pdf template and then test run it to check the extracted data. As of now, a csv excel file is created
in the ACE folder. Further processing can be done on this file and then it can be deleted if required.
Implementation Tips:
1. The product team found few special configuration scenarios during the product development.
These are listed below:
There are certain config flags in the template file which are for advanced operations and can be changed only by editing
the template in a text editor. These are:
What appears as a space, may not be a space character in the file, but could be two sequential characters placed at a
distance to give an illusion of space. By default, if there is no space character in the file, the extractor will not output
any spaces. As an enhancement, the AutoAddSpaces flag can be set to true and “Space Width” can be set. This
instructs the extractor to add a space character whenever the distance between two characters exceeds the space
width value in the pdf units. To get a rough estimate of the space width, use the one corner draw area button.
be set. This instructs the extractor to add a space character whenever the distance between two characters exceeds the
“IsNewRowNewField”:
This can be set to true when a table has to be extracted which has just one column and the data flows from top to
2. Where does the template file get stored and how can it be edited when brought to studio?
- On clicking on “Save Template”, the
Do not assign any hardcoded value to the argument as it will otherwise get stored in the process file.
The recommended way is to create a small process with just a PDF Extraction activity and use it as a “re-use
4. Troubleshooting steps for few scenarios have been listed below. These can be of much help to the
One must validate the file path provided for the PDF.
Load the file and template and check if the intended area is correctly highlighted.
5. Quick overview on how an end to end process works from configuration to robot
Launch the PDF Template creator from Automation Studio.
Select a PDF file for which the extraction template needs to be created.
Configure the search reference strings and add search strings and index.
Add the new field. Go to view existing fields and then click on highlight selected field.
Export to Studio. A new process with a PDF activity will be created. An argument will be created for
every configured field.
6. Boundary conditions:
a. PDF extraction should be used for searchable (text based) PDF files. Note that it does not support scanned
documents.
b. Extraction algorithm works on how the text is indexed in the file. However, in few PDF files, what appears
to be a part of one string, may not be it’s index order.
Shipping Methods:
FedEx 706797210999
FedEx 706797211002
PDF Extraction
Once a user defines a PDF template, then the Studio automatically opens the PDF Extractor for the configured
template to perform PDF extraction.
In the above example, the PDF Extractor has opened the configured PDF template. Observe the arguments section
which displays the variable names and the data types configured.
‘WriteLine’ tool is used to extract desired information from this PDF. VB script is written to fetch the Name and Fares
from the PDF. Once can then setup and test run the environment.
Once the test run is complete, Studio fetches the desired information from the PDF document.
In the above screenshot, the output section is updated with the Assetts table details.
Finally, the user can save the PDF template in a .dtmp format.
Previously saved PDF templates may be loaded within the Studio and reused. These can also be edited, updated and
overwritten.
Apart from the Delay tool, which can be dragged and dropped in a process for usage, pre and post activity delays can
also be set in most of the activities in the Properties panel of the activity in Studio tab.
‘Wait After’ can be used to set the Post activity delay while ‘Wait Before’ can be used to set the delay before the
execution of the activity. Delays in these properties, can also be set using variables.
For a few activities like the Flow Control or some basic activities,
delays cannot be set on an activity. In this case, Delay tool can
be used.
Assign -This tool is used to assign values to a variable, based on a workflow automation.
Write to Log File - Additional log statements can be added to the application log
file using this activity.
AssistEdge studio enables the user to automate various file operations. Following operations
are currently available for automation. These are discussed further in detail.
User can automate the creation of a new file with a desired extension with the help of Create file operation type under
the file operations activity.
Field Description:
File Path: The input to this field is the file path along with the file name and Vxtension.
For example:“D:\Data\newfile.txt”.
Override File: This checkbox needs to be selected in case the user wants to override the existing file.
Field Description:
Source Path: This is a mandatory field and defines the location of the file (s) to be
copied. The input to this field can either be the file path or the file path along with the
file name and extension.
If a specific file from one location has to be copied to another location, the input will be
the file path along with file name and file extension. For example: “D:\Data\newfile.txt”.
If one or more files have to be copied from one location to another, the input to this
field will be the file path. For example: “D:\Data”
Destination Path: This is a mandatory field and defines the location where the selected file (s) have to copied. The
input to this field is the file path along with file name and file extension. For example: “D:\Updated Data”
File Extension: This is a non-mandatory field. The input to this field can be the file name along with file extension.
Following three combinations can be used:
a. “*.*” can be used when all the files from source location have to be copied.
b. “*.file extension” can be used when all the files of specific extension has to be copied.
For example: “*.xlsx” can be used for copying all the excel files from the source location.
c. “File name.File extension” can be used to copy a file with a specific name and extension.
For example: “Results.xlsx”.
Appended Parameters: This is a non-mandatory field. The input to this field can be the text that has to be appended
to the name of a file(s) that is getting copied.
Copy from Sub Directories?: This is a non-mandatory field. By default, the input to this field is considered as True,
which means while copying the data from a particular folder/directory, the process would also look into all the sub
folders/sub directories for the required files. If the input to this field is False, the process would ignore all the sub
folders/sub directories and only consider the files present in the specified source location.
User can automate moving of a file(s) from one location to another with the
help of Move file operation type under file operations activity.
Field Description:
Source Path: This is a mandatory field and defines the location of the file(s)
that has to be moved. The input to this field is the either the file path or the file
path along with file name and file extension.
If a specific file from one location has to be moved to another location, the
input is the file path along with file name and file extension.
For example: “D:\Data\newfile.txt”.
If one or more files have to be moved from one location to another, the input to
this field is just the file path. For example: “D:\Data”
Destination Path: This is a mandatory field and defines the location where the selected file(s) have to be moved.
The input to this field is the file path along with file name and file extension. For example: “D:\Updated Data”
File Extension: This is a non-mandatory field. The input to this field can be the file name along with file extension.
a. “*.*” can be used when all the files from source location have to be moved.
b. “*.file extension” can be used when all the files of specific extension has to be moved. For example:
“*.xlsx” can be used for moving all the excel files from the source location.
c. “File name.File extension” can be used to move a file with a specific name and extension. For example:
“Results.xlsx”.
Appended Parameters: This is a non-mandatory field. The input to this field is the text that has to be appended to
the name of a file(s) that is getting moved.
Move from Sub Directories?: This is a non-mandatory field. By default, the input to this field is considered as True,
which means while moving the data from a particular folder/directory, the process would also look into all the sub
folders/sub directories for the required files. If the input to this field is False, the process would ignore all the sub
folders/sub directories and only consider the files present in the specified source location.
Field Description:
Source location: This field defines the location of the file or
the folder that has to be renamed.
File new name: The input to this field is the new name of
the file or the folder to be renamed.
User can automate the opening of a file at a particular location with the help of Open file operation type under the file
operations activity.
Field Description:
File Path: The input to this field is the file path along with the file name and extension. For example:
“D:\Data\newfile.txt”.
File Type: The input to this field can be “Excel”, “Word” or “Others”. If the input is either “Excel” or “Word”, then
an additional option would be enabled i.e. to open a password protected file. Currently, only excel and word type
files are supported from opening password protected files perspective. The input can be “Others” for any other
type of file.
Password: The input to this field is the password for opening the word or excel of file in case the file is password
protected.
5.7.6 Save As
User can automate the saving of an already open file with a specific name and file extension at a particular location
with the help of Save As file operation type under the file operations activity.
Field Description:
File Type: The input to this field is either “Excel” or “Word”. This field indicates the type of file which is being
saved as, with a new name and file extension.
Open Type: The input to this field is either “existing” or “new”. The “existing” value indicates that the file is
already saved at a certain location.
Source location: This field is applicable to the files with open type as “existing”. The input to this field is the
location of the file along with it’s existing name and extension.
File Name: This field is applicable to the files with open type as “new”. The input to this field is the default file
name and extension.
Destination Path: The input to this field is the location at which the file has to be saved along with a specific
name and file extension. The new name of the file can’t be the same as the earlier name.
User can automate the closing of an already opened file with the
help of Close file operation type under the file operations activity.
Field Description:
File Type: The input to this field is either “Excel” or “Word”. This field indicates the type of file which has to be
closed. Currently, automation for closing a file is possible only for “Excel” and “Word” file type.
File Path: The input to this field has to be the file path along with file name and extension.
For example: “D:\Data\newfile.txt”.
User can automate the deletion of a file with the help of Delete
file operation type under the file operations activity.
Field Description:
File Path: The input to this field is the file path of the file that has to be deleted along with file name and
extension. For example: “D:\Data\newfile.txt”.
Force Delete?: This checkbox needs to be selected in case a user wants the process to force delete a file if it’s in
an open state.
Field Description:
Source Path: This field defines the path of the file (s) that has to zipped. The input to this field is either the file path or
the file path along with the file name and extension.
In case, a specific file is zipped, the input is the file path along with the file name and extension. For example:
“D:\Data\newfile.txt”.
In case, all the files have to be zipped from a particular folder, the input to this field is just the file path. For example:
“D:\Data”
Destination Path: This field defines the path where the selected file (s) have to be zipped. The input to this field is the
file path along with the file name and extension. For example: “D:\Updated Data”.
File Name: The input to this field is the name of the zipped folder that is to be created.
Password: This option can be checked, if the zipped file has to be password protected. The password has to
be provided through an argument.
Field Description:
Source Path: This field defines the path of the zipped file that needs to be unzipped. The input to this field is the
file path along with file name and extension. For example: “D:\Data\DLLComponents.zip”.
Destination Path: This field defines the path where the selected file has to be unzipped. The input to this field
has to be the file path where the unzipped files would be placed. For example: “D:\Updated Data”.
Password: This option can be checked, if the zipped files are password protected. The password has to be
provided through an argument.
User can automate the searching of a file(s) with the help of file
search activity.
Field Description:
Search Path: This field defines the path in which the file (s) has
to be searched. The input to this field is just the file path where
search activity has to be performed. For example: “D:\Data”.
If all the files from a particular folder need to be captured, user can
provide the pattern as “*.*”.
Output Excel File Path: The input to this field is the path and file name of the excel file where the search results would
be captured.
File Size in KB: The input to this field is the upper limit of the file size in KB. While searching the files, the process
would only consider the files lesser than the size specified in this field.
Recursive Search: The default input to this field is “false”, which means that the process would not search in the sub
directories/sub folders of the source path. The value can be set to “true” if the user would like the process to search
in the sub directories/sub folders of the source path as well.
Creation Start Date and Creation End Date: This field defines the range for creation dates for the files to be searched.
For example, if the input to these fields is 06/21/2017 and 08/21/2017 respectively, then the process would look for the
files created between 21st June 2017 and 21st August 2017.
Modified From Date and Modified To Date: This field defines the range for modified dates for the files to be searched.
For example, if the input to these fields is 11/15/2017 and 12/15/2017 respectively, then the process would look for the
files modified between 15th of November 2017 and 15th of December 2017.
Field Description:
File Type: User can choose the type of the file to be merged from pdf (up to 1.6), excel or word.
File Paths: User can add the paths of different file types which need to be merged. The path needs to have the
complete file name with the extension type. These will have to be fed as arguements.
Output file path: User can define the file path and name of the new merged file.
Override File: This checkbox can be selected in case the user wants the existing file to be overridden while a
new file with the same name is being created.
Field Description:
File Type: User can choose the type of the file to be split from pdf (up to 1.6), excel or word.
Input File Path: User can add the paths of the file which needs to be splitted. The path needs to have the complete
file name with the extension type. These will have to be fed as arguments.
Output file path: User can define the file path and name of the newly merged file.
Page Range or SheetNames: User can provide the page numbers for word and pdf files and sheet names for the
excel files. The provided pages or sheets will be copied and new files with those pages, sheets will be created.
Override File: This checkbox can be selected in case the user wants the existing file to be overridden while a new file
with the same name is being created.
Field Description:
Operation Type: User can choose the type of operation as push for upload and pull for download.
Source File Path: User can add the paths of the file which needs to be uploaded or downloaded. The path needs to
have the complete file name with the extension type. These will have to be fed as arguments.
Destination folder path: User can define the destination folder where the file needs to be uploaded or saved.
Output mapping: User can use output mapping to map the output to another variable of type Boolean or String.
5.8 E-Mail
b. From E-Mail ID: The email id from which the email will be
sent.
c. To, CC and BCC E-Mail ID: The email ids’ to which the email
needs to be sent need to be set in these fields. At least one of
these fields is mandatory and needs to be populated.
f. Content Type: The type of content of the email body could either be
Html or PlainText.
g. E-Mail Body Content: The email body content needs to be set in accor-
dance with the Content Type selected above. The content could be of
dynamic nature and this can be achieved by using variables and append-
ing to or in between the static content, as required.
h. Output Mapping: The result of the execution of the Send email activity,
can be captured in a variable set in this field.
This activity could be very handy where an email needs to be sent without the need of the Outlook email
client. It can be effectively used in exceptional scenarios to send an email.
This activity can be used to convert E-mail Trigger ID received from an E-mail Trigger to an entry ID, which is
understood by the Outlook Application. This activity needs outlook as a pre-requisite on the machine, where the
conversion needs to happen.
Trigger ID: This is the unique ID of an e-mail on an SMTP server which has triggered the load creation.
Profile Name: This is the name of the profile in which outlook is running. User can give “outlook” in case, the default
profile has to be utilized.
User E-mail: This is the E-mail ID on which E-mail has been received.
Result Mapping:
1. Output Mapping: This is the converted Entry ID which is the format that can be understood by outlook.
1. Send E-Mail
2. Search E-Mail
3. Read E-Mail
4. Reply E-Mail
5. Forward E-Mail
6. Delete E-Mail
7. Follow Up E-Mail
8. Move E-Mail
One can keep multiple recipients in To, CC and Bcc fields separat-
ed by a semi-colon (;).
Output:
1. An e-mail is sent to the intended users.
2. A Variable with the output value as true if sending the mail was
successful and the file was uploaded and false if the operation
failed due to any errors.
1. Profile Name:
the profile is “Outlook”.
a.
given profile name will be used.
b.
opened profile else if profile name is provided, then current outlook will be closed and the given profile will be
used to open the outlook again.
2. Sender E-mail ID: One of the configured E-mail IDs’ from which the e-mail has to be sent.
3. To MailId (Mandatory): The list of email ids’ to whom the email needs to be sent. The email ids’ should be
separated with a semi-colon (;) and can contain internal as well as external mail ids’.
4. CC MailId: The list of email ids’ to be kept in CC for this Mail Item. The email ids’ should be separated with a semi-co
lon (;) and can contain internal as well as external mail ids’.
5. BCC MailId: The list of email ids’ to be kept in BCC for this Mail Item. The email ids’ should be semi-colon (;) separat
ed and can contain internal as well as external mail ids.
6. Priority: The Importance of the mail can be set to High, Normal or Low. By default, it is set to Normal.
7. Subject Line: The subject for the mail item in plain text.
8. Attachment File Path: The list of files to be attached with the email separated by semi-colon (;). Apart from the file
size, upper limit as per the configuration file and other outlook based restrictions like file size and type apply. The
full path of all the files to be attached needs to be mentioned. Ensure that these are available and accessible.
9. Mail Body Content: The body of the email. It can be in plain text or html format. Images can be embedded in the
HTML only if they are present online and are available and accessible to the intended recipient. Any automatic
signature will be automatically added if it is configured in outlook.
Result Mapping:
1. Output Mapping: Map it to any Out Variable if needed. Both Boolean and String types are supported. Returns true if
the email was sent successfully or false if it failed due to errors.
If outlook is opened manually or by any other means in the Administrator mode, then this search functionality will
not work.
One can mention any of the filter criteria’s. All the selected criteria will be applied in a logical “AND” manner.
One can search any folder present at any level in outlook apart from root level as long as the level is a folder which
can contain mail items. If a parent folder is selected, then all it’s child folders will be searched.
In case of duplicate folder names, the first occurring folder will be searched. Hence it is advisable, not to have
duplicate folders in outlook.
Output:
1. An output excel file containing the list of searched mails (if any) is found, with the details of the mails along with it’s
“email entry id”
2. A Variable with output value as true, if the mail was successfully searched and yielded at least one result, or false, if
1. Profile Name:
a.
else the given profile name is used.
b.
opened profile else if profile name is provided then current outlook will be closed and the given profile will be used
to open the outlook again.
2. Root Folder Name (Mandatory): The name of the root folder in the outlook. E.g. [email protected] or
Archives in which one wants to search.
3. E-Mail Search Folder (Mandatory): The folder in which the target mail(s) is/are present. This folder has to be inside
the selected Root Folder. E.g. Inbox or Inbox\CustomFolder. All inner sub folders will be searched.
4. Keyword:
5. Last N Days: Fetches the mails received in the last ‘N’ number of days.
6. E-Mail Read Status: Status of the email in outlook, can be - read, unread or All.
7.
8. Received Start Date and Received End Date: Defines the range in which the mail was received. Both fields must be
selected together. The format of the date is mm/dd/yyyy.
9. Last N E-Mails: Fetches the last n number of emails. This can only be used with other filter items.
10. To E-MailId: The complete mail id of the receiver who has received the mail (s).
11. From E-MailId: The complete mail id of the sender who has sent the mail (s).
13. Subject Line: The pattern of words which are present in subject field of the target mail (s). This is a ‘Like’ type
search.
14. Attachment Name: The name of the attachment attached to the mail.
15. Attachment Content: The Content inside the attachment attached to the mail.
16. Search Result Output Path (Mandatory): The Output file path in which search results will be written. The file must
be of the type .xls or .xlsx. If the file is not present at the target location, it will be created.
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the mail was successfully searched and
yielded at least one result, or false; if no mail was found matching the search criteria or if the operation failed due
to any errors.
The Activity can save the message as a folder containing subject, mail body and
attachments in separate files or as a “.msg” format.
In case of folder mode, it will create the folder with name as it’s email entry id.
In case of .msg format, it saves the mail with Subject line as it’s name. In case the
file already exists at the target location with the same name, it will append the
received date time stamp to the name of the file.
Output:
1.
downloaded in the folder or a file in .msg format containing the mail item.
2.
unsuccess ful.
1. Profile Name:
a.
the given profile name is used.
b.
profile else if the profile name is provided then current outlook will be closed and the given profile will be used to
open the outlook again.
4. Mark Read: Is the mail being read, to be marked as read in outlook as well.
Result Mapping:
1. Output Mapping:
This activity replies to an email based on it’s “email entry id” field,
present in the outlook for the given profile.
Output:
1. Mail is replied (sent) to the intended recipients.
a.
else given profile name is used.
b.
opened profile else if profile name is provided, then current outlook will be closed and the given profile will be used
to open the outlook again.
2. Mail Entry Id (Mandatory): The unique mail entry id for selecting the mail to be replied.
3. CC MailId: The list of emails ids’ to be kept in CC for this Mail Item. The ids’ should be separated by a semi-colon (;)
and can contain internal as well as external mail ids.
4. BCC MailId: The list of emails ids’ to be kept in BCC for this Mail Item. The ids’ should be semi-colon (;) separated
and can contain internal as well as external mail ids’.
5. Priority: The Importance of the mail can be set to High Normal or Low. By default, it is set to Normal.
6. Attachment File Path: The list of files to be attached with the mail separated by a semi-colon (;). Apart from the
upper limit of the file size as per the configuration file, other outlook based restrictions like file size and type apply.
One must mention the full path of all the files to be attached. These must be available and accessible.
7. Mail Body: The body of the mail can be plain text or html. Images can be embedded in the HTML only if these are
present online and are available and accessible to the intended recipient. Any automatic signature will be automati
cally added if it is configured in outlook.
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the reply operation was successful and false
otherwise.
Output:
1. Mail is forwarded to the intended recipients.
2. A Variable with output value as true, if activity was successful and false otherwise.
a.
given profile name is used.
b.
opened profile else if profile name is provided then current outlook will be closed and the given profile will be
used to open the outlook again.
2. Mail Entry Id (Mandatory): The unique mail entry id for selecting the mail to be forwarded.
3. Forward To MailId (Mandatory): The list of email id’s to which the mail needs to be sent. The ids’ should be semi-co
lon (;) separated and can contain internal as well as external mail ids’.
4. CC MailId: The list of emails ids’ to be kept in CC for this Mail Item. The ids’ should be semi-colon (;) separated and
can contain internal as well as external mail ids’.
5. BCC MailId: The list of emails id’s to be kept in BCC for this Mail Item. The ids’ should be semi-colon (;) separated and
can contain internal as well as external mail ids.
6 . Priority: The Importance of the mail can be set to High Normal or Low. By default, it is set to Normal.
7. Attachment File Path: The list of files to be attached with the mail separated by semi-colon (;). Apart from the upper
limit of the file size as per the configuration file, other outlook based restrictions like file size and type, apply. One
must mention the full path of all the files to be attached. These must be available and accessible.
8. Mail Body: The body of th e mail can be plain text or html. Images can be embedded in the HTML only if they are
present online and are available and accessible to the intended recipient. Any automatic signature will be automati
cally added if it is configured in outlook.
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the forward operation was successful and
false otherwise.
Output:
2. A Variable with output value as true, if activity was successful and false otherwise.
1. Profile Name:
performed on the opened profile else if profile name is provided then current outlook will be closed and the given
profile will be used to open the outlook again.
a.
given profile name is used.
b.
opened profile else if profile name is provided then current outlook will be closed and the given profile will be used
to open the outlook again.
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the delete operation was successful and
false otherwise.
Output:
1. Selected Mail is moved
2. A Variable with output value as true, if activity was successful and false otherwise.
1. Profile Name:
performed on the opened profile else if profile name is provided then current outlook will be closed and the given
profile will be used to open the outlook again.
a.
given profile name is used.
b.
opened profile else if profile name is provided then current outlook will be closed and the given profile will be used
to open the outlook again.
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the move operation was successful and
false otherwise.
Output:
1. Selected Mail is Flagged.
2. A Variable with output value as true, if activity was successful and false otherwise.
a.
given profile name is used.
b.
opened profile else if profile name is provided then current outlook will be closed and the given profile will be used
to open the outlook again.
3. Follow up Flag: Reminder Flag - Today , Tomorrow , This Week , Next Week , No Date , Mark as .
Result Mapping:
1. Output Mapping: Maps to an output variable whose value will be true, if the Follow up operation was successful
and false otherwise.
Includes various activities which can be used to automate general operations like create, upload, download of file etc.
For accessing SharePoint, the system’s current logged-in user credentials will be used.
First Input field is Operation Type. It defines the operation that will be done. Currently the below operations are
supported.
SharePoint does not allow .exe, .cs, .log etc. type of files.
The operation can create folders if they are not already present
inside a predefined base folder.
Output
2. SharePoint Folder Path (Mandatory): The Path of the folder in SharePoint to upload the file. One can give a path
which does not exist, the activity will try to create the folders in the mentioned path, provided it has proper rights
to do so. The depth of folders which can be created recursively, is limited by configuration settings.
3. Upload File Path (Mandatory): The file to be uploaded and the Location of the file (s).
4. File Names: File names should be separated by a semicolon (;). File names can be absolute or in a pattern.
E.g.: Demo.pdf;*.docx
5. Comments: The Comments which you want to add when uploading the file.
6. Force To Overwrite? : Incase the file already exists at the given location, shall the activity overwrite it? If yes, it will first
check-out the file and then overwrite, hence creating version of the file. If no, the file will not be uploaded.
Result Mapping:
1. Output Mapping: Map it to any Out Variable of the type Boolean or String. Returns true if the upload was successful,
false if it failed due to any errors.
Output:
1. A Variable with output value as true if the download activity was successful and the file was downloaded,
false if the operation failed due to any errors.
2. SharePoint Folder Path (Mandatory): The Path of the file to be downloaded from SharePoint.
3. SharePoint File Name (Mandatory): Filenames should be separated by a semicolon (;). Filenames can be absolute or
a pattern. E.g.: Demo.pdf;*.docx
4. Download File Path (Mandatory): The folder location in local or shared drive to save the downloaded file.
Force To Overwrite? : Incase the file already exists at the given location, shall the activity overwrite it? If yes, it will
be overwritten else, the file will be downloaded by appending an integer at the end of the file.
5. Force To Overwrite? : Incase the file already exists at the given location, shall the activity overwrite it? If yes, it will
be overwritten else, the file will be downloaded by appending an integer at the end of the file.
Result Mapping:
1. Output Mapping: Map it to any Out Variable of type Boolean or String. Returns true if the upload was successful,
false if it failed due to any errors.
Output:
1. A Variable with output value as true if the delete activity was successful and the file was deleted, false if the
operation failed due to any errors.
1. SharePoint Base URL (Mandatory): The base site URL, till the site name where the starting folder is located. Do not
add the pagename.aspx. In case of a wrong URL, the Activity will try to find the correct URL and Log that URL in the
logs file, however the accuracy is not guaranteed. The process will fail with a wrong URL.
2. SharePoint Folder Path (Mandatory): The Path of the file to be deleted in SharePoint.
3. SharePoint File Name (Mandatory): Filenames should be separated by a semicolon (;). Filenames can be absolute or
a pattern. E.g.: Demo.pdf;*.docx
Result Mapping:
Output Mapping: Map it to any Out Variable of the type Boolean or String. Returns true if the upload was
successful, false if it failed due to any errors.
Output:
1. A Variable with output value as true if the copy activity was successful and the file was copied, false if the operation
failed due to any errors.
1. SharePoint Base URL (Mandatory): The base site URL till the site name where the starting folder is located. Do not
add the pagename.aspx. In case of a wrong URL, the Activity will try to find the correct URL and Log that URL in the
logs file, however the accuracy is not guaranteed. The process will fail with a wrong URL.
2. SharePoint Source Folder Path (Mandatory): The Source Path of the file to be copied.
4. SharePoint Destination Folder Path (Mandatory): The Destination Path of the folder in SharePoint, where files will
be copied.
5. SharePoint File Name (Mandatory): Filenames should be separated by a semicolon (;). Filenames can be absolute or
a pattern. E.g.: Demo.pdf;*.docx
Result Mapping:
Output Mapping: Map it to an Out Variable of the type Boolean or String. Returns true if the upload was success-
ful, false if it failed due to any errors.
Output:
1. SharePoint Base URL (Mandatory): The base site URL till the site
name where the starting folder is located. Do not add the
pagename.aspx. In case of a wrong URL, the Activity will try to
find the correct URL and Log that URL in the logs file, however
the accuracy is not guaranteed. The process will fail with a wrong
URL.
2. SharePoint Source Folder Path (Mandatory): The Source Path of the folder in SharePoint, in which the file to be
moved is present.
3. SharePoint Destination Folder Path (Mandatory): The Destination Path of the folder in SharePoint, in which the files
have to be moved.
4. SharePoint File Name (Mandatory): Filenames should be separated by a semicolon (;). Filenames can be absolute or
a pattern. E.g.: Demo.pdf;*.docx
Result Mapping:
Output Mapping: Map it to an Out Variable of the type Boolean and String. Returns true if the upload was successful,
false if it failed due to any errors.
This activity needs to be introduced after the fields in an application, have been configured. Once the fields are
configured, the popup handler needs to be placed in parallel (using the Parallel flow control) with the action that
triggers the popup window.
For example, let us consider a website where once a loan amount of more than 1000 is entered and the button
“Approve” is clicked, then a confirmation popup comes up, which needs to be acted upon.
In order to handle the above popup, one of the elements, either “OK” or “Cancel”, needs to be selected and then
clicked upon. In order to do that, the elements for the text box “Loan Amount” and the button “Approve” needs to be
configured, as given below.
Next, the configured sub-activity of clicking on the “Approve” button needs to be executed in parallel with the popup
handler activity as given below.
Clicking on the “Settings” option will open a configuration UI in which the name of the popup window needs to be
entered. Since the popup window in the current example starts with the word “Message”, the same is provided in the
below image.
Selecting the “Basic Field Configuration” will bring the undocked webpage into focus.
The field to be configured on the webpage can be selected by pressing the Ctrl key on the keyboard and hovering the
mouse on the field to be selected.
After selecting the field, click on the Select the action to be taken and enter
field while pressing Ctrl key, to bring the display name for the action.
up the screen to configure the action
to be taken on the selected field.
Once the control is taken back to the main process window, the webpage gets docked once again. Now, the popup
is configured to be handled and the main process can be run. Whenever, the process triggers the configured popup;
the popup handler which is in parallel with the action that triggers the popup will handle it according to the
configured action.
Once the control is taken back to the main process window, the
webpage gets docked once again. Now, the popup is configured
to be handled and the main process can be run. Whenever, the
process triggers the configured popup, the popup handler which
is in parallel to the action that triggers the popup, will handle it
according to the configured action.
This option allows selection of any of the below keys (to be called Function Keys hereafter) that are available on a
standard QWERTY keyboard.
c. Enter
d. Space
e. Backspace
f. Tab
g. Capslock
h. Escape
i. Insert
j. Print Screen
k. Delete
l. Page traversal keys (Page up, Page Down, Arrow Keys, Home, End)
The “Keystroke Count” option is hidden by default and gets highlighted only when one of the Function Keys is selected.
This works only with one Function Key and gets hidden when multiple Function Keys are selected or when an Input Key
option is used.
Also, this option of “Keystroke Count” is currently not supported in the Internet Explorer browser.
When a keystroke needs to be automated on a specific web element and not on the overall application, then the “Key
Events” activity cannot be used. To achieve the “Send Keys”, option from the action selector in the property grid needs
to be selected.
This option can be chosen while configuring the fields in a web application. The below image displays the location of this
option:
Clicking on the configure button, will pop up the option to send the keys, as displayed below:
This field in this window is similar to the field in the “Key Events” activity discussed above. Unlike the “Key Events”
activity, this option works in a non-focused mode also.
AssistEdge RPA studio enables the user to automate the Java based Oracle Forms in a codeless manner through out of
the box adapters. Let’s now look at the available configurations.
User can automate the opening of an Oracle form through Oracle EBS web navigator. Following are the step that
user has to follow:
Add an application specific to the Oracle form in the Admin>>Applications section of AssistEdge design studio. URL
of a specific form can be extracted from the properties of the form from the web navigator.
The saved application can be used as part of the process. The specific form would be launched while
5.12.2 Application Host - Setting up the Oracle EBS window for automation
User can use the “Application Host” activity in the Process Components section to set up the form for automation. The
Application Host activity has to be inside the “Application” Activity.
Attach Behavior would be set to “Default” initially. User can change that to a different option such as “Equals”,
“Contains”, “Starts with”, or “Ends with” for improved accuracy. For example, in the form below, the window
name is Oracle Applications – AUTOSC. So, as an example, user can select Attach behavior as “Starts with” and
window title as “Oracle”.
The “Application Control” activity can be used to automate the actions on Oracle EBS forms. Following are few
key points on using this activity:
After clicking on Field configuration button, point the cursor to the component to be automated. The component
would be highlighted in blue while it is being pointed at. For example, Password field in below form is being
pointed at.
The user can now select one of the available actions from the drop down.
Once the action button is selected, user can fill in rest of the fields which would appear as per the selected action.
Once the component ID is captured, select the action as “Select Navigator Item by Index”.
User can automate the minimizing, maximizing and closing of an Oracle EBS form by following below mentioned steps:
Point the mouse to the window on which the action has to be taken to extract its component ID.
The execution of the above steps would result in closing the window.
User can automate the restoring of a minimized Oracle EBS form by following below mentioned steps:
Point the mouse to the window on which the action has to be taken to extract its component ID.
Point the mouse to the component on which the action has to be taken to extract its component ID.
The execution of the above steps would result in setting the text in the corresponding text box.
User can automate the reading of text in an Oracle EBS form by following below mentioned steps
Add an “Application Control” Activity to the flow.
Point the mouse to the component on which the action has to be taken to extract its
component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in reading of text from corresponding field.
User can automate the selecting a value from choice-box/dropdown in an Oracle EBS form by following
below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
The execution of the above steps would result in selecting a value from corresponding choice-box/dropdown.
display name.
The execution of the above steps would result in reading the text or the index of the corresponding checkbox value.
User can automate the activating of an Oracle EBS form by following below mentioned steps:
Point the mouse to the window on which the action has to be taken to extract its component ID.
The execution of the above steps would result in activating of an oracle form/window. This capability is useful in cases
where an action has to be taken on a form which is not in focus currently.
5.12.12 Click
User can automate the clicking of a component such as buttons in an Oracle EBS form by following
below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
The execution of the above steps would result in clicking of the corresponding component.
User can automate the selecting a toolbar item by value in an Oracle EBS form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken and an appropriate display name. In the value field, exact text on tooltip has to be
provided as input.
The execution of the above steps would result in clicking of corresponding toolbar item.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken and an appropriate display name. In the value field, the index of the relevant item
has to be provided as input. For example, if user wants to click Find… icon, then user has to provide the input as 1.
The execution of the above steps would result in clicking of corresponding toolbar item.
User can automate the switching of tabs in an Oracle EBS form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
User can automate the reading the name of selected tab in an Oracle EBS form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in reading the name of the corresponding tab.
User can automate the setting/checking a check-box in an Oracle EBS form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken and an appropriate display name. Provide relevant value in the “IsSelected” field.
The execution of the above steps would result in setting/checking the corresponding check-box.
User can automate the reading the status of a check-box in an Oracle EBS form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in getting the status of the corresponding check-box.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in getting the text part of the corresponding check-box.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, an appropriate display name. Menu and Sub Menu values have to be provided as
input. Menu field would have Main Menu value as input. Sub-Menu would have values of multiple sub menu levels
separated by forward slash. For example for View>>Query By Example>>Enter, the input would be Menu: View,
Sub-Menu: Query By Example/Enter .
The execution of the above steps would result in clicking of corresponding Menu options.
Point the mouse to any one of the radio buttons in the radio button set on which the action has to be taken to
extract its component ID.
The execution of the above steps would result in setting of the corresponding radio button in the radio button set.
User can automate the reading the text of a selected radio button in the radio button set in an Oracle EBS form by
following below mentioned steps:
Point the mouse to any one of the radio buttons in the radio button set on which the action has to be
taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in getting the text of a selected radio button i
the radio button set.
a. Is Exists
b. Is Enabled
c. Is Focused
d. Is Visible
Point the mouse to the window on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in getting the current state of the extracted component. For
Eg, If user selects Is Visible as action, then response would be True if the component is visible on the form
otherwise it will be False.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, variable name, variable type and an appropriate display name.
The execution of the above steps would result in reading of status bar message.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken and an appropriate display name. Provide index of item to
be selected as input to Item index field. For example, index of item “Employee” is 2.
The execution of the above steps would result in selecting of corresponding item in list-view.
A user can automate different actions on a scroll in an Oracle EBS form. These actions are:
a. Get Scroll Bar Value – gets the current position of the scroll bar in the table
b. Set Scroll Bar Value – sets the position of the scroll bar at the desired position.
c. Increment Scroll Bar – increment the scroll bar by value x which can be provided as input
d. Decrement Scroll Bar– decrement the scroll bar by x value which can be provided as input
c. Point the mouse to the component on which the action has to be taken to extract its component ID.
User can automate the selecting a grid row in an Oracle form by following below mentioned steps:
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, row number and an appropriate display name.
The execution of the above steps would result in clicking of the corresponding row in the grid.
Point the mouse to the component on which the action has to be taken to extract its component ID.
Select the relevant action to be taken, row number, column number, input value and an appropriate display name.
The execution of the above steps would result in getting or setting of data of the corresponding cell.
a. Get Row Count – get the count of total number of rows in the grid
b. Get Visible Row Count – get the count of visible rows in the grid
c. Get Column Count – get the count of total number of columns in the grid
d. Get Visible Column Count – get the count of visible columns in the grid
Point the mouse to the component on which the action has to be taken to extract its component ID.
5.13 Peoplesoft
It is now possible to automate tasks on Peoplesoft 9.2 on its FluidUI.
Automation on Peoplesoft can be treated in the same way as any web page.
A web application needs an activity to be created on Assistedge RPA with the Peoplesoft URL with a preferred browser
and used as a regular web application.
Launch and signing in to Siebel application can be done using the existing Studio’s SignIn Process functionality with
Siebel HI web application.
5.14.1 Navigation
The Navigation component helps user to navigate to any screen tabs, link bars, group of views, and group
of detail views (please refer to the following image for terminologies).
The Navigation requires the View Name as an input to reach to a particular view / tab. There are two
ways a user can put the view name in the below box:
1. Use Get View Name utility to get the corresponding Siebel view name.
The Get View Name utility helps in consuming the view name automatically. The user needs to go to the
desired view in the docked Siebel application in Studio.
Then, click on the Get View Name button as shown below. The view name will automatically get captured.
The user can put the view name manually if Get View Name is not able to capture the desired view name successfully
and get the below error:
In such cases, the view name to be put manually. The view name can be extracted by following below steps:
d. Copy the View, or Applet, or Business Component information available there. Please refer to
the below image for details.
Then this view name can be copied as above, and put in the Navigation component.
The Siebel Operations component helps user to automate clicking on buttons and most frequent operations in the
desired applet of any tab.
So, the user needs to move to a particular tab / link-bar / view using Siebel Navigation component, then use the
Siebel Operations component to select the desired applet in that tab and do further operations.
1. Use Get Applet Name utility to get the corresponding Siebel view name.
The Get Applet Name utility helps in consuming the applet name automatically. The user needs to go to the
desired applet in the chosen view of docked Siebel application in Studio.
Click near the desired applet. Then go back to design tab, and click on the Get Applet Name utility as shown below. The
applet name will automatically get captured.
The user can put the applet name manually if Get Applet Name is not able to capture the name successfully of
the desired applet.
The applet name can be extracted by following below steps:
a. Reach at the desired applet in Siebel.
j. MoveNextRow: To move (select) to the next record in the set of records filtered in grid.
Expand_Tree: To perform the tree expansion activity. Once the tree is expanded, user can use Get Field Value or
Set Field Value components to read and write the value of columns available there.
5.14.3 Drilldown
The Drilldown component helps user to automate clicking on a link of a particular variable in selected grid
of any tab.
So, the user needs to move to a particular tab / link-bar / view using Siebel Navigation component, then use
the Drilldown component to select the desired applet in that tab, and select the appropriate field name
which value (link) needs to be clicked.
This utility will perform the click activity only on the top row of the grid. Hence, user needs to use proper
filtering operation to narrow down the resulting grid to one row, and then use the Drilldown utility to click on
appropriate field.
There are three inputs required for Drilldown component: View Name, Applet Name, and Field Name. Field Name is the
variable on which drilldown activity (clicking on links in grid) needs to be performed.
The View Name, and the Applet Name can be provided as discussed in Navigation, and Siebel Operations sections.
The user can get the Field Name by clicking on Get Field Name utility as shown below.
Clicking on Get Field Name utility will show all the available fields in that grid. The user needs to select the desired
Field Display Name (where the click on link is required), and click on CONFIRM button.
This Drilldown component can be combined with other Siebel components like Navigation etc. to configure end
to end business process flows.
The Set Field Value component helps user to automate writing operations into desired field of the selected applet
(grids or web-dialog).
So, the user needs to move to a particular tab / link-bar / view using Siebel Navigation component, then use the
Set Field Value component to select the applet, the required field name (which needs to be updated), and the desired
field value.
The Applet Name can be provided as mentioned in Siebel Operations component. The Field Name can be provided as
mentioned in Drilldown component. Around 90% of the field names can correctly be obtained with the help of Get Field
Name utility as mentioned in Drilldown component. For the other, following error might be displayed:
For getting the field names of such parameters, please follow the below steps:
4. Put any value in the desired field (for which the field name needs to be known), and click on Go button.
5. Go to the Console tab opened in Step-3, and run the below script:
TheApplication().ActiveApplet().BusComp().GetSearchExpr()
6. It will return the field name in the square brackets, as shown below:
7. It also shows the accepted format for the Field Value, which needs to be input in Set Field Value component.
There may still be a few field names which could not be retrieved using the above methods and
steps (mostly the radio buttons). One of the example is shown below:
Such field names can either be obtained in Siebel backend, or through Application Host utility from
Process Components in Canvas Tools of Design Studio.
Below are the steps that can be followed to get the field names in such cases:
Lore
The Get Field Value component helps user to automate reading value of desired parameter of the selected applet (grids
or web-dialog).
So, the user needs to move to a particular tab / link-bar / view using Siebel Navigation component, then use the
Get Field Value component to select the applet, the required field name (which needs to be updated), and the argument
where the read field value can be stored.
The Applet Name can be provided as mentioned in Siebel Operations component. The Field Name can be provided as mentioned
in Set Field Value component.
The Argument drop down will show all the field names added in Search Criteria Configuration. The user selects a particular field
name which can consume the read value of required parameter.
The Fetch Grid Data component helps user to automate reading value of
desired grid of the selected applet (with or without filtering operations on
grid using other components mentioned above).
So, the user needs to move to the desired grid of a particular tab / link-bar /
view using Siebel Navigation component, get the required field names
(which need to be fetched), and number of rows to be fetched from that
grid. The result can be saved in a parameter of type data table.
All the field names will get stored in a comma separated manner as shown below:
The user can get the field name as suggested in Get Field Value
component.
The user has the choice to retrieve a particular number of rows in the
grid. If all the rows need to be retrieved, user needs to check the
Select All checkbox.
The Argument will consume variable name which will hold the
retrieved grid rows. The type of this variable should be data table.
169 Public
AE-RPA-Automation Studio User Manual
The Open Task component helps user to automate the task activity. It requires the Task Name as an input to reach
to that particular task.
The further activities like selecting desired options, clicking on Next_Task, Previous_Task buttons etc. can be
automat-ed using the other Siebel components.
Data table support has been introduced in Automation studio. Following operations would be possible using the built-
in activities:
171 Public
AE-RPA-Automation Studio User Manual
Provide a DataTable name which will create a Data Table with the name provided in the process.
Next, the user needs to define columns in the Data Table. In order to define columns in the Data Table, click
on the Settings button. A screen will pop up as displayed below.
b. Add Row
In order to add a row in a Data Table in a process, drag and drop the Add Row activity onto the canvas.
Select Data Table from the drop down list in which one wants to add the row.
Click on settings button to map the columns to the variables in the process. The below screen will pop up as displayed
below. One can either set a default value for a column or select a variable from the dropdown list.
c. Remove Row
In order to remove a row from a Data Table, drag and drop the
‘Remove Row’ activity onto the canvas.
Select the Data Table from which the row has to be removed.
d. Update Data
If one wants to update a value in a Data Table, drag and drop
In order to clear a Data Table, drag and drop ‘Clear Data Table’ activity onto the canvas.
f. Get Data
In order to get value from a Data Table, drag and drop ‘Get Data’
Activity onto the canvas.
Select the Data Table name from which the value has to be
fetched.
Provide the row index from which the value has to be fetched.
g. Sort DataTable
This activity helps a user to sort the data in a user created DataTable, based on the values of
the specified columns.
Configure the columns to be sorted by clicking on the Settings button on the activity.
Select the columns on which the sorting is to be performed by clicking the Add button on the Settings screen.
Direction of sorting can be set to ‘Ascending’ or ‘Descending’ from the drop down.
This activity can be used to get the row and column count of the data in
the DataTable which could be handy for further use in a process.
Datatable Name - DataTable of which the Row and Column count needs
to be fetched.
i. Import DataTable
A user can use this activity to import data from an Excel file or a csv file into a Data table.
File Location – Complete file path of the excel or csv file along with the file name, from which data has to be imported
Datatable Name – A Datatable with the provided name will be created as a part of this activity. Data from the selected
file will be imported to this Datatable.
Has Headers – The checkbox should be selected if headers of the file are to be imported to the datatable.
Excel Name – Excel sheet name from which the data is to be fetched. This is shown only in case of an Excel file
OR
Delimiters – In case of a csv file, a delimiter can be entered in this field. More than one delimiter can be provided using
a semi colon “;” as the separator.
Drag and drop the ‘Import DataTable’ activity onto the canvas.
Click on the ‘File Location’ field to browse an excel or csv file to be read.
In case of an Excel file, select the sheet name by clicking on ‘Excel Sheet’ field or Select ‘Delimiters’ in
case of a csv file.
Provide the Datatable name. Datatable with the specified name will be created as a part of this activity.
Add the Datatable columns by clicking on the Settings -> Configure Headers on the activity.
By default, all the Excel/ csv columns Names will be shown in the Header Names when the “Has Headers”
checkbox is selected.
If “Has Headers” checkbox is not selected, the activity creates its own header names can be edited from
the ‘Configure Headers’ window.
A user can update the column names and Select the columns to be imported in the data table.
Update the configurations (if any) from Settings -> Configure Reader.
Note: In case a user uses an already created Datatable name, the data from the file will be written into
that datatable and user will be able to fetch the data from the datatable using the columns of the
already created data table and may not get the expected result. A caution against using the existing
datatable name has to be followed unless used very diligently.
j. Export DataTable
A user can use this activity to write the data from a Data table
to an Excel or a csv file.
Export File Path – File path along with the name of the file and
extension (.xlsx, .csv)
k. Boundary Conditions
CView NA No
Data Table as an input can be reused in a process, but the same process
Reuse Yes Yes cannot be used separately either in Robot or in SE as Data Table type
input cannot be passed.
While executing an automation request, the user can detect potential errors
as they happen, and may want to perform various actions (for example:
running a sequence of activities, or ending the process gracefully, or even
ignoring the error) as and when the errors occur.
a. Try
The Try block allows a user to define activities / steps which can potentially raise
exceptions during execution of a particular automation request. Whenever an
exception occurs, it will move the control to the Catch block.
b. Catch
The Catch block allows a user to define activities / steps to handle a particular
exception (raised according to the steps defined in the Try block). The
exception message can be stored in the Define Exception variable.
c. Finally
The steps defined in this block are executed irrespective of the occurrence of an
exception. It contains the activities to be executed when activities in the Try and
Catch block are executed successfully. The steps defined in Finally block would not
be executed if another exception occurs in the Catch block.
Provision has been provided in Studio to set Ignore Error property in activities. The user may also choose to Ignore Error
at a particular step / component. A utility has been provided for the same with default value of Ignore Error = “No”.
Refer to the following image. The Ignore Error can be set at an activity level or a field level as well.
Activities with ignored error will not alter the process state even if it fails.
If the activity fails, the Step/Activity status will be set to "ErrorIgnored", Ignore Error will be set to “Yes”, and same will
be shown in the Kibana reporting tool.
Subsequent activities under the same parent block will be executed if Ignore Error is set to “Yes”, and if the activity fails.
If an error occurs in an activity where Ignore Error is set to "No", then an error will be thrown for this activity, and
subsequent activities under the same parent block will not be executed.
Parent (a custom container activity, for example an application block) of the activity will have an option to consume the
error by setting its Ignore Error property to "Yes". Workflow process will be terminated if an activity/parent block at
workflow root level does not consume the error.
Users can click on the ‘Create New’ button and select the option for
‘Process’ to create a new process. This will open a new flowchart in the
Studio canvas where the user can create the new process by dragging
an application from the Process Components of canvas tools.
Next, select ‘WindowsApps’ from the Application Type dropdown. Once the user selects this value, studio will populate
the applications in the Application dropdown from which an application can be selected.
If the user does not find the desired application in the drop down list, click on Add New Application link on the bottom
of the dropdown to add a new type of windows application. Add new Application popup form will appear with the
fields:
Once the new WindowsApps process is created, click on the Settings button to navigate to the process configuration
mode in studio.
A new tab will open in Studio and the target application will open in undocked mode. User can now click on Start Field
Configuration button over the tab and start configuring the process.
There are two ways to configure a process: the default way by hovering the mouse icon over the application or by using
the advanced configuration Tree.
User can now select the desired action from the action dropdown and enter the display name for the configured control
properties. User can also modify the values of the properties with the help of filter dropdown against each field which
can be helpful for parametrization.
After providing all the mandatory values, the user can click on save icon and save the configuration.
Once the user has clicked Start Field Configuration button, a new popup window opens showing all the controls of
application under automation in a hierarchical manner. By clicking on the control name inside the popup, studio will
highlight the corresponding control of the application. This way, the user can identify the control required for the
automation. Once the control is identified, it can be selected by pressing the select button on the popup window. This
will populate the property grid with the selected control properties. User can then provide the necessary values for
configuration and click on save.
2. Set Text: This interaction will set user provided text input to the selected control.
3. Get Text: This interaction will read text from the selected control.
4. Select Radio Button: This interaction will select the radio button control.
5. Get Radio Button Status: This interaction fetches the radio button status. It will return either true or false.
6. Toggle Checkbox Action: This interaction toggles the current state of the checkbox.
7. Get Checkbox Status: This interaction returns the current selection status of the checkbox.
8. Perform ComboBox Select Value: This interaction selects the specified value from the dropdown.
9. Get ComboBox Value: This interaction reads the currently selected combo box value.
10. Perform ComboBox Set Text: This interaction sets a user specified value on the selected ComboBox. Note that all
ComboBox controls do not support this interaction.
11. Scroll Horizontal: User can perform a horizontal scroll based on the input provided on the percentage scale
from 0 to 100.
12. Scroll Vertical: User can perform a vertical scroll based on the input provided on the percentage scale
from 0 to 100.
13. Select Tree Node: User can select a node of Tree control using this interaction. User has to specify input in a
specific format. Example: For selecting the node “1.1”, user has to provide the input value as “Number/1/1.1”.
14. Expand Tree Node: User can expand a node of Tree control, using this interaction.
15. If Control Exist: This interaction can be used for working with dynamic controls. User can use this interaction to
check if a given control exists or not.
16. Keyboard Input: This interaction can be used to perform keyboard simulation on a selected control. It requires
application to be in focus. This interaction provides a user to perform different keyboard input combinations with
the help of Single Key, Double Keys, Triple Keys and Text entry options.
17. Mouse Click: This interaction allows the user to perform mouse simulation and it requires the application to be in
focus. User can perform Left Click, Right Click and Double Click actions.
20. Get DataGrid Value by Index: This interaction is used to get data grid value by its index. User has to specify the cell
index from which the input is needed.
21. Focus Data Grid Cell by Index: This interaction is used to focus a data grid cell based on the input cell index.
22. Set DataGrid Value by Index: This interaction is used to set value to a DataGrid cell based on its index.
23. Get Data from Table: This interaction can be used to read complete data of a DataGrid Table control to a Data Table
and then if required to an excel or csv file. Steps involved are as follows:
Create an argument of type System.Data.DataTable before extracting the control.
Select the variable name to the output variable created in the first step.
24. Set Focus: This interaction can be used to bring any control to focus before performing any interaction on it.
These can be broadly classified as: Control Behavior, Field Properties and Miscellaneous Properties.
Field Properties:
1. Display Name: User can give any name for the configuration as required.
2. Automation Id: This property uniquely identifies automation element in the automation tree.
3. Class Name: Specifies the class name of the element as defined by the control developer.
4. Container Class Name: Specifies the class name of the container of the element as defined by the control developer.
5. Container Control Id: This property specifies the type of control represented by the container of the element under
automation.
6. Container Name: Specifies the name of the element as defined by the control developer.
7. Control Id: This property specifies the type of control represented by the element under automation.
8. Control Index: Specifies the index of the current element within the entire set of elements with same values of automa-
tion Id, class name and control name as that of the current element.
9. Control Name: Specifies the class name of the element as defined by the control developer.
10. Control Order Number: Specifies the index of the current element within the entire set of elements with the same value
of control Id as that of the current element.
11. Search by Control: If this checkbox is selected, the windows plugin will find the element based on the control order
number.
Miscellaneous Properties:
1. Max wait for input idle: This property value specifies the maximum time interval in milliseconds for which a
plugin can wait on launch before it starts executing the configured interactions.
2. Retry count: Retry count value specifies the number of times, a plugin will retry to find a control, if not
found.
3. Retry Interval: Retry interval value specifies the time interval in millisecond for which a plugin will wait
before it will attempt for a retry.
A user can find a filter dropdown against some of the Field properties (AutomationId, Class Name, Container Class
Name, Container Name, Control Name) values. This can be used for handling dynamic controls and parameterization.
1. Handling Dynamic controls: For few controls, few of the field properties are dynamic. For such controls, a user can
remove the dynamic part of the string and use an appropriate value from the dropdown. For
example: Class Name value string ‘AssistEdge_Studio_20180205083009’ can be reconfigured as ‘AssistEdge_Studio’
and Starts with filter. Here, the latter part of the string is a timestamp is not fixed/ statis, hence we have removed the
dynamic part and kept only the static part of string.
A user can use various other types of filters (Equals, Contains, StartsWith, EndsWith, Regex) also as per the require-
ment.
2. Parameterization: A user can make use of a Variable type from the filter dropdown to parameterize a value. With
parameterization, a user can use windows controls with looping and assignment activities.
6.0
Excel Recorder
1. The Automation Studio has an advanced excel automation recorder which can automate operations in Microsoft \
Excel. Let us view how to record automations in an excel.
Before opening an excel file, recording needs to be started. The user can then open a file or save it by accessing “File”
from the menu of the xlsm that is launched as part of the Excel recorder.
Once the recording is complete, stop the recorder and click on ‘Open in Studio’ button. This will close the recorder and
the xlsm file.
Once the steps are captured, access the activity and rename it as required.
Clicking on the settings button or the arguments will display the parameters with the default values which were
captured by the Excel recorder.
While recording, if the static fields were captured by cell value and not by action, then Edit script can change those steps
into generic dynamic functions. While recording, user can also capture using activate cells, rather than selecting these to
make it dynamic there itself.
A user can open and edit the script which will reflect during the automation.
Copy entire sheet and paste in a new sheet or a new excel file
Filter and select one or multiple labels. Extract that entire range
7.0
Test Automation
This feature can be used to debug a workflow automation so that the user can identify the result for each step of the
automation.