Robusta RPA is a workflow modeling and robotic process automation application that allows corporate business processes to be modeled on a common infrastructure.
The primary purpose of this structure is to create a common language that can be easily understood by the business analysts who prepare the processes, the specialized units that will include the processes in the application, and the business units that will implement the processes.
Robusta RPA is based on orchestrator and robots. You can design your processes with the design studio at the core of Orchestrator modules. You can access the design studio from anywhere.
With the Scheduler module, you can enable your robots to run processes remotely and regularly and view the records.
With the RPA-Admin module, you can define robots that you will use and manage your processes by grouping your robots.
You can manage users and their authorizations with the IDM module.
With Dashboard, you can follow the operational status of your robot.
Robusta Architecture
System Requirements
Robusta Process Design Studio and Process Management (orchestration) run on the same server and their design and management faceplates are web-based. Both are set up in the same presentation. It is suggested that virtual robots (Digital Workers) travel to separate machines.
Virtual robots drive to Windows-based machines
Orchestration server can be Windows based
Orchestrator and Design Studio
Hardware
Operating System and Its Components
64 Bit Processor 32/64 GB+ RAM (Mid/Large) 256 GB HDD
Windows Server 2016 (English OS) MySql 8.x (Optional)
Digital Worker
Hardware
Operating System and Its Components
64 Bit Processor 16 GB+ RAM 128 GB+ HDD
Windows 10+ or Windows Server 2016 Default resolution setting 1920*1080 and DPI 100% Lock screen option should be disabled. The automatic windows update feature should be turned off in order to prevent the machine from restarting unexpectedly. Windows Developer Mode should be turned on.
Network Access
Orchestrator to Worker
Worker to Orchestrator
9080-8443
8443-8080
Additional Requirements
Internet Access – To download the relevant Robusta Installation files and various applications (WinRAR, Notepad++, Chrome, etc.) via Google Drive, internet access is required.
Auto Logon must be active for both Orchestrator and Digital Worker.
If a different database other than MySQL, provided with the package, is to be used, the user given should be granted permission to create objects.
1.1 Attended vs Unattended Robots
RPA (Robotic Process Automation) is a technology used to automate repetitive tasks in business processes. Robots, which are the most important factors in RPA, are divided into two categories as “attended” and “unattended“.
Attended Robots
Attended robots are robots that run under the supervision of the user. These robots are often used in situations where the user has to click on a trigger to start a task. These robots can interact whenever they need the user’s input to complete a particular action.
When a customer service agent needs to update a customer’s account information, a attended robot can perform the update using the agent’s inputs.
Unattended Robots
Unattended robots are robots that can run without the need for user intervention. These robots can run continuously for a certain amount of time and do not require user input to complete a specific action. Unattended robots are often used to automate time-consuming, repetitive processes.
An unattended robot can automate a business’s invoicing process, process a business’s customer orders, and many other things.
The differences between attended and unattended bot in RPA are based on control, monitoring, and response requirements and usage scenarios.
Attended Robots
Operates under the direct control of the user and requires user intervention for a specific action.
It is usually used for the user to complete a specific task.
More flexible and user friendly
Differences
How they work?
Where is it usually used?
For these reasons
Unattended Robots
Runs automatically and does not require any user intervention
Used to automate repetitive processes.
Can work more automatically and continuously
2. Quick Start Guide
The quick start guide contains information on setting up Robusta Worker, running Robusta Worker, and connecting to Orchestrator.
You can also find information on designing and running your first automation process with the quick start guide.
To start Robusta RPA Worker double click the shortcut on your desktop. If the shortcut is not available the worker file is located under the following folder: C:RobustaWorkerCE/RWorkerCE.exe
It may take up to 10 min. until Robusta Worker is completely up and running depending on the configuration of the computer. You will see the status as shown in the picture if the worker is up.
To start Robusta RPA Worker double click the shortcut on your desktop. If the shortcut is not available the worker file is located under the following folder: C:RobustaWorkerCE/RWorkerCE.exe
It may take up to 10 min. until Robusta Worker is completely up and running depending on the configuration of the computer. You will see the status as shown in the picture if the worker is up.
Connection to Robusta Orchestrator Web Application
Open the connection screen by double clicking the Start Robusta Connector
hotkey on the desktop. If there is no shortcut on the desktop, you can open the connection screen by running the file in the directory: C:RobustaWorkerCERobustaConnector-GUI.bat
.
Once you start the connector, you will see the Robusta Orchestrator Login
screen. On the login screen, provide the requested information in the table below and press the Connect
button.
Username
Your username (eg. john.doe)
Password
Your password (eg. abc123)
Worker Port Number
8843
Orch Address
cloud.robusta.ai or Your orchestrator server IP address
2.3 Design a Process with Robusta Modeler
You can login to Modeler (Design Studio) by using the orchestrator server IP address or domain address. For example: https://cloud.robusa.ai/modeler
or https://1.2.3.4:8443/modeler
You can use the same username and password in the worker connection process. Type your username and password to login to the Modeler.
In Processes tab, you will find the menus to create, import, search and edit processes.
To create a new process, click Create Process
button.
Fill the necessary fields and click Create New Model
button.
You must enter the Model name
and Model key
fields.
You can not enter special characters (expect: “_” and “-“) or space in Model key
field.
Following screenshots show a process in design studio. On the left panel, you can the see BPM and RPA components all together. On the right side, you can see the canvas where we generate process flow.
You just need to drag and drop a selected activity onto the canvas and fill necessary parameters. To define the flow, you need to connect the activities to each other by using arrows.
For example, the values for Move
activity under File operations
may be set as given at the following table:
You can not enter special characters (expect: “_” and “-“) or space in App definition key
field.
Set Group access
“Your Group Id” to prevent your app to be seen by others.
To add your model into an app, click Edit included models
button and select the process to be included in your app. Once you select your model, and see the plus icon on your model, click Close
button.
Click Save
button to save your app.
Click Publish?
check box, then click Save and close editor
button.
To run your process, go back to Processes tab and select your process.
To run the process on a worker, click Play
button.
Select your Application and Worker then click Run Process
button.
3. Sample Processes
Example processes with Robusta are listed below.
3.1 A Sample RPA Process with Excel Operations
How to design a sample process that includes web applications with Robusta RPA tool step by step?
You can connect to Excel from ROBUSTA RPA, add new columns and rows and use Excel operations. This tutorial will walk you through designing a sample RPA process with Excel operations, step by step.
PROCESS SCENARIO
In this tutorial:
Open an Excel file and check whether there is any flight routes data in it.
If there is, add two columns, one for calculating the number of days between departure and return dates, and one for combining these dates.
Then, continue with a repeating sub-process since you want to perform operations for each row in the Excel file.
In this sub-process, you will set the values for the newly added columns.
STEP BY STEP PROCESS
CONNECT TO EXCEL AND CREATE A DATASET
1. Start the process by using the Open activity under the Excel section to open the Excel file that contains the flight routes data.
2. Just drag and drop the activities you want to use into the design area then enter the relevant parameters.
Excel > Open
Name
Open: Flight_Routes Excel
*Excel name
Flight_Routes
*Excel file name
Current directory where the file is located
In the Excel name field, special character constraints is important, only letters and numbers are recommended.
3. Using the Read excel to dataset activity, transfer the data in the Excel file to a dataset.
4. Check the Has header box because our data has a header row. By doing so, it will be possible to specify the column header values in the Column fields in other activities at which you get or set cell values.
INFO – If there is no header row in the table, you should not select the Has header option.
INFO – If Sheet name field is left blank, the first page will be transferred to the dataset.
Excel > Read excel to dataset
Name
Read excel to dataset
*Excel name
${Flight_Routes}
*New dataset name
Flight_RoutesDS
Sheet name
Routes
Has header
Checked
5. In the next step, get the row count of the dataset with the Get size activity.
6. After selecting the dataset from the list in the Dataset name field, choose the Row option in the Size Type field because you want the number of rows to be counted.
7. Then, in the Result variable name field, define the variable that you want to assign the row count value as ‘getSize’.
Dataset > Get size
Name
Get size: Flight Routes
*Dataset name
${Flight_RoutesDS}
Size type
ROW
*Result variable name
getSize
8. You have to ensure that the process needs to terminate if any row is not found in the excel file. To achieve this, add an Exclusive gateway activity that allows us to create alternative flows in our process.
9. First flow condition ( ${getSize==0} ) checks whether the getSize variable value is equal to ‘true’ or not, which means there is no row in the file.
The first flow condition
Flow condition
( ${getSize==0} )
10. If this condition is met, the process is completed with an end event.
11. In the second flow condition, choose the default flow option and do not set any condition expression.
The second flow condition
Default flow
Checked
ADD COLUMNS
12. Continue your process by adding two columns to the dataset with the Add column activity.
13. The name of first column is “Days Between”. The name of second column is “Concatenated Days”.
14. “Days Between” column is the difference of the two date columns, “D.date” and “R.date”. “Concatenated Days” column is concatenate these two columns.
Dataset > Add column
Name
Add column: Days Between
*Dataset name
${Flight_RouteDS}
*Column name
Days Between
Dataset > Add column
Name
Add column: Concatanated Dates
*Dataset name
${Flight_RouteDS}
*Column name
Concatanated Dates
PROCESS ROWS IN SUB-PROCESS.
15.The next activity is Sub-Process that is used here because of recurring sub-process. We want to process each and every row in the dataset one by one.
16. We need to define how many times this sub-process will be repeated in the Cardinality field. This will be provided by using “getSize” variable.
17. Choose the value of the Multi-instance type field as Sequential because you want each operation to be done sequentially in our loop. The “loopCounter” variable is automatically defined at the beginning of the loop.
INFO – loopCounter, which first takes a value of 0 increases by 1 at each iteration. When the value of the “loopCounter” variable reaches the Cardinality value, the loop is automatically terminated.
Structural > Sub process
Name
Loop for each flight route
Cardinality (Multi-instance)
${getSize}
Multi-instance type
Sequential
Exclusive
True
18. In the sub-process, obtain the flight return and departure date from the dataset with the Get action activity. Set the column header that we want to get data from in the Column field.
19. Since you want to repeat the same operation for all the rows, set ‘loopCounter’ variable in the Row field.
20. The index value of rows and columns in the dataset starts with 0, the same as the loopCounter variable.
Dataset > Get action
Name
Get action: Return Date
*Dataset name
${Flight_RouteDS}
*Column
R.Date
Result variable name
${loopCounter}
Row
returnDateStr
Dataset > Get action
Name
Get action: Depart Date
*Dataset name
${Flight_RouteDS}
*Column
D.Date
Result variable name
${loopCounter}
Row
departureDateStr
21.Then, use the Set action activity to set an excel formula to calculate the difference of the dates.
22. Then we set to the newly created ‘Days Between’ column. In this activity, after selecting the dataset, we set the column header in the Column field and ‘loopCounter’ variable in the Row field.
23. In the Value field, write the formula( =H${loopCounter+2}-G${loopCounter+2} ) to calculate the difference between the dates by using the equal sign at the beginning.
24. The dates you want to process start from the second row of the H and G columns in the table, the row value in the formula should also start from the 2nd row. So, in the formula syntax, add 2 to the loopCounter variable.
Dataset > Set action
Name
Set action: Days Between
Dataset name
${Flight_RouteDS}
*Type
STRING
*Column
Days Between
*Value
=H${loopcounter+2}-G${loopcounter+2}
Row
${loopCounter}
25. In this step, combine the dates and set the value in the newly added column named ‘Concatenated Dates’. Write the variables that hold the date values in the Value field with a hyphen between them.
26. Complete the loop activity with the End event, which allows us to end the process flow.
Dataset > Set action
Name
Set action: Concatanated Dates
Dataset name
${Flight_RouteDS}
*Type
STRING
*Column
Concatanated Dates
*Value
${departureDateStr}-${returnDateStr}
Row
${loopCounter}
FINISH YOUR EXCEL OPERATION
27. Use Write dataset to excel activity after you finish the operations in the subprocess, which allows you to transfer all the data in a dataset to an Excel file.
28. In this activity, after selecting the dataset and the Excel file, choose the Include header option because you want to copy the header information for newly added columns.
Excel > Write dataset to excel
Name
Write dataset to excel
*Dataset name
${Flight_RoutesDS}
*Shift
NONE
*Excel name
${Flight_Routes}
*Value
=${departureDateStr}-${returnDateStr}
Include header
True
Sheet name
Routes
29.Save the Excel file in the output folder with the Save and close activity. For this, enter the directory, file name and extension of where you want to save our file in the Excel file name field.
30. In the Action field, select the Save and close option from the list and complete your process.
Excel > Save and close
Name
Save and close: Flight_Routes Excel
*Excel name
${Flight_Routes}
*Action
SAVE_AND_CLOSE
Excel file name
Current directory where the file is located
3.2 A Sample RPA Process with E-mail Operations
How to design a sample process that includes e-mail operations with Robusta RPA tool step by step?
PROCESS SCENARIO
In this tutorial:
Connect to an e-mail account and search for unread e-mails with a specific subject and an attached file.
Forward each matching e-mail that meets certain conditions to another e-mail account.
For the e-mails which do not meet the condition, reply to the sender that the request is invalid.
STEP BY STEP PROCESS
1.Drag and drop Imap/Smtp connection activity under Mail component to connect to e-mail account.
INFO – While SMTP protocol is used for sending e-mail; IMAP protocol is used for e-mail reading.
Mail > Imap/Smtp connection
Name
Imap/Smtp connection : Connect to E-mail account
Configuration name
connectionName
*Connection name
testCon
*Imap host
imap.gmail.com
*Imap port
993
*Imap user
E-mail address for IMTP protocol.
*Imap password
${password}
Imap ssl
True
*Smtp host
smtp.gmail.com
*Smtp port
587
*Smtp user
E-mail address for SMTP protocol.
*Smtp password
${password}
Smtp tls enabled
True
Smtp tls required
True
2. Provide the configuration of both protocols to be able to perform e-mail operations.
INFO – Data Object allows to define a variable and use it in any activity in the process. Click any area in the process design area to open the Data Object field.
4. In the Data Object field, define a variable named “password” and use it in the password fields.
INFO – Write the variable name between curly braces after a dollar sign (${}).
5. Find the date three days before today with the Script task activity.
INFO – It will be using it as the minimum date in the Mail search activity
6. Drag and drop Script task activity under Activities component and use the javascript to find the date.
7. Assign the current date to the variable threeDaysAgo with the New Date function.
INFO – The current date that is assigned is the form of year, month, day with hyphens between them.
8. Update this variable that was created to be the date of 3 days ago.
9. Convert this variable to string format with toLocaleDateString function.
10. Concatenate them by adding a dot between them. Save this variable with the execution.setVariable function to use it as a minimum date.
INFO – The MinDate variable here will be used to find e-mails less than 3 days old.
12. Write the variable name between curly braces after a dollar sign.
Activities> Script task
Script format
javascript
Script
var threeDaysAgo = new Date(); threeDaysAgo.setDate(threeDaysAgo.getDate()-3); var date = threeDaysAgo.toLocaleDateString(); var splitDate = date.split(“-“); var year = splitDate[0]; var month = splitDate[1]; var day = splitDate[2]; var minDate = day+”.”+month+”.”+year; execution.setVariable(“minDate”, minDate);
Name
Script task : Find three days ago
Exclusive
True
13. Use the Search activity under the Mail component.
14. In the connection name field, select the connection reference name that is defined in the first activity from the list.
15. Find the e-mails with the subject containing the phrase “Flight Routes” and containing an attached file. For this, write “Flight Routes” in the Subject field and tick the has attachment box.
16. Do not change the default value of INBOX in the Folder name field, and provide the relevant search to be in the Inbox.
17. By selecting the Unread box, search for unread e-mails, and define a variable in the Dataset field to assign all e-mails’ data to a dataset.
18. Set the e-mail limit to be searched as 10 in the Search limit field. This means that even if there are more than 10 e-mails matching the search criteria, only the 10 most recent e-mails will be imported into the dataset.
19. Leave the From parameter blank, where we can choose from whom the e-mail came from.
Mail > Search
Name
Search : E-mails for flight routes price request
*Connection name
${testCon}
*Folder name
INBOX
Has attachment?
True
Search limit
10
Min date
${minDate}
Subject
Flight Routes
Unread
True
*New dataset name
emailSearchDS
INFO – If you want to see Dataset, open an Excel file that contains the data of the dataset resulting from this activity. This picture contains information we received via e-mail (Such as subject, sender’s e-mail, mail body etc.).
20.Find the number of e-mails transferred to the dataset using the Get size activity under the Dataset component.
21. Choose the ROW option in the Size type field from the list.
Dataset > Get size
Name
Get size : Request count
*Dataset name
${emailSearchDS}
Size type
ROW
*Result variable name
emailSearchDSSize
22. Terminate this process if no e-mails are found, and continue if there is at least one e-mail.
23. To do this, use a gateway that allows us to control how a process flows according to the conditions we set.
24. For each arrow leaving the gateway, set a condition expression according to the e-mail count variable.
25. If the value of this variable is 0, end the process flow. Otherwise, choose the default flow option, and do not set any condition expression.
26. The process will continue from here if it does not match a condition.
Flow condition
(${emailSearchDSSize==0})
27. If the process does not end at this point, continue with a loop activity, since the operations will be done independently for each e-mail.
28. Include the Sub-process activity from the Structure section to create a loop activity in the process.
29. As in the main process, you need to create a flow with a beginning and end event in this sub-process and need to define how many times this sub-process will be repeated in the Cardinality field.
30. If you do not make this definition, the sub-process will run once.
31. In this example, since you want to loop as many as the number of matching e-mails, write the variable that holds the number of e-mails in the Cardinality field in curly brackets.
32. Choose the value of the Multi-instance type field as Sequential because you want each operation to be done sequentially in our loop.
33. The “loopCounter” variable is automatically defined at the beginning of the loop.
INFO – loopCounter, which first takes a value of 0 increases by 1 at each iteration. When the value of the “loopCounter” variable reaches the Cardinality value, the loop is automatically terminated.
Structural> Sub process
Name
Loop for each e-mail request
Exclusive
True
Multi-instance type
Sequential
Cardinality (Multi-instance)
${emailSearchDSSize}
34. In Read/Save/Attachment activity, after selecting the testCon connection name from the list in the Connection name field, write the loopCounter variable in the E-mail number field, which indicates the current iteration number. In this way, ensuring that e-mails are processed one by one.
35. Since you want to archive the attached files, check the Save attachments box and enter the directory path where you want the files to be saved in the Save Path field.
36. By selecting the Mark as Read option, ensure that the e-mails are marked as read.
37. Thus, when the process runs again, it will not be processing the same e-mails again and again. Import the list of attached files into a dataset.
Mail > Read/Save/Attachment
Name
Read/Save/Attachment : Dowload to ‘archieve’ folder
*Connection name
${testCon}
*Dataset name
emailSearchDS
Mail no
${loopCounter}
Mark as read?
True
Save attachments?
True
Save path
The location you want to save the files.
Attachment database name
AttachmentDS
38. In this step, similar to the use of the Get size activity that we explained in the first parts of the process, find the row number of the dataset to which the list of the attached files is transferred.
Dataset > Get size
Name
Get size : Attached file count
*Dataset name
${AttachmentDS}
Size type
ROW
*Result variable name
listFileDSSize
39. After finding the number of attached files, add another gateway to the process as we want to perform a different operation if there is more than 1 attached file, and a different operation if there is only 1 file.
40. If there is more than one attached file, continue with the Reply activity, and send the message that includes “Cannot process more than one attached file”.
Flow condition
(${listFileDSSize>=2})
41. Continue with the Reply activity and select the testCon connection from the list in the connection name field
42. Write the loopCounter variable in the mail no field to respond to each e-mail.
43. Later, choose the is HTML? box because e-mail body is in html format.
44. At the same time, select the Reply all option for reply all.
Mail > Reply
Name
Reply : Request is not valid
*Connection name
${testCon}
*Dataset name
${emailSearchDS}
Mail no
${loopCounter}
Message
Cannot process more than one attached file
Is HTML?
True
Reply all?
True
45. If there is 1 file attached, forward the e-mail to another e-mail address with the Forward activity. Write the relevant information from and to e-mail addresses, e-mail no, subject, and message fields.
Default flow
True
Mail > Forward
Mail
Forward
*Connection name
${testCon}
*Dataset name
${emailSearchDS}
Mail no
${loopCounter}
*From
sender’s e-mail address
*To
recipient’s e-mail address
Message
This mail is forwarded by Robusta RPA tool.
46. Complete the subprocess flow with an End event.
47. Use another end event to terminate the main process.
3.3 Robusta RPA Database Connection and Query Guide
In this document, how to use Db activities is explained by using an exemplary process.
You can access to sample process by clicking here. A screenshot of sample process is down below.
Sample process is designed by using MySQL database management system (DBMS) to execute the desired database queries. You can find answers to questions like how to connect to MySQL from Robusta RPA and how to send queries. Even if sample process is designed for the MySQL database, you can follow the same steps for other databases. You can learn the relevant differences for other databases from documentation and apply those changes in your own processes.
1 – Connection
Open Connection activity under the Database component is used to connect to a database management system.
NOTE – Always check the connection to your database management system from a database management software before connecting from robot. Moreover, IP address of computer where Robot is installed must have access authorization to database. Robot cannot access a database management system that test connection is not established.
Open connection activity provides access to the desired database management system. Select the database that will be used from the Driver name list. Type the username information in the Database user and Database password fields. If the Database user field is used, the Database name should be left blank. The connection must be established with either the Database user field or the Database name field. A reference name is given to DBMS that will be connected to in the Connection name field and you will perform different processes later in the process, thanks to that reference name. In the Database URL field, idbc URL information is typed for MySQL.
NOTE – Even if Robusta product supports MySQL, Oracle, Cloudera, PostgreSQL, ibm.as400, sybase and Microsoft SQL Server, it works with all database management systems that have JDBC support.
jdbc:oracle:thin:@<hostName>:<portNumber>:<sid>; (if there is sid)
jdbc:oracle:thin:@//<hostName>:<portNumber>/serviceName; (if there is oracle server)
2 – Execute Update
MySQL is a query language for establishing relationships between data. In Robusta RPA, the desired queries are sent through the Execute update activity.
The Execute update activity sends queries to the desired database management system. Its screenshot is on the right and its feature field is below. Type the query that will be sent in the QUERY SQL field. In this example, the query below is sent.
TBL_Training_NewTable, which is written after Create Table query, is the name of the table.
Registration_Number, Location, Team_Lead and Company_Name are the column headers of the table.
INT and nvarchar are the data types of the table columns. [There are different data types in MySQL. These data types are INT, smallint, tinyint, monetary (for currencies), char (string), varchar, nvarchar (string that is in every language) and binary etc.
The numbers in the parentheses are the number of characters. The possible maximum number is given. To establish a connection, the first table column is defined as primary key.
UNSIGNED AUTO_INCREMENT PRIMARY KEY is used to define that the defined primary key will be searched in order.
3 – Queries That Sent in Other Execute Update Activities
DROP TABLE TBL_Training_NewTable
Deletes the specified table.
INSERT INTO TBL_Training_Company_Info VALUES (1, ‘Florida_Tallahassee’, ‘Nadia Diaz’, ‘A’)
INSERT INTO TBL_Training_Company_Info VALUES (${RegistrationNumber}, ‘${Location}’, ‘${TeamLead}’,’${CompanyName}’)
Enters multi-line output in a loop.
UPDATE TBL_Training_Company_Info SET Location = “Florida_Miami” WHERE Registration_Number = 1;
Updates the data with primary key information (Registration Number) 1 in the Location column 1 to Florida_Miami.
4 – Execute Update
The Execute query activity sends the Select From query to the desired database management system. Its screenshot is on the right and its feature field is below. Select From query calls tables. In the Query sql field, the query below is used.
SELECT * FROM TBL_Training_Company_Info;
This query assigns the table that is called by the query to a dataset that is defined in the Result dataset name field.
5 – Close Connection
The Close connection activity ends the connection with the database management system by using the reference name. Its screenshot is on the right and its feature field is below.
The use of Param or Parameters fields in the activities is not compulsory. Queries can be sent from Param or Parameters fields. If they are to be used, one of them should be used. In case both of them are used, the variables in the desired queries should be given. If the Parameters field will be used, the queries must be in JSON format.
3.4 A Sample RPA Process with Web Applications Operations
How to design a sample process that includes web applications with Robusta RPA tool step by step?
PROCESS SCENARIO
In this tutorial:
Do a price search from a flight ticket price comparison website that we have determined.
First ensure that the Booking.com website is opened, and a flight search will be made according to the criteria we have determined.
Find the best match from the incoming search results, assign the price information to a variable, and save the process as successful and end our process.
In cases where flight data or the best price match is not found, save the process result as failed and end our process.
STEP BY STEP PROCESS
1. Start the process with the Open activity under the Application section to open the Booking.com website. Just drag and drop the activities you want to use into the design area.
2. In the Name field, write the website name after the default Open to explain what is done in this step. When you type a value in the Name field for all the activities, it becomes easier to understand which operations are performed through the process flow.
3. Let’s enter a reference value without spaces in the Application name field. This reference will be available to select in the later activities to determine in which application the operation will be performed.
4. Since you will use Chrome as an application, let’s choose the Chrome option from the Type field.
Applications > Mouse actions
Name
Open: Booking.com
*Application name
bookingDemo
*Type
CHROME
*Url
https://booking.kayak.com
Wait until load
True
Timeout (sec)
120
Maximize
True
5. Since the visible area for the flight departure airport on this site is not the same as the area where you will enter the data in, continue the process with the Mouse action activity, as you had to click on this area first to make visible to enter data.
6. You must enter the location information in the html structure of the field that we want to click on the page in the field. Use the Inspector feature of Robusta.
7.In this step, find the location information of the flight departure airport area. For this, click on the Field and then click the New button to add a new page. After choosing Chrome as the type of application, enter the link of the “https://booking.kayak.com/” website and click the Open button.
8. After waiting for the page to open, find the location information of the area you want, by selecting the application from the list and pressing the Inspect button. To do this, move the cursor over the relevant field after clicking the button. The area will be marked in yellow.
9. When you wait for 3 seconds on this area, the yellow marking disappears, and the location information is automatically displayed in the RelXPath area.
10. Then, by clicking the OK button, save the location information in the field. Since you have learned how to get Xpath selector data with using Inspector feature of Robusta, we will proceed just using correct Xpath without trying to find again in the next components in this tutorial.
11. Obtain the variables on the Data Object screen that are defined before. We can use these variables by expressing them in the ${} structure that allows us to use them in the process. To reach Data Object window just click white space of canvas and then click Data Objects area in parameters pane.
12. Now we can use Data Objects to place them in process easily.
13. With using Set methods activity we got interact with field that we need to type “${fromAirport} “ data object to part of web form. We had ensured that the flight departure airport (“Newyork NY, NYC”) that we want to search for is written in the relevant field with the Set methods activity.
Applications > Set methods
Name
Set methods : From airport
*Application Name
${bookingDemo}
*Field
//input[@name=”origin”]
Clear
True
*Type
text
*Text
${fromAirport}
Wait until visible
True
14. In the next step, use the Mouse action activity, similar to the previous one.
Applications > Mouse actions
Name
Mouse actions: Select From Airport
*Application name
${bookingDemo}
Button
LEFT
*Field
//div[@class=”item-info”]
Wait until load
True
Wait until visible
True
15. Continue the process with another Mouse action activity, since we had to click on this area first to make visible to enter data.
16. Now again use Data Objects to place variable ( ${toAirport} ) to field of web form easily.
17. With using Set methods components we got interact with field that we need to type “ ${toAirport} “ data object to part of web form. We had ensure that the flight departure airport (“Chicago, IL (CHI)”) that we want to search for is written in the relevant field with the Set methods activity.
Applications > Set methods
Name
Set methods : To airport
*Application Name
${bookingDemo}
*Field
//input[@name=”destination”]
Clear
True
*Type
text
*Text
${toAirport}
Wait until visible
True
18. Use another Mouse action activity similar to the previous one.
Applications > Mouse actions
Name
Mouse actions: Select To Airport
*Application name
${bookingDemo}
Button
LEFT
*Field
(//div[@class=”item-info”])[2]
Wait until load
True
Wait until visible
True
19. Continue the process with the Mouse action activity since you must click on this area first to enter data.
20. Now use the Data Object‘s variable (${departureDate} ) to place them in process .
21. With using Set methods components we got interact with field that we need to type “ ${departureDate} “ data object to part of web form. We had ensure that the flight departure date that we want to search for is written in the relevant field with the Set methods activity.
Applications > Set methods
Name
Set methods: Departure Date
*Application Name
${bookingDemo}
*Field
//div[contains(@id,”departinput”)]
Clear
True
*Type
text
*Text
${departureDate}
Wait until visible
True
22. Continue the process with the Mouse action activity since you must click on this area first to enter data.
23. Now use the Data Object variable (${returnDate}) to place them in process .
24. With using Set methods activity we got interact with field that we need to type “ ${returnDate} “ data object to part of web form. We had ensure that the flight departure date that we want to search for is written in the relevant field with the Set methods activity.
Applications > Set methods
Name
Set methods: Return Date
*Application Name
${bookingDemo}
*Field
//div[contains(@id,”returninput”)]
Clear
True
*Type
text
*Text
${returnDate}
Wait until visible
True
25. After entering all the criteria that we want, ensure that the search button was clicked. On the page that appears after clicking the Search button, we can monitor the loading process from the Loading field on the top left of the page. As you can see, when the page loads, this field is updated and its contents changes. We used this field to check if the search failed or not. For this, we used the Wait action(s) activity, where we can wait until the area we specified on the application is visible or active.
Applications > Mouse actions
Name
Mouse actions: Click Search
*Application name
${bookingDemo}
Button
LEFT
*Field
(//button[contains(@id,”submit”)])[1]
26. In Wait actions activity, choose the visible option in the Wait for field, as we want to wait until the location field we entered is visible. Return to the Open activity, the first activity of the process for how long we want to wait and enter it in the Timeout field as in seconds. Since we entered the value of 120 in this field, it will take time to load results on Booking.com. If it does not load within specified time, this step will end with an error.
Applications > Wait actions
Name
Wait actions: Check if loaded
*Application name
${bookingDemo}
*Field
//[@class=”col-advice”]//[@aria-busy=”false”]
*Wait for
visible
27. When this error is received, we will advance our process through a different flow. To achieve this, drag and drop and error boundary event into the Wait actions activity. When we drag the error boundary event activity, a green frame will be displayed around the activity. It means that we can drop the error boundary event and connect it with activity. Thanks to the error boundary event, the process will continue from here.
28. Use the Script task activity to generate the result message if the page could not be loaded. Thus, the process will continue from the error step. Javascript programming language is used in this case to generate error message. Type javascript in the Script format field.
29. Note variables that we defined in the Data Object field are received, we ensured that the value of the ticketPrice variable was left blank and the error message string was set into the Note variable. You can watch our other videos to learn the detailed usage of the Script task activity.
30. Use the Close activity to close the website we have opened. In the Close activity, select the reference name of the application from the Application name field and end the process with an End event activity.
Applications > Close
Name
Close: booking.com
*Application name
${bookingDemo}
31. Continue the process with the Function activity to learn how many tickests were on the page when the search was concluded. The Functions activity allows us toget various information of the elements on the page.
32. Enter the location information of the ticket fields listed in this activity in the html structure into the field and choose the element count option from the Action field.
Applications > Functions
Name
Functions: Get Ticket Row Count
*Application name
${bookingDemo}
*Field
//*[@class=”resultWrapper”]
Result variable name
ticketRowCount
Action
elementcount
33. Then, according to the variable return from the Function activity, ensure that if no flight was found, the process was terminated, and if there was a flight, the process continued. To do this, use a gateway that allows us to advance the process according to conditions we set.
The flow condition (${ticketRowCount==0}) parameter of the Gateway we used in this process will come from the variable we determined in the previous step. If the value of this variable is 0, that is, there is no ticket, we have ensured that the condition returns true and the process proceeds and ends from here.
Flow condition
(${ticketRowCount==0})
34. Use again the Script task activity to obtain information if no matching ticket is found information. Type script format as javascript and type the script into the Script field.
35. To terminate the process, drag and drop the Close activity and select the reference name of the application that we want to close from the list. Finally, we ended the process with an End event.
Applications > Close
Name
Close: booking.com
*Application name
${bookingDemo}
36. In the case there is a flight, check the Default flow checkbox and process will continue from here.
Default flow
True
37. Use the Function activity similar to the previous one, to query whether there is a flight with the best price information on the page.
Applications > Functions
Name
Functions: Get Ticket Row Count
*Application name
${bookingDemo}
*Field
//*[@class=”bfLabel bf-best”]
Result variable name
bestPriceFlag
Action
exists
38. To control whether there is a best ticket or not, use the Exclusive gateway activity.
39. Type (${bestPriceFlag==false}) in the Flow condition field to control If there is no flight with the best price information.
Flow condition
(${bestPriceFlag==false})
40. Use the Script task activity to send the “No best ticket” message.
Activities> Script task
Script format
javascript
Script
execution.getVariable(“ticketPrice”); execution.getVariable(“Note”); ticketPrice = “”; Note= “No matching best ticket is found.”; execution.setVariable(“ticketPrice”,ticketPrice); execution.setVariable(“Note”,Note);
Name
Script task: No best ticket
41. To close the web site, use the Close activity and select the reference name of application from the Application name field. End the process with an End event activity.
Applications > Close
Name
Close: booking.com
*Application name
${bookingDemo}
42. Type (${bestPriceFlag==true}) in the Flow condition field to control If there is a flight with the best price information.
Flow condition
(${bestPriceFlag==true})
43. Use the Script task activity to send the “Found best ticket” message.
Activities> Script task
Script format
javascript
Script
execution.getVariable(“Note”); Note = “Best ticket is found.”; execution.setVariable(“Note”,Note);
Name
Script task: Found best ticket
44. To receive the best ticket price, drag and drop the Get methods activity. After selecting text from the Type field, type the location information of the best price in the field and assign the result to the ticketPrice variable.
Activities> Get methods
Name
Get methods: Ticket Price
*Application name
${bookingDemo}
*Field
//span[@class=”price option-text”]
*Type
text
Result variable name
ticketPrice
45. Finally close the page and end the process.
Applications> Close
Name
Close: booking.com
*Application name
${bookingDemo}
4. How to Guides
4.1 Using WinSpy
WinSpy is a Robusta application that is used to access web browsers and windows applications and access relevant XPath information.
WinSpy assists with path-related operations on a Windows application. It enables users to obtain the location (XPath) information of the fields to perform operations like writing a text on the desired area of an application, getting data from the desired area, clicking on the desired areas or taking a screenshot of whole screen and a part of it.
1. Double-click the winSpy.exe file to open WinSpy.
2. Click Settings > Driver > Chrome.
Search Operation
3. In this scenario, we will open a Youtube page and will perform a search operation using WinSpy on Youtube page.
4. In the WinSpy application, type or copy-paste the Youtube URL (https://youtube.com) information into the Address textbox.
5. Click the Run button next to the Address textbox to start operations.
6. After clicking on the button, WinSpy opens a new Chrome page different from the opened Chrome page and enters the Youtube page. Thus, WinSpy connection is established with the Youtube page.
7. As you can see in the picture below, the page tags are listed as a tree view on the left. When you click on an element from there, the information of that element appears in the Information field. The location information corresponding to the data is automatically found by WinSpy and displayed in the XPath Result fields. Both information can be used in Robusta RPA. Robusta recommends the Relative Path information for your cases.
7-a. Alternatively, click on the Inspect button to find the XPath information for the selected element. WinSpy will focus on the page. Hover your cursor on the element you want to interact with and give a moment to WinSpy until it detects the element automatically. WinSpy will focus on itself when it finds the XPath information. Meanwhile, the element under the cursor will be displayed in yellow.
8. Click the Inspect button to find the XPath of the selected element and it directs you to the page.
9. Hover over the element and wait for 2-3 second (it may take a longer than 2-3 seconds).
10. The information of the relevant element will automatically come to the Relative Path field.
11. If the element is textbox, an element where text can be written, the control of location information can be made by typing a word in the Try It field. Type the text in Try It field. Then, click the Set Text button. WinSpy writes the text to the relevant field on the browser.
12. Since we want to search Robusta on Youtube, click the Inspect button again and hover over the Search button and wait for 2-3 seconds to obtain the XPath of the desired element.
13. If the relevant element is a button, an element that can be clicked, you can control the location information. Click the Click button in the Try It field on the WinSpy.
14. Thus, we performed a search operation on Youtube via WinSpy.
17. The XPath information found manually can be checked on WinSpy. Type or copy-paste XPath information found manually in the XPath field and click the Test button to control the information.
If you want to scrap a table from a web page, table XPath information can be found via WinSpy.
1. Click the Scrap button to scrap a table on WinSpy.
2. You will see the First Header and the Second Header fields on the Scrap window. Click the “…” button next to the First Header field.
3. Hover over the first header element for 2-3 seconds and repeat the same process for the second header field..
4. After founding XPath information of two headers, click the Next button.
5. Click the “…” button next to the First Column field
6. Hover over the first column area for 2-3 seconds and repeat the same process for the second column.
7. After founding XPath information of first and second columns, click on the Next button.
8. Last, you should select the XPath information for the first and second rows in this step.
9. Click the “…” button next to the First Row field.
10. Hover over the first row area for 2-3 seconds and repeat the same process for the second row.
11. Click the Finish button.
12. After finishing all the steps correctly, XPath information of the relevant Table will be displayed on the Result Step window.
4.1.1 Usage on Windows Applications
WinSpy Driver Selection
WinSpy assists with path-related operations on a Windows application. It enables users to obtain the location (XPath) information of the fields to perform operations like writing a text on the desired area of an application, getting data from the desired area, clicking on the desired areas, and taking a screenshot of the screen.
1. Double-click the winSpy.exe file to open Winspy.
2. Click Settings > Driver > WinAppDriver.
3. The file must be opened before this step. Type the file name and extension (Word.docx) into the Address textbox and click the Run button.
4. WinSpy tool will provide access to the application whose title information is open on the screen. This process may take some time.
5. In order to reach the frame structure opened in a windows application, the title information of the main page is entered in the Address field and the frame to be accessed is selected from the pop-up window under the Frame title. You can refresh the element list by clicking the button next to the field.
6. The application path information on the screen appears in the box under the Search field. The name information of the field in which XPath information is required to be found in the application can be found by typing in the Search textbox and clicking the Find button. (Text information of the relevant item is positioned on the correct item if there is only one on the screen. If there is more than one, it can find all fields or buttons and can be found by browsing to the desired area one by one by clicking the Find button.)
7. The XPath information can now be accessed after the desired field is found in the box containing the information about the page. Click on the element that you want to interact with, and WinSpy will provide the full XPath information of the relevant element in the Absolute Path textbox. To obtain a more understandable Xpath, click on the element that you want to interact with on the left side of WinSpy and click on the Find XPath button from the right side of WinSpy. WinSpy will provide unique XPath information on the Relative Path (Recommended for use) field for the element.
8. If the amount of elements on the screen you want to access is high, the details of some areas of the application may not be loaded on the screen at the beginning. To find inaccessible or unavailable elements, click on the first element of the page at the window as seen in the picture. This process may take some time.
4.2 Robusta RPA Process Initiation and Tracking Guide
This guide explains how to run and track the processes in Robusta RPA.
1. Scheduler Module
The following operations can be performed on Scheduler module pages under the Robusta Orchestrator application:
Starting the processes with or without scheduling
Tracking completed, running, waiting processes, and displaying information about these processes
Displaying the errors in the process runs
Scheduler module can be accessed by clicking the Scheduler icon on the Orchestrator application homepage. The orchestrator application homepage can be opened with the link “https://<>:<>”. (e.g. https://127.0 0.1:8443)
The applications defined in the design studio (Modeler) are listed on the Scheduler module homepage. By selecting an application, operations related to the processes under this application can be performed, or by selecting the Task App application, the information on the process runs under all applications can be accessed.
1.1. Starting a Process
The following page is opened by selecting the relevant application (App) on the Scheduler module homepage. On this page, the processes under the selected application can be started and the previous run(s) of these processes can be seen. Click the Start a process button to run a process under the application.
On the page that opens, select the process to run and fill in the run parameters. The processes can be set to run one-time or periodically based on an interval by setting the parameters properly. Also, the process start time can be set as immediately or scheduled for a future time. Parameters are divided into two sections: Scheduling Properties and Working Properties. To display the relevant section, click on the headings and the fields in the relevant section will be displayed. After setting all the necessary parameters, click the Start Process button to start a process.
Scheduling Parameters
Explanation
Every
This parameter enables scheduling by minute, hour, day, week, month and year. Depending on the selections made in this area, the detailed selection screen with minute/hour/day values appears on the right side. Multiple values can be selected by holding down the control (CTRL) key on the detail screen. For example, for a process that will run every 15 minutes, this parameter should be selected as Hour and 0/15/30/45 selections should be made at the same time on the right pane.
Start Date
The date to start scheduling is selected.
End Date
The date the scheduling will end is selected.
Run Once
If the process is to be run only once, this field is selected without entering any scheduling parameters. If the Run Immediately is not selected, the process will begin on the date selected in the Start Date field.
Run Immediately
This field enables the process to run immediately once there is an available and appropriate Robusta worker.
In the Working Properties section, options other than the parameters that determine when the process starts can be defined.
Run Parameters (Working Properties)
Explanation
Retry Count
If the process ends with fail status, it will be retried as many numbers as given in this field (E.g., if 3 is given in this field, it is ensured that it is run 3 more times if the process fails.).
Worker
The worker on which the process will work is selected from the list. Which worker is assigned to a given process is chosen at the RPA-Admin module. Only the workers whom the application of the process is assigned are listed here.
Pre-Event
It is the area where the pre-requisite needed to run the processes is assigned. After the event definitions are made in the RPA-Admin module, the event is selected from the predefined Pre-Event list (Options: FTP, MAIL, FILE).
Post Process
It is the area where a process is selected to be run after the process ends. By clicking the Selection field, the process(es) to be run is selected from the list for both success and fail statuses separately.
The following table provides examples of how to assign the parameters for processes that are intended to be run at different intervals and durations.
Sample Scenario
Declarations
Run once and immediately
Run once and on a predetermined date
Run once per minute
Run at the beginning of each hour and past 5
Run once a day at 1:30 a.m.
Run every Monday and Friday at 6:15 a.m.
Run-on the 10th of each month and at 11:59 p.m.
Run at 01:00 on the first day of January, April, July, October
1.2. Process Tracking from Scheduled Process Tab
On the Scheduled Process tab, a lot of information can be displayed for the scheduled processes in the selected application, such as statuses, scheduled times, and frequency. If the processes in all applications are to be displayed on one screen, the Task App application should be selected on the homepage of the Scheduler module.
On the left side of this page, there are query criteria that enable running/scheduled processes to be found. After the criteria fields are populated, the matching process schedules are listed in the table on the right by pressing the SEARCH button. Inquiries can be made according to the following search criteria:
PROCESS NAME
In order to reach any process in the list on the right, the name of the process is entered in this field.
PROCESS KEY
Key information is entered in this field to search according to the keys used in the processes in the list on the right.
PARAMETERS
Parameter information is entered in this field to search according to the parameters used in the processes in the list on the right. Parameteres be given in json file format.
PROCESS STATUS
It allows to search according to the status of the processes in the list in the right pane. The desired status information is selected from the list. (INITIAL, SCHEDULED, PAUSING, PAUSED, RESUMING, RESUMED, CANCELLING, CANCELLED, COMPLETED, WAITING).
START DATE
It enables the processes in the list on the right to be searched according to their starting dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
END DATE
It allows the processes in the list on the right to be searched according to their end dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
SCHEDULED DATE
It enables the processes in the list on the right to be searched according to their planned dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
Recurring processes
It allows the recurring processes to be searched.
Processes with waiting instances
It allows the waiting processes to be searched.
Processes with running instances
It allows the running processes to be searched.
After the processes are queried, the table on the right displays the scheduling information for the processes. This table contains one row for each schedule. If the process runs multiple times for a given schedule, the detail table should be displayed by clicking on the icon in the Instances column to get the details for each run.
Click the icon in the Parameters column on the corresponding row to display the starting parameters of the process.
To view the process runs, the detail table is displayed by pressing the icon in the Instance column. This table contains the start/end time of the process, which robot is assigned, and its status. For recurring processes under a schedule, this table contains multiple rows.
For the runs with the WAITING status, the waiting reason is shown at the pop-up window that appears when hovering over the icon under the Waiting Reason column.
The flow of processes is displayed in the window that opens by clicking the icon under the Show Diagram column. If a step in the flow is marked with blue border color, it means the step is completed successfully. If the border color is green, it means that the operation in this step is in progress. This allows you to follow the performed steps in the flow after the process is completed or while it is running. In addition, the window contains the values of the variables in the process on the table below.
A detailed log is created for the operations of each step in the process. These logs can be accessed from the window that opens by clicking the icon in the Show Logs column.
If the scheduled processes are to be canceled or paused, select the process run is selected and click the Select an action button. Then, Pause or cancel options can be selected from the drop-down list. If paused or cancelled, the process will not start even if the start time for the run is passed. If there are processes in waiting or running statuses before cancelling or pausing, these processes will continue to run or start to run when the start time is over. Thus, pause and cancel actions only apply to the process(es) that will be added to the queue afterwards.
1.2.1. Processes in WAITING Status
Processes in WAITING status are the processes that have not yet started running, even though the start time is over. The process may be in waiting status due to the absence of a suitable worker to run the process or the worker(s) on which the process can run might be busy running another process. Processes in waiting status can be queried by selecting WAITING in the STATUS field, as shown in the first picture below. As seen in the second picture below, the waiting reason can be displayed by clicking the icon under the Instances column on the relevant row. If a process in waiting status needs to be canceled, select the process by clicking the checkbox next to it and click the Select Action button to list possible actions. Then, click the Cancel instance from the list to cancel a process. If the process priority is desired to be changed, click the Change priority from the same list.
1.3. Process Tracking on the Processes Page
Once the processes are running, they can also be tracked on the Processes tab. Unlike the Scheduled Process tab, this page does not include processes that are scheduled and have not yet started working on a robot. Therefore, the processes with WAITING status are not displayed here. As in the Scheduled Process tab, process flow and logs can be displayed by clicking on the Show diagram and Show log buttons after the process is selected.
By clicking on the filter icon on the tab above, inquiries can be made according to the status, process name, and running dates.
If the running is selected in the filter window, only on-going processes are displayed. To cancel a running process, click the Cancel process button on the page after the process run is selected. Therefore, the operation of the process can be terminated at any step if desired.
If any filtering is applied by process name or date, runs with different statuses are displayed. Failed process runs are indicated in red color.
1.4. Process Run Errors
Errors may occur at different steps in the processes while they are running. If the errors taken are not managed in the process (exception handling), the process run ends with an error status (FAILED). Process runs that are terminated with an error status are displayed by selecting failed in the filter window in the Processes tab.
When a failed process run is selected, the run details are shown on the right side of the page. The detailed error message can be checked here. The cause of the error can be understood by interpreting the process step in which this error message is taken. If the error message is not enough to understand why the error is caused, it is necessary to check the detailed logs.
By checking the flow of the process run, it can be determined at which step the error was taken. By clicking on the Show diagram button, the error definition and the step of the process with the error message can be seen. While successfully completed steps are shown in blue color, the color change is not observed in the error step.
To see the error details by checking the logs, click the Show Log button. The step that takes an error is again highlighted in red color. Log content includes which component received which error.
4.3 Chrome Driver Update
The browser driver used must be up to date.
Find out the Chrome Driver Version
.kb-row-layout-id_df4656-38 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_df4656-38 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_df4656-38 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:26px;padding-bottom:0px;grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_df4656-38{border-top-left-radius:25px;border-top-right-radius:25px;border-bottom-right-radius:25px;border-bottom-left-radius:25px;overflow:clip;isolation:isolate;}.kb-row-layout-id_df4656-38 > .kt-row-layout-overlay{border-top-left-radius:25px;border-top-right-radius:25px;border-bottom-right-radius:25px;border-bottom-left-radius:25px;}.kb-row-layout-id_df4656-38{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}.kb-row-layout-id_df4656-38 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_df4656-38 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 1024px){.kb-row-layout-id_df4656-38{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}@media all and (max-width: 767px){.kb-row-layout-id_df4656-38 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id_df4656-38{border-top:2px solid transparent;border-right:2px solid transparent;border-bottom:2px solid transparent;border-left:2px solid transparent;}}
.kadence-column_98845a-de > .kt-inside-inner-col{padding-top:25px;}.kadence-column_98845a-de > .kt-inside-inner-col,.kadence-column_98845a-de > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_98845a-de > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_98845a-de > .kt-inside-inner-col{flex-direction:column;}.kadence-column_98845a-de > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_98845a-de > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_98845a-de{position:relative;}@media all and (max-width: 1024px){.kadence-column_98845a-de > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_98845a-de > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_728d2f-aa > .kt-inside-inner-col,.kadence-column_728d2f-aa > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_728d2f-aa > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_728d2f-aa > .kt-inside-inner-col{flex-direction:column;}.kadence-column_728d2f-aa > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_728d2f-aa > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_728d2f-aa{position:relative;}@media all and (max-width: 1024px){.kadence-column_728d2f-aa > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_728d2f-aa > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_db6aa1-62 > .kt-inside-inner-col,.kadence-column_db6aa1-62 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_db6aa1-62 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_db6aa1-62 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_db6aa1-62 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_db6aa1-62 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_db6aa1-62{position:relative;}@media all and (max-width: 1024px){.kadence-column_db6aa1-62 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_db6aa1-62 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_b15238-21 > .kt-inside-inner-col,.kadence-column_b15238-21 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_b15238-21 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_b15238-21 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_b15238-21 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_b15238-21 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_b15238-21{position:relative;}@media all and (max-width: 1024px){.kadence-column_b15238-21 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_b15238-21 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Extract the Downloaded File from the zip.
Before moving the .exe file to the relevant location, it is necessary to close chromedriver.exe
in your Task Manager.
.kadence-column_046825-04 > .kt-inside-inner-col{padding-top:15px;}.kadence-column_046825-04 > .kt-inside-inner-col,.kadence-column_046825-04 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_046825-04 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_046825-04 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_046825-04 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_046825-04 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_046825-04{text-align:left;}.kadence-column_046825-04{position:relative;}@media all and (max-width: 1024px){.kadence-column_046825-04 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_046825-04 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kb-row-layout-id_e8f6b4-06 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_e8f6b4-06 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_e8f6b4-06 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_e8f6b4-06 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_e8f6b4-06 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_e8f6b4-06 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_767406-15 > .kt-inside-inner-col,.kadence-column_767406-15 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_767406-15 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_767406-15 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_767406-15 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_767406-15 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_767406-15{position:relative;}@media all and (max-width: 1024px){.kadence-column_767406-15 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_767406-15 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_044cba-9c > .kt-inside-inner-col,.kadence-column_044cba-9c > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_044cba-9c > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_044cba-9c > .kt-inside-inner-col{flex-direction:column;}.kadence-column_044cba-9c > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_044cba-9c > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_044cba-9c{position:relative;}@media all and (max-width: 1024px){.kadence-column_044cba-9c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_044cba-9c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_1b1286-97 > .kt-inside-inner-col,.kadence-column_1b1286-97 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_1b1286-97 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_1b1286-97 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_1b1286-97 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_1b1286-97 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_1b1286-97{position:relative;}@media all and (max-width: 1024px){.kadence-column_1b1286-97 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_1b1286-97 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
4.5 Start Chrome with Specific Profile
During the process, it may be required to open websites in a specific profile. The necessary settings should be pre-configured and saved in the profile.
In this example in the photo, Enter the “Profile 2” folder and copy all the data.
.kadence-column17662_ee2752-e3 > .kt-inside-inner-col,.kadence-column17662_ee2752-e3 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column17662_ee2752-e3 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column17662_ee2752-e3 > .kt-inside-inner-col{flex-direction:column;}.kadence-column17662_ee2752-e3 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column17662_ee2752-e3 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column17662_ee2752-e3{position:relative;}@media all and (max-width: 1024px){.kadence-column17662_ee2752-e3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column17662_ee2752-e3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kb-row-layout-id17662_091c60-76 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id17662_091c60-76 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id17662_091c60-76 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id17662_091c60-76 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id17662_091c60-76 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id17662_091c60-76 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column17662_9331a8-0b > .kt-inside-inner-col,.kadence-column17662_9331a8-0b > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column17662_9331a8-0b > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column17662_9331a8-0b > .kt-inside-inner-col{flex-direction:column;}.kadence-column17662_9331a8-0b > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column17662_9331a8-0b > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column17662_9331a8-0b{position:relative;}@media all and (max-width: 1024px){.kadence-column17662_9331a8-0b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column17662_9331a8-0b > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The previously copied data is pasted into the “Default” folder that was previously created.
C:\SpecificProfiles\Default\
.kadence-column17662_f3f96e-85 > .kt-inside-inner-col,.kadence-column17662_f3f96e-85 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column17662_f3f96e-85 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column17662_f3f96e-85 > .kt-inside-inner-col{flex-direction:column;}.kadence-column17662_f3f96e-85 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column17662_f3f96e-85 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column17662_f3f96e-85{position:relative;}@media all and (max-width: 1024px){.kadence-column17662_f3f96e-85 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column17662_f3f96e-85 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The directory address is written in the Profile Directory properties field within the Open component. The “Default” directory is not used.
C:\SpecificProfiles
During the process, the necessary settings for the profile should be made and saved in advance.
4.6 Start Opera with Specific Profile
During the process, it may be required to open websites in a specific profile. The necessary settings should be pre-configured and saved in the profile.
.kadence-column_31d999-05 > .kt-inside-inner-col,.kadence-column_31d999-05 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_31d999-05 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_31d999-05 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_31d999-05 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_31d999-05 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_31d999-05{position:relative;}@media all and (max-width: 1024px){.kadence-column_31d999-05 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_31d999-05 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The “Functions” Activity under the “Applications” component can refresh the page in the previously opened “Open” Activity check whether a field exists on the page or find the number of rows in a table on the page.
.kadence-column_4ae6be-37 > .kt-inside-inner-col,.kadence-column_4ae6be-37 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_4ae6be-37 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_4ae6be-37 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_4ae6be-37 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_4ae6be-37 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_4ae6be-37{position:relative;}@media all and (max-width: 1024px){.kadence-column_4ae6be-37 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_4ae6be-37 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
With the “Functions” activity, it is possible to access the information on how many different currencies the daily exchange rates are given on the “TCMB” page.
In this example, since the header is also considered a row, it is necessary to skip the first row in the Xpath. Therefore, Xpath should be written as: //*[@id="kurlarContainer"]/table[1]/tbody/tr[position()>1]
The “Functions” activity can be used in cases where the page opened anywhere in the process needs to be refreshed and reloaded.
.kadence-column_3ccd04-23 > .kt-inside-inner-col{padding-top:50px;}.kadence-column_3ccd04-23 > .kt-inside-inner-col,.kadence-column_3ccd04-23 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_3ccd04-23 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_3ccd04-23 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_3ccd04-23 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_3ccd04-23 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_3ccd04-23{position:relative;}@media all and (max-width: 1024px){.kadence-column_3ccd04-23 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_3ccd04-23 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
For example, it can control an error message on a page in the process.
.kadence-column_7a2361-87 > .kt-inside-inner-col,.kadence-column_7a2361-87 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_7a2361-87 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_7a2361-87 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_7a2361-87 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_7a2361-87 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_7a2361-87{position:relative;}@media all and (max-width: 1024px){.kadence-column_7a2361-87 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_7a2361-87 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
In this example, an incomplete entry will be made to check whether the error has appeared. In other processes, these fields can be filled in completely and a control stage can be created with the “Gateway” structure and progress can be made according to this control.
.kadence-column_6995c3-01 > .kt-inside-inner-col,.kadence-column_6995c3-01 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_6995c3-01 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_6995c3-01 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_6995c3-01 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_6995c3-01 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_6995c3-01{position:relative;}@media all and (max-width: 1024px){.kadence-column_6995c3-01 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_6995c3-01 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
DELIMITER //
Create Procedure subjects (IN S_Subject VARCHAR(25), OUT total INT)
BEGIN
SELECT count(subject)
INTO total
FROM student_info
WHERE subject = S_subject;
END //
DELIMITER ;
Procedure
.kadence-column_88d87a-db > .kt-inside-inner-col,.kadence-column_88d87a-db > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_88d87a-db > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_88d87a-db > .kt-inside-inner-col{flex-direction:column;}.kadence-column_88d87a-db > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_88d87a-db > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_88d87a-db{position:relative;}@media all and (max-width: 1024px){.kadence-column_88d87a-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_88d87a-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The table named “student_info”
param1 : [“1”, “STRING”, “IN”, “History”]
param2 : [“2”, “INTEGER”, “OUT”, “@total”]
Once the parameters are defined correctly, all we have to do is write our query. The correct usage for this query is as follows:
Stored procedure :{call subjects(?,?)}
.kb-row-layout-id_95303e-c7 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_95303e-c7 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_95303e-c7 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_95303e-c7 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_95303e-c7 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_95303e-c7 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_870d69-14 > .kt-inside-inner-col,.kadence-column_870d69-14 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_870d69-14 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_870d69-14 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_870d69-14 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_870d69-14 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_870d69-14{position:relative;}@media all and (max-width: 1024px){.kadence-column_870d69-14 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_870d69-14 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
DELIMITER //
create procedure SHOW_SUPPLIERS()
begin
select name, address
from student_info;
end//
DELIMITER ;
Procedure
.kadence-column_63ac5e-0f > .kt-inside-inner-col,.kadence-column_63ac5e-0f > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_63ac5e-0f > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_63ac5e-0f > .kt-inside-inner-col{flex-direction:column;}.kadence-column_63ac5e-0f > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_63ac5e-0f > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_63ac5e-0f{position:relative;}@media all and (max-width: 1024px){.kadence-column_63ac5e-0f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_63ac5e-0f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_e6fbae-ce > .kt-inside-inner-col,.kadence-column_e6fbae-ce > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_e6fbae-ce > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_e6fbae-ce > .kt-inside-inner-col{flex-direction:column;}.kadence-column_e6fbae-ce > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_e6fbae-ce > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_e6fbae-ce{position:relative;}@media all and (max-width: 1024px){.kadence-column_e6fbae-ce > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_e6fbae-ce > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
When the above query is made, the result that will return is as follows.
.kadence-column_c7435d-1c > .kt-inside-inner-col,.kadence-column_c7435d-1c > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_c7435d-1c > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_c7435d-1c > .kt-inside-inner-col{flex-direction:column;}.kadence-column_c7435d-1c > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_c7435d-1c > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_c7435d-1c{position:relative;}@media all and (max-width: 1024px){.kadence-column_c7435d-1c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_c7435d-1c > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The parameters required while designing the process in the modeler are as follows;
param1 :
[“1”, “RESULTSET”, “OUT”, “”]
query sql :
{ call SHOW_SUPPLIERS()}
5. Robusta RPA Components
This section contains the components and activities that you will use while designing your processes with Robusta RPA. The common areas in the properties of all components are given below. The features specific to the activity are on the pages of the activities.
Common Attributes
The attributes listed below are common characteristics of the activities. When designing the process, the field in the Name field can be named. The other field do not need to be filled in.
Id
The unique identifier of the item within the transaction model.
Asynchronus
Indicates the synchronous or asynchronous operating status of the item.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
5.1 Diagram
The business processes are mapped graphically using the Modeler (Design Studio). For modeling the processes, end user or process developer uses BPMN-Diagram.
5.1.1 BPMN-Diagram
In BPMN, the processes are described using diagrams with a series of graphic elements. Such a visual presentation makes it easy for users to understand the logic of a process. BPMN has been primarily developed to design and read both simple and complex diagrams of business processes. For that, the BPMN standard classifies the graphic elements by categories: as a result, the elements are easily recognized by the users who work with business process diagrams.
5.2 Start Events
Start Events define where a Process or Sub-Process starts and to start a process, it must include one start event.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
Execution listeners
Listener of activity. Listeners are created at the start and end of activity.
5.2.1 Start event
Start event activity, also called Untyped start event or the None start event, defines where a process starts. Start event activity is the most common type of event. Processes that start with such an event are created without any pre-conditions. It is common to use this event when a human starts a process through a graphical user interface.
Initiator
Initiator of the process.
Form key
Form key that provides a reference to a form.
Form reference
A specific form name.
Validate form fields
Validate the form fields. If you check the fields, set true in this field, otherwise set false.
Form properties
Definition of the form with a list of form properties.
5.2.1 Start timer event
Start timer event activity creates process instance on cyclic timer events, at points in time, after time spans or after timeouts.
Time cycle (e.g. R3/PT10H):
Define the recurring time interval to start process at certain intervals or send multiple reminders for behind schedule user task.
Time Date in ISO-8601
Define the timer with an ISO-8601 date definition.
Time Duration (e.g. PT5M)
Define the timer with an ISO-8601 duration.
5.2.1 Start signal event
Start signal event activity starts process instance based on signaling across different processes. A single thrown signal can be caught multiple times by different catching signal events.
Signal reference
The part of execution in which a signal is thrown and caught by intermediate events.
Interrupting
Specify whether or not all parent executions are terminated.
5.2.1 Start message event
Start message event activity starts process instance on receipt of a message.
Message reference
Execution in which one start event and one intermediate catching event state two message event.
Interrupting
Specify whether or not all parent executions are terminated.
5.2.1 Start error event
Start error event activity is used for catching named errors. This activity is only used inside of an event sub-process.
Error reference
Reference name of error.
Interrupting
Specify whether or not all parent executions are terminated.
5.2.1 Start escalation event
Start escalation event activity triggers an event sub-process to start.
Escalation reference
Reference name of escalation.
Interrupting
Specify whether or not all parent executions are terminated.
5.2.1 Start condition event
Start condition event activity checks if a condition is true and triggers event. It can be used as start event of an event sub process, as intermediate event and boundary event. The start and boundary event can be interrupting and non interrupting.
Condition express
Define a condition expression for the conditional event.
Interrupting
Specify whether or not all parent executions are terminated.
5.3 Activities
Activities are the elements that actually do something in a process. The activities are defined as a Task.
Task: The smallest unit of work in a process, for instance, the prompt to fill out a form or a call to an external web service. Tasks are the most common type of activity. In essence, tasks are the elements that do something in a process.
5.3.1 User task
Usert task activity is a typical “workflow” Task where a human performer performs the Task with the assistance of a software application and is scheduled through a task list manager of some sort.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is for compensation
A flag that identifies whether this activity is intended for the purposes of compensation.
Assignments
Defines the assignee of a task. The assignee is the person who is responsible for the completion of a task. By default, the assignee is set to $INITIATOR which is a special variable that is set to the user who started the process. It is possible to set the assignee directly or through an expression. In both cases, the expected value is the User ID of the assignee.
Form key
Form key that provides a reference to a form.
Form reference
The form associated with the User Task. Once a user opens the task, he or she is presented with the referenced form. It is possible to create a new form, reference an existing one or delete the current reference.
Validate form fields
If the form is submitted and validate form fields expression evaluates to true, form fields are validated on the back send according to the form model restrictions.
Due date
The due date of the task.
Priority
An integer number denoting the priority of the task.
You can use the Result variable nameas shown in the example.
resultvar
You can use the Skip expression as shown in the example.
${firstName}
You can use the Task listeners as shown in the examples.
Occurs when the task has been created and all task properties are set:
create
Occurs when the task is assigned to somebody. Please note that the Assignment event is fired before the Create event:
assignment
Occurs when the task is completed and just before the task is deleted from the runtime data:
complete
Occurs just before the task is going to be deleted or completed:
delete
5.3.1 Service task
Service task activity uses some sort of service, which could be a Web service or an automated application.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Set service task to be triggerable
Sets service tasks to be triggerable. This makes it possible that an external trigger determines when to continue the execution of the process once the Service Task was executed.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is for compensation
A flag that identifies whether this activity is intended for the purposes of compensation.
Class
Class that implements the service task logic.
Expression
An expression which is resolved once the task is executed.
Delegate expression
Service task logic defined with a delegate expression.
Class fields
Class fields make it possible to inject field values into your delegated class.
Result variable name
The name of the variable in which the result of the Service Task’s execution is stored.
Use local scope for result variables
Indicates whether to store the result variable as a local variable.
Skip expression
Defines an expression which is evaluated before executing the task.
You can use the Result variable nameas shown in the example.
resultvar
You can use the Skip expression as shown in the example.
${firstName}
5.3.1 Script task
Script task activity executes processes that modeler or implementer defines a script in a language that the engine can interpret.
Script format
Script format of the script task that will be selected from combobox.
Script
Script text of the script task.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is for compensation
A flag that identifies whether this activity is intended for the purposes of compensation.
Auto store variables
Automatically stores any variable defined in the script on the execution. Please note that some languages such as JavaScript do not support this feature.
You can use the Script format as shown in the examples.
GroovyJavaScript
You can use the Script as shown in the example.
var today = new Date();
var a = new Date(today.getFullYear(), today.getMonth()+1, 0);
var b = a.toString();
execution.setVariable("tarih",b);
You can use the Execution listeners as shown in the examples.
StartEndTake
You can use the Multi-instance type as shown in the examples.
Default, only one instance is created:
None
Activities are created in parallel. This is a good practice for User tasks activity:
Parallel
Activities are created sequentially. This is a good practice for Service tasks activity:
Sequential
You can use the Cardinality (Multi-instance) as shown in the examples.
${number}2
You can use the Collection (Multi-instance) as shown in the example.
2
You can use the Element variable (Multi-instance) as shown in the example.
elementvar
You can use the Completion Condition (Multi-instance) as shown in the example.
true${variable==True}
.kb-row-layout-id_1659ae-de > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_1659ae-de > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_1659ae-de > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_1659ae-de > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_1659ae-de > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_1659ae-de > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_78682d-a9 > .kt-inside-inner-col,.kadence-column_78682d-a9 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_78682d-a9 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_78682d-a9 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_78682d-a9 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_78682d-a9 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_78682d-a9{position:relative;}@media all and (max-width: 1024px){.kadence-column_78682d-a9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_78682d-a9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_8c8fbe-f4 > .kt-inside-inner-col,.kadence-column_8c8fbe-f4 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_8c8fbe-f4 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_8c8fbe-f4 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_8c8fbe-f4 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_8c8fbe-f4 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_8c8fbe-f4{position:relative;}@media all and (max-width: 1024px){.kadence-column_8c8fbe-f4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_8c8fbe-f4 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
To create a script;
Fill in the Script name, Script description, and the script content to be added using the “Script – Add New Custom Script” button.
Click on the “Save” button to save the script.
Access the added script from “Scripting Helper – JS Custom Scripts”.
To edit a script;
Select the created script from “Scripting Helper – JS Custom Scripts” and click on the “Edit” button.
To delete a script;
Select the created script from “Scripting Helper – JS Custom Scripts” and click on the “Remove” button.
5.3.1 Mail task
Mail task activity is used for sending mails to receiver in another process or Swimlanes. It is necessary to set up an email server via configuration since there is no mail server.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is for compensation
A flag that identifies whether this activity is intended for the purposes of compensation.
Headers
Line separated mail headers.
To
The recipients of the email. Multiple recipients can be defined in a comma-separated list.
From
The sender email address. If not provided, the default configured “from address” is used.
Subject
The subject of the email.
Cc
The CC (Carbon Copy) recipients of the email. Multiple recipients can be defined in a comma-separated list.
Bcc
The BCC (Blind Carbon Copy) recipients of the email. Multiple recipients can be defined in a comma-separated list.
Text
Text of the email in clear text. If HTML is not supported on the receiver’s end, the text version of the email is displayed.
Html
Content of the email in the HTML format. This allows for the creation of rich formatting and the usage of images.
You can use the Execution listeners as shown in the examples.
StartEndTake
You can use the Multi-instance type as shown in the examples.
Default, only one instance is created:
None
Activities are created in parallel. This is a good practice for User tasks activity:
Parallel
Activities are created sequentially. This is a good practice for Service tasks activity:
Sequential
You can use the Cardinality (Multi-instance) as shown in the examples.
${number}2
You can use the Collection (Multi-instance) as shown in the example.
2
You can use the Element variable (Multi-instance) as shown in the example.
elementvar
You can use the Completion Condition (Multi-instance) as shown in the example.
true${variable==True}
5.4 Structural
Structural is used for designing processes within processes and accessing the existing processes.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
Asynchronous
Indicates the synchronous or asynchronous operating status of the item.
5.4.1 Sub process
Sub process activity is a graphical object within a process that contains activities, gateways, events and sequence flows. It can also contain sub processes.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Data objects
Defines the Data Objects of the process or sub process. Each data object is initialized as a process variable under the defined name.
Execution listeners
Listener of activity. Listeners are created at the start and end of activity.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is a transaction sub process
Identifies whether this sub process is type of transaction. A BPMN transaction is a set of activities that logically belongs together. Transactions can be canceled through the Cancel End Event and handled through the Cancel Intermediate Boundary Event.
You can use the Execution listeners as shown in the examples.
The “Start” property indicates the moment when a process is initiated. When a workflow process starts, this property can trigger an execution listener. It can be used to perform specific actions at the beginning of the workflow process.
Start
The “End” property signifies the moment when a process is completed. When a workflow process finishes, this property can trigger an execution listener. It can be used to perform specific actions at the end of the workflow process.
End
The “Take” property denotes the moment when a flow transitions from one task or activity to another. Thus, when a step in the workflow moves to another step, this property can trigger an execution listener. It can be used to manage data transitions or conditional operations between tasks.
Take
You can use the Multi-instance type as shown in the examples.
Default, only one instance is created:
None
Activities are created in parallel. This is a good practice for User tasks activity:
Parallel
Activities are created sequentially. This is a good practice for Service tasks activity:
Sequential
You can use the Cardinality (Multi-instance) as shown in the examples.
${number}2
You can use the Collection (Multi-instance) as shown in the example.
2
You can use the Element variable (Multi-instance) as shown in the example.
elementvar
You can use the Completion Condition (Multi-instance) as shown in the example.
A Sub-Process can only have one none start event; no other start event types are allowed. A Sub-Process must at least have one end event.
5.4.1 Collapsed sub process
Collapsed sub process activity hierarchial modeling for a high-level, end-to-end overview of the business process by enabling Sub-processes to be collapsed, resulting in hiding all details.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Data objects
Defines the Data Objects of the process or sub process. Each data object is initialized as a process variable under the defined name.
Execution listeners
Listener of activity. Listeners are created at the start and end of activity.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element Variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion Condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is a transaction sub process
Identifies whether this sub process is type of transaction.
You can use the Execution listeners as shown in the examples.
The “Start” property indicates the moment when a process is initiated. When a workflow process starts, this property can trigger an execution listener. It can be used to perform specific actions at the beginning of the workflow process.
Start
The “End” property signifies the moment when a process is completed. When a workflow process finishes, this property can trigger an execution listener. It can be used to perform specific actions at the end of the workflow process.
End
The “Take” property denotes the moment when a flow transitions from one task or activity to another. Thus, when a step in the workflow moves to another step, this property can trigger an execution listener. It can be used to manage data transitions or conditional operations between tasks.
Take
You can use the Multi-instance type as shown in the examples.
Default, only one instance is created:
None
Activities are created in parallel. This is a good practice for User tasks activity:
Parallel
Activities are created sequentially. This is a good practice for Service tasks activity:
Sequential
You can use the Cardinality (Multi-instance) as shown in the examples.
${number}2
You can use the Collection (Multi-instance) as shown in the example.
2
You can use the Element variable (Multi-instance) as shown in the example.
elementvar
You can use the Completion Condition (Multi-instance) as shown in the example.
Event sub process activity is triggered by an event and can be added at the process level or at any sub process level. Event sub process activity might be triggered using events like message events, error events, signal events, timer events, or compensation events. The subscription to the start event is created when the scope (process instance or sub process) hosting the event sub process is created. The subscription is removed when the scope is ended.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Execution listeners
Listener of activity. Listeners are created at the start and end of activity.
You can use the Execution listeners as shown in the examples.
The “Start” property indicates the moment when a process is initiated. When a workflow process starts, this property can trigger an execution listener. It can be used to perform specific actions at the beginning of the workflow process.
Start
The “End” property signifies the moment when a process is completed. When a workflow process finishes, this property can trigger an execution listener. It can be used to perform specific actions at the end of the workflow process.
End
The “Take” property denotes the moment when a flow transitions from one task or activity to another. Thus, when a step in the workflow moves to another step, this property can trigger an execution listener. It can be used to manage data transitions or conditional operations between tasks.
Take
5.4.1 Call activity
A Call activity identifies a point in the Process where a global Process or a Global Task is used. The Call activity acts as a ‘wrapper’ for the invocation of a global Process or Global Task within the execution. The activation of a call activity results in the transfer of control to the called global Process or Global Task.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Complete asynchronously
Executes the completion of the call activity in an exclusive asynchronous job. This is for example useful in combination with parallel multi-instance.
Execution listeners
Listener of activity. Listeners are created at the start and end of activity.
Called element
Reference of a process.
Called element type
Sub process type is an attribute that defines whether the sub-process details are embedded within the higher level process or refers (Reference) to another, re-usable process.
Input parameters
An optional input parameter map. Allows the mapping of parameters and variables which are then available in the newly created process.
Output parameters
An optional output parameter map. Allows the mapping of parameters and variables onto the original Case Work Item as the Human task’s Work Item completes.
Inherit variables in sub process
Inherit parent process variables in the newly created process.
Start the referenced process from the same deployment
Choose true if process that is started is in the same process. Choose false if the newest process definition will always be used. Default value is true.
Fallback to default tenant
Look for the definition by key in the default tenant when current tenant search fails.
Process instance name
The name of process that will be created. Note: When this field is left blank, the default value is “ProcessName_call_activity_Date”
.
Inherit business key
Inherit the business key from the parent process.
Business key expression
Business key of the newly created process instance. Can be an expression.
Use local scope for out parameters
Use local variable scope for out parameters.
Multi-instance type
Determines if multiple instances of this activity are created.
Cardinality (Multi-instance)
An expression or numeric value (integer) that determines how many instances are created.
Collection (Multi-instance)
The number of instances is determined by the elements of a collection. For each element in the collection, a new instance is created.
Element variable (Multi-instance)
The variable under which each element is available to the newly created instance.
Completion condition (Multi-instance)
An expression that, if it evaluated to true, stops the creation of new instances.
Is a transaction sub process
Identifies whether this sub process is type of transaction.
You can use the Execution listeners as shown in the examples.
The “Start” property indicates the moment when a process is initiated. When a workflow process starts, this property can trigger an execution listener. It can be used to perform specific actions at the beginning of the workflow process.
Start
The “End” property signifies the moment when a process is completed. When a workflow process finishes, this property can trigger an execution listener. It can be used to perform specific actions at the end of the workflow process.
End
The “Take” property denotes the moment when a flow transitions from one task or activity to another. Thus, when a step in the workflow moves to another step, this property can trigger an execution listener. It can be used to manage data transitions or conditional operations between tasks.
Take
Default, creates only one instance:
key
Creates in parallel:
End
You can use the Input parameters as shown in the examples.
Source: variablex
Source Expression: variablex is using for …. (any description)
Target: variablex
Target Expression: variablex is receiving from main process. (any description)
You can use the Output parameters as shown in the examples.
Source: variablex
Source Expression: variablex is using for …. (any description)
Target: variablex
Target Expression: Sending variablex to main process. (any description)
You can use the Multi-instance type as shown in the examples.
Default, only one instance is created:
None
Activities are created in parallel. This is a good practice for User tasks activity:
Parallel
Activities are created sequentially. This is a good practice for Service tasks activity:
Sequential
You can use the Cardinality (Multi-instance) as shown in the examples.
${number}2
You can use the Collection (Multi-instance) as shown in the example.
2
You can use the Element variable (Multi-instance) as shown in the example.
elementvar
You can use the Completion Condition (Multi-instance) as shown in the example.
You can use the Ordering as shown in the examples.
ParallelSequential
5.5 Gateways
Gateways are used for controlling how the Process flows through Sequence Flows as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
Asynchronous
Indicates the synchronous or asynchronous operating status of the item.
5.5.1 Exclusive gateway
Exclusive gateway is used for creating alternative paths within a process flow.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Flow order
The order in which the outgoing flows are evaluated and stored in the XML representation of the process. The order of the outgoing flows is managed by clicking on the up and down arrows icon.
To decide which route the process follows, the conditions on the outgoing Sequence Flows are checked. The conditions are modeled as an expression and must always evaluate to a boolean value of true or false. It is important to understand that the conditions of an exclusive gateway are not modeled on the gateway itself but rather on the outgoing sequence flows.
If more than one condition evaluates to true, the path that was defined first is chosen. This should obviously never happen. If no condition evaluates to true, the process is stuck.
There is the possibility to mark a Sequence Flow as Default Flow. If you do so, the flow follows this route if no condition matches.
5.5.1 Parallel gateway
Parallel gateway activity is used for synchronizing flows within a process flow and creating parallel flows at the same time. Contrary to Exclusive gateway activity, all conditions are calculated.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Flow order
The order in which the outgoing flows are evaluated and stored in the XML representation of the process. The order of the outgoing flows is managed by clicking on the up and down arrows icon.
Parallel gateways are used to model situations where more than one path is executed in parallel. These gateways do not have any conditions since all paths are always executed. To join parallel branches, use another parallel gateway. The execution only continues once all paths have been completed.
5.5.1 Inclusive gateway
Inclusive gateway activity create alternative but parallel paths within a process flow. Contrary to Exclusive gateway activity, all conditions are calculated.
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Flow order
The order in which the outgoing flows are evaluated and stored in the XML representation of the process. The order of the outgoing flows is managed by clicking on the up and down arrows icon.
To decide which route(s) the process follows, the conditions on the outgoing Sequence Flows are checked. The condition is modeled as an expression and must always evaluate to a boolean value of true or false. It is important to understand that the conditions of an inclusive gateway are not modeled on the gateway itself but rather on the outgoing sequence flows.
Every time a condition evaluates to true or if a Sequence Flow has no condition, the process branches at that position. If no condition evaluates to true or if there is no Sequence Flow without a condition, the process is stuck.
To join inclusive branches, use another inclusive gateway. The execution only continues once all paths have been completed.
5.5.1 Event gateway
Event gateway activity represents a branching point in the Process where the alternative paths that follow the Gateway are based on Events that occur, rather than the evaluation of Expressions using Process data (as with an Exclusive or Inclusive Gateway).
Exclusive
When it receives a special job from a specific process example, it makes jobs run in order.
Flow order
The order in which the outgoing flows are evaluated and stored in the XML representation of the process. The order of the outgoing flows is managed by clicking on the up and down arrows icon.
Event Gateways are used to model branches which are depending on the occurrence of two or more events. The process execution stops at the gateway and resumes once one of the events connected via Sequence Flow occur.
5.6 Boundary Events
Boundary event is used to keep track of activities. In other words, boundary event actively follow the activities whether there’s a some triggering event that can change the direction of the diagram. If the event occurs, the execution route of the process follows the outgoing sequence based on the boundary event. Boundary event activities can be attached tasks, sub-process or call activities
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
5.6.1 Throw error
Throw error activity is used for throwing errors.
Asynchronous
Indicates the synchronous or asynchronous operating status of the item.
*Error message
Error message that will be shown.
Note: * Fields selected with are required, others are optional.
5.6.1 Boundary error event
Boundary error event activity catches error event and when it does, it destroys activity that error event is attached to and also destroys ongoing processes. Process follows the sequence flow of boundary error event activity.
Error reference
Reference name of error reference.
Error message contains
Allows the continuation of the desired flow depending on the content of the error message in an activity
5.6.1 Boundary escalation event
Boundary escalation event activity directs process to another flow by throwing and escalation and can be only attached to an embedded sub-process or a call activity, since an escalation can only be thrown by an escalation intermediate throw event or an escalation end event. When boundary escalation event acitivity is triggered by an escalation event from a call activity, then the defined output variables of the call activity are passed to the scope of the boundary event.
Escalation reference
Reference name of escalation.
5.6.1 Boundary timer event
Boundary timer event acts as a stopwatch and as an alarm clock. When it’s time to execute the activity to which the boundary event is attached, a timer is started. When the timer fires (e.g., after a specified interval), the activity is interrupted and the sequence flow going out of the timer boundary event is followed.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Time cycle (e.g. R3/PT10H)
Define the timer with the ISO-8601 cycle.
Time date in ISO-8601
Define the timer with ISO-8601 date definition.
Time duration (e.g. PT5M)
Define the timer with ISO-8601 duration.
Time End Date in ISO-8601
Define the timer with ISO-8601 date definition.
Cancel activity
Provides the activity cancelling.
5.6.1 Boundary signal event
Boundary signal event activity delays process execution until a particular signal is received. Signaling can happen across different processes.
Signal reference
Reference name of signal.
Cancel activity
Provides the activity cancelling.
5.6.1 Boundary message event
Boundary message event activity catches message on the boundary of activity or catches messages that are defined in message reference.
Message reference
Reference name of message.
Cancel activity
Provides the activity cancelling.
5.6.1 Boundary cancel event
Boundary cancel event activity is triggered when a transaction is canceled and interrupts all active executions in the current scope.
5.6.1 Boundary conditional event
Boundary conditional event activity is triggered if a specific condition is met.
Condition expression
Define the condition expression for the conditional event.
5.6.1 Boundary compensation event
Boundary compensation event activity is used for partially failed operations. This event needs to be attached to the boundary of an activity.
5.7 Intermediate Catching Events
Intermediate Catching Events indicate that some triggering event happens that is triggered based on certain conditions during a process. Catching events activity waits for any triggering events to occur from the beginning, therefore, every start event activity is a catching event.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
5.7.1 Intermediate timer catching event
Intermediate timer catching event activity delays process execution until a certain point in time is reached or a particular duration is over.
Execution listeners
Listeners for an activity, process, sequence flow, start and end event.
Time cycle (e.g. R3/PT10H)
Define the timer with ISO-8601 cycle.
Time date in ISO-8601
Define the timer with ISO-8601 date definition.
Time duration (e.g. PT5M)
Define the timer with ISO-8061 duration.
5.7.1 Intermediate signal catching event
Process execution is delayed until a particular signal is received. Signaling can happen across different processes.
Execution listeners
Listeners for an activity, process, sequence flow and start and end event.
Signal reference
Reference name of signal.
5.7.1 Intermediate message catching event
Intermediate message catching event activity reacts upon the arrival of a message.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
Message reference
Reference name of message.
5.7.1 Intermediate conditional catching event
Intermediate conditional catching event activity starts process according to some conditions.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
Condition expression
Define a condition expression for the conditional event.
5.8 Intermediate throwing events
Intermediate throwing events indicate something that happens during a process. Throwing event allows another part of your process (Or a new process) to proceed or start. Therefore, every end event activity is a throwing event.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
5.8.1 Intermediate none throwing event
Intermediate none throwing event activity marks the occurrence of a particular event. Process execution is not delayed. In combination with execution listeners, this type of event can, for instance, serve as points to capture KPIs or other metrics.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
5.8.1 Intermediate signal throwing error
Intermediate signal throwing error activity event fires a signal. Afterwards it continues the process execution. Signals can be thrown either from the back end or using the Signal throwing intermediate event. One single thrown signal can be caught multiple times by different catching signal events.
Execution listeners
Listeners for an activity, process, sequence flow and start and end event.
Signal reference
Reference name of signal.
Asynchronous
Indicates the synchronous or asynchronous operating status of the item.
5.8.1 Intermediate escalation throwing event
Intermediate escalation throwing event activity throws a named escalation. This escalation can be caught by a boundary escalation event activity or an event sub-process with an start escalation event that has the same or none escalation code.
5.9 End Events
End Events indicate where a path of a process ends and must be added to the end of process to terminate.
5.9.1 End event
End event activity indicates the end of a process.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
5.9.1 End error event
End error event activity ends process in sub process in particular error state. If you want to catch this particular error you should use boundary error event in the boundary of sub process. “Error reference” must be the same in boundary error event and end error event.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
Error reference
Reference name of error.
5.9.1 End escalation event
End escalation event activity ends the current path of execution and a named escalation is thrown.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
Escalation reference
Reference name of escalation.
5.9.1 End cancel event
End cancel event activity triggers the cancellation of a transaction.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
5.9.1 End terminate event
End terminate event activity triggers the immediate termination of a process instance. All steps still executing in parallel branches are terminated.
Execution listeners
Listeners for an activity, a process, a sequence flow, start and end event.
Terminate all
Enable to terminate the process instance.
5.10 Swimlanes
Processes in BPMN models are often wrapped in a so-called pool which is further divided into lanes.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
5.10.1 Pool
Pool, which uses a lane metaphor, places processes of a particular employee, workgroup or section on horizontal or vertical axis and provides clarity and accountability. This indicates the connections, communications and transition between lanes.
Process identifier
Unique identifier of the process definition.
Is executable
Determines whether or not the process is executable. There can only ever be one executable business process per process model.
A Pool is the graphical representation of a participant in a collaboration. A participant can be a specific PartnerEntity (e.g., a company) or can be a more general PartnerRole (e.g., a buyer, seller, or manufacturer). A pool may or may not reference a process. A pool is not required to contain a Process, i.e., it can be a “black box.”
5.10.1 Lane
A Lane is a sub-partition within a process (often within a pool) and will extend the entire length of the process level, either vertically or horizontally. Lanes are a good way to organize responsibilities in a process. Often, a pool defines a process or an organization and the lanes represent departments. BPMN elements such as Tasks, Gateways etc. are then modeled within the pool that most matches that organizational unit. While this has no effect on most tasks, User Tasks can benefit from it.
5.11 Artifacts
Artifacts provide additional information that modelers add to bring a necessary level of detail to the diagram. Artifacts do not directly add any runtime behavior but serve to make the model clearer.
5.11.1 Text annotation
Text annotations are a mechanism for a modeler to provide additional information for the reader of a process.
Id
The unique identifier of the element within the process model.
Name
Displayed name of the element in the canvas.
Documentation
It is a description and additional information about the item.
Text
The text of the text annotation.
5.12 Whatsapp
Whatsapp activities allow Whatsapp operations to be performed. In order to perform the operaitons, it is necessary to use the Whatsapp business API and the phone number must be registered in that service.
5.12.1 Send text message
Send text message activity is used for sending message to anyone.
*Gsm no
Gsm that the message will be sent is written in this field.
*Text message
Text message to send is written in this field.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:\RobustaTemp\QR.png
You can use the File name as as shown in the example.
C:\RobustaTemp\QR1.png
You can use the Image caption as as shown in the example.
This is the image I mentioned.
5.13 Applications
Applications activities refer to the automation of the interactions of desktop, Java, SAP and web applications with elements of graphical user interfaces. All interactions with the user interface can be represented as input (sending or adding something to the application) and output (receiving something from the application). Examples of these actions are clicking a button and typing text in a text box or retrieving text from a browser page.
You can reach a how-to guide on Web Applications by clicking here.
5.13.1 Open
Open activity enables the opening or to be attached of various applications such as a web browser, Windows, JAVA, and SAP.
*Application name
The reference name is given to the application which is desired to open in this field.
*Type
Select type of application which will be opened or attached.
Application reference
Reference id of application which is already running.
*Url
Url address of webpage for web applications or window title information for some applications such as Windows and Java applications.
Wait until load
If this checkbox is checked, it is waited until loading all elements of webpages or Windows.
Download directory
The default download path which is desired is written.
Timeout (sec)
Sets timeout period for checking visible or enable property of the element. Default value is 15.
Profile directory
The path of the profile folder is written. Chrome, Firefox or Opera profile allows you to maintain all of your browser details as apps, extensions, settings, browsing history, bookmarks, saved passwords, themes and open tabs.
Maximize
If it is checked, the application window will be open maximised.
Arguments
Arguments, browser item reference.
Note: * Fields selected with are required, others are optional.
You can use the Url for Browser as shown in the example.
https://www.robusta.ai/
You can use the Url for Windows as shown in the example.
Untitled – Notepad
You can use the Url for SAP as shown in the example.
UAT-Robusta-SAP
You can use the Download directory as shown in the example.
C:\Robusta
You can use the Download directory for SAP as shown in the example.
9080
You can use the Download directory as shown in the example.
C:\Profile1
You can use the Timeout (sec) as shown in the example.
5
5.13.1 Mouse actions
Mouse actions activity allows mouse actions to be performed at the specified location on the application.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown.
Button
Click type is chosen.
*Field
It is the field where the location (XPath) of the area is written.
Double click
It allows double-clicking on the desired area.
Wait until visible
If this checkbox is checked, it is waited until visible all elements of webpages or Windows.
Wait until load
If this checkbox is checked, it is waited until loading all elements of webpages or Windows.
Hover
The cursor is positioned on the relevant field.
X-coordinate
It clicks to the right or left of the XPath which is written in the Field as much as the given pixel value. Positive and negative values can be entered. Clicks to the right of XPath when using positive values, and negative values to the left.
Y-coordinate
It clicks to below or above of the XPath which is written in the Field as much as the pixel value given. Positive and negative values can be entered. Clicks on negative values below XPath when positive values are used.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Button as shown in the examples.
LEFTRIGHTNONE
You can use the Field for Browser as shown in the example.
(//input[@title=”Arama”])[1]
You can use the Field for Windows as shown in the example.
//Pane[@ClassName=Scintilla”]
You can use the X-Coordinateas shown in the example.
150
You can use the Y-Coordinateas shown in the example.
150
The above example use will do Left Double Click after the page and element is loaded to press the button whose location is given in the Field field .
5.13.1 Set methods
Set methods activity enables data writing to desired fields (Textbox, Combobox etc.) via browser or application.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown.
*Field
It is the field where the location (XPath) of the area is written.
Clear
If it is necessary, it enables clearing the field before setting.
*Type
The type of setting is chosen.
*Text
For the set operation, it is generally used over the Text. (When Type=attribute, the text field is not required)
Attribute name
If “Attribute” is selected as an action in the Type property, the attribute name of the element to be used must be written. In the process of setting a title, the Title to be changed should be entered in this field.
Wait until visible
If this checkbox is checked, it is waited until visible all elements of webpages or Windows.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Field as shown in the example.
(//input[@title=”Arama”])[1]
You can use the Type as shown in the examples.
Value and Attribute options can be used if the area to be printed text is a combobox and the desired text cannot be printed with the text method. Because on some websites and applications, it allows changing the values in the combobox only with attribute options. For this reason, setting up with the Text method does not work.
Title option should only be used if you want to change the title information of the site.
It can also be used as an alternative to the Text method in Keystroke.
Text is used to write text into the given content:
Text
It is used to change the value in the Html code for the entered location (Xpath) value:
Value
It is used to change the Attribute value in the Html code by specifying which Attribute value is desired for the entered location (Xpath) value:
Attribute
Used to change the title of the page that opens:
Title
It is a keyboard gesture. If the KeyStroke action is selected, the action desired to be performed on the keyboard is written in the text section:
Keystroke
You can use the Text as shown in the examples.
Coronavirus newsCoronavirus news for ${days}${days}
You can use the Attribute name as shown inthe examples.
ValueoptionHome – Robusta
The value to be set in the text field can be both written with a variable and entered directly as text. If it is to be entered as text, it can be entered as robusta. But the value is to be sent by means of the variable, the name of variable must be between brackets ({}) and start with $. Let’s assume that robusta is assigned to companyname variable and we will call a variable to obtain the value of that variable, the variable name must be typed as ${companyname}.
5.13.1 Get methods
Get methods activity is used for getting data from the desired fields through the browser or application.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown.
*Field
It is the field where the location (XPath) of the area is written.
*Type
To get data, the appropriate action should be selected.
Attribute name
If “Attribute” is selected as an action in the Type property, the attribute name to be fetched must be written.
*Result variable name
The variable name is defined in this property to store the data received from the application in a variable and use it in the next process step.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Field as shown in the example.
(//input[@title=”Arama”])[1]
You can use the Type as shown in the examples.
It returns the given content as text:
Text
It returns the “attribute” value in the location (Xpath) information entered:
Value
It returns the value of this attribute by entering the desired attribute information in the entered location (Xpath) information:
Attribute
When the application is opened, it brings up the page title:
Title
It brings up the link when the application is opened:
URL
You can use the Attribute name as shown inthe examples.
Attribute Name is not required for Title and Url option in actions.
Attribute Name is not required for Text option in Actionsvaluename
You can use the Result variable name as shown inthe example.
getResult
5.13.1 Wait actions
Wait actions activity allows the desired element to wait until it becomes clickable or visible through the browser or application. In this way, clicking or setting etc. Processes are delayed according to the loading state of the element, not a fixed waiting period.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Field
It is the field where the location (Xpath) of the area is to be waited for on the application.
*Wait for
It provides the selection of the wait action to be performed.
Timeout (sec)
The sets timeout period for checking visible or enable property of the element.
Default value is 15.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Field as shown in the example.
(//input[@title=”Arama”])[1]
It waits until the field in the given XPath location becomes visible:
Visible
It waits until the field in the given XPath location becomes invisible:
invisible
It waits until the field in the given XPath location becomes clickable:
Enable
You can use the Timeout (sec) as shown in the example.
5
In the example above, until the element whose location is given in the Field field is visible, the next action will not be carried out and the element will be expected to be visible.
5.13.1 Switch actions
Switch actions activity allows switching between desired windows or frames through the browser or application.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Switch to
The option of the field that wanted to switch in the application or page is chosen in the dropdown.
*Field
If the area to be transferred to is a frame, any field (XPath) in the frame must be written.
Note: If the “Switch to” property is selected as a “default window” or “default content”, the “Field” property can be left blank.
*Title
If the “Switch to” action is selected as “Window”, the “Match” action should be chosen appropriately. The window title should be written “Title” field.
If the full window title is written “Title” field, the equals option should choose in the “Match” field.
If the starting of the window title is written “Title” field, the starts option should choose in the “Match” field.
If the ending of the window title is written “Title” field, the ends option should choose in the “Match” field.
If any part of the window title is written “Title” field, the contains option should choose in the “Match” field.
Match
The desired option can be chosen when searching by title.
Retry Count
The number of attempts until the operation occurs is written, which can be any numeric value. Default value is 1.
Note: * The required fields may change according to the selected features.
You can use the Application name as shown in the example.
${robustaWebpage}
You can use the Switch to as shown in the example.
It allows switching between pages that are open more than one in the application:
Window
It allows to switch to frame within the opened application:
Frame
It provides the transition to the default main window:
Default Window
It is used to return to the previous content after switching to a Frame. In addition, although the elements to be accessed in some websites and applications cannot be in a separate window or frame, they still require access with the switch method. In these cases, the desired action can be performed by switching the content containing the element:
Default Content
You can use the Field as shown in the examples.
Since Xpath information is not required for Window, Default Content and Default Window options, the field can be filled with (*) character.
You can use the Application name as shown in the example.
robustaWebpage
You can use the X-coordinate as shown in the example.
300
You can use the Y-coordinate as shown in the example.
0
Scrolls the screen downwards:
Down
Scrolls the screen upwards:
Up
Scrolls the screen to the left:
Left
Scrolls the screen to the right:
Right
Page movement is not used in two directions at the same time. The process must be done separately for each movement.
If you want to move the page up or down only, the Y-coordinate field should be left blank.
If you want to move the page to the right or left only, the X-coordinate field should be left blank.
5.13.1 Scrape data
Scrape data activity allows receiving data in bulk via a browser or application.
You can find the information how to use scrape function using winspy, please follow the link.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Scraper name
It is the name of the dataset where the retrieved data will be stored.
Note: The data brought by the scrap method is actually kept in a dataset.
*Table
The location (Xpath) of the table is written in this field is written.
Header
The header part of XPath is written in this field.
Note: If there is no header for the Table, this field should be left blank.
First record header
If you want to point out the first record to be scraped as a title, the Checkbox should be selected.
*Row
The row part of Xpath is written in this field.
Note: This XPath should represent all the rows in the table.
*Column
The smallest part of XPath which includes the desired data is written in this field.
Note: This XPath should represent all the cells or repetitive data in the table.
Advertisement
The location (XPath) information of the advertisement button or pop-up (If any) seen on the page is written.
Wait (ms)
The time required to wait during the scrap is specified in milliseconds.
Next page
The location (Xpath) information of the next button of the table (If any) to be scraped is written. The provided XPath should not be found on the last page.
Initial popup click
Initial pop click locator Xpath.
Popup
If there is a pop-up on the page, the location (Xpath) information of the close button is written.
Max count
The maximum count of data to be scrapped is written.
Hover
If set to True, it scrolls the page down each time the data is scraped.
Note: * Fields selected with are required, others are optional.
You can use the Max count as shown in the example.
10
5.13.1 Alert actions
Alert actions activity provides the management of the browser’s own pop-ups on the browser. In other words, it is for the management of the pop-ups belonging to the browser, not any pop-up that appears on any site.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Action
Depending on the request, appropriate actions are provided for closing or accepting pop-ups that are opened on the screen of the browser or application.
Note: The activity uses in cases if there is no XPath information available.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Action as shown in the example.
When a notification comes to the application screen, it accepts it and makes the notification screen close:
Accept
When a notification comes to the application screen, it makes it close without accepting this warning:
Dismiss
5.13.1 Download file
Download file activity is used for downloading files with the help of the link address (URL) of the file to be downloaded in cases where there is no download button on any web page.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Url
Since the files do not have a download button, there is a link address in the HTML code section. It can be downloaded files using this link.
*Directory
This is the field where the directory to download the file to be downloaded is specified.
*File name
The name of the file to be downloaded is written.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Field as shown in the example.
//img[@id=”capthcaimage”
You can use the Directory as shown in the example.
C:\Robusta\Projects
You can use the File name as shown in the example.
robusta.jpeg
Screenshot files are image files. For this reason, it should be named a suitable lay down (JPG, jpeg etc.).
5.13.1 Functions
Functions activity finds the occurrence number of a desired element on the browser or windows application (This element can be an image, a button or a text), checking whether the item whose location is given exists on the current screen. Also, it allows the refresh of the page (Refresh) within a certain field or entire page on the browser or windows application.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Field
The location (Xpath) of the area where the action is desired is entered.
*Result variable name
The variable name which stores the data obtained by the Functions activity is written.
*Action
The desired action is chosen in the dropdown.
Retry Count
The number of attempts until the operation occurs is written.
Note: It can be any numeric value. Default value is 1.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
You can use the Field as shown in the example.
(//input[@title=”Arama”])[1]
You can use the Result variable name as shown inthe examples.
countResultexistResult
You can use the Action as shown inthe examples.
It returns the number of elements of the given content. It is possible to have more than one element with the same XPath on the page. For example, it can be used in cases where the number of rows in the table is found:
Element Count
It is used for refreshing a certain area or the entire page:
Refresh
It checks whether the element whose location (Xpath) information is given exists on the current screen and according to the result, the result is true if there is an element, otherwise, it is false It is used for refreshing a certain area or the entire page:
Exist
You can use the Retry Count as shown inthe examples.
7
Exists operation returns true or false only.
The result of the Element Count operation is returned only as a digit (in string format). (Eg: Such as 5, 3)
5.13.1 Run Script
This activity enables the execution of JavaScript code in the web interface.
*Application name
The reference name of applications which has already been opened or attached is chosen in the dropdown application which will be opened.
*Script
Script to be executed, must be JavaScript
*Result variable name
The variable name which stores the data obtained by the Run Script activity is written.
Note: * Fields selected with are required, others are optional.
You can use the Applications name as shown in the example.
${robustaWebpage}
5.14 Keyboard & Mouse
Keyboard & Mouse activities offer that simulate keyboard or mouse input that a human will use. There are also events that can set the focus to a specific window, minimize or maximize the screen or perform any action on it. These activities are necessary to create an automation that simulates human behavior.
You can use the Press key after typing x as shown in the example.
NONETABENTER
You can use the Wait after typing (ms) as shown in the example.
500
5.14.1 Hotkey
Hotkey activity is used for sending shortcut commands (CTRL + S, ENTER etc.) to the application that is active on the screen.
*Hotkey
The command information to be sent with the keyboard is written in this field. The command can also be entered as a variable. Note: The variables are used in ${} in Robusta RPA.
Note: * Fields selected with are required, others are optional.
Commands can be sent in binary or triple combination. While writing commands, the phrase “+” should be written between two commands.
BACK_SPACE
ALT
3
L or l
NUMPAD2
F10
}
TAB
PAUSE
4
M or m
NUMPAD3
F11
UNDEFINED
CAPS_LOCK
5
N or n
NUMPAD4
F12
QUOTE
ACCEPT
ESCAPE
6
O or o
NUMPAD5
WINDOWS
KP_UP
MODECHANGE
SPACE
7
Ö or ö
NUMPAD6
SUBTRACT
KP_DOWN
ALPHANUMERIC
PAGE_UP
8
P or p
NUMPAD7
ADD
KP_LEFT
@
PAGE_DOWN
9
Q or q
NUMPAD8
DELETE
KP_RIGHT
:
END
;
R or r
NUMPAD9
DEL
ALT_GRAPH
^
HOME
=
S or s
‘
NUM_LOCK
ALT_GR
!
LEFT
A or a
Ş or ş
+
SCROLL_LOCK
ALT-GR
(
UP
B or b
T or t
SEPARATER
&
STOP
#
RIGHT
C or c
U or u
%
*
AGAIN
+
DOWN
Ç or ç
Ü or ü
DECIMAL
QUOTEDBL
PROPS
)
,
D or d
V or v
DIVIDE
<
UNDO
–
E or e
W or w
F1
PRINTSCREEN
COPY
$
.
F or f
X or x
F2
INSERT
PASTE
€
/
G or g
Y or y
F3
HELP
FIND
~
¨
Ğ or ğ
Z or z
F4
META
CUT
CANCEL
|
H or h
[
F5
>
SEPARATOR
CLEAR
é
I or ı
F6
{
ENTER
SHIFT
0
İ or i
]
F7
n
?
CONTROL
1
J or j
NUMPAD0
F8
_
CTRL
2
K or k
NUMPAD1
F9
t
5.14.1 Key hold
Key hold activity allows holding down the ALT-SHIFT-CTRL keys on the keyboard and keying the characters that need to be typed with a shortcut on the keyboard.
*Key
The key to being kept pressed or released is chosen in the dropdown.
*Event
If KEY_DOWN is selected, the key is kept pressed, if the KEY_UP command is selected, the key is released.
Note: * Fields selected with are required, others are optional.
You can use the Result text name as shown in the examples.
getVar${Varname}
The data saved in the clipboard after any operation is taken into the process from the clipboard by giving a variable name. If the variable is already defined, the variable name is used as ${}:
${getVar}
5.15.1 Set to clipboard
Set to clipboard activity is used for writing text on the clipboard.
Text
It is the desired value to be written to the clipboard.
Note: * Fields selected with are required, others are optional.
Clipboard to dataset activity is used for converting the text read from the clipboard into a dataset.
*New dataset name
The reference name is given to the dataset which will create in this field.
*Has header
It indicates whether the first line of the text document to be opened is a title or not. If the feature is selected, it means there is a title, if it is not, it means no title.
Delimeter
The separator character in the text document to be opened is specified.
*Type
Indicates the data type. Data types differ in structure and separators.
Note: * Fields selected with are required, others are optional.
You can use the Delimeter as shown in the examples.
name; surname; age;
Data is written according to the separator of the data received in the set. Separators such as commas can be used.
5.15.1 Dataset to clipboard
Dataset to clipboard activity is used for writing the dataset to the clipboard.
*Dataset name
The reference name of the dataset which has already been created is chosen in the dropdown.
*Has header
It is indicated whether the first line of the text document to be opened is a title or not. If the feature is selected, it means there is a title, if it is not, it means no title.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
exampleExcel
You can use the Excel file name as shown in the example.
C:RobustaExample.xlsx
You can use the File password as shown in the example.
1234
5.16.1 Create
Create activity is used for creating an Excel file that did not exist before. Create process creates Excel and at the same time does the process of opening Excel.
*Excel name
The reference name is given to the excel file which will create in this field.
*Excel file name
The file path is written.
Overwrite
This checkbox enables overwriting if there is a file or folder with the same name.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
newExcel
You can use the Excel file name as shown in the example.
C:RobustaNew_Excel.xlsx
If the “Overwrite” checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, it is not necessary to mark this field. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message “There is folder already in the directory.
5.16.1 Save and close
Save and close activity is used for saving or closing Excel after the operations are performed in the Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
*Action
The desired operation is selected. There are three options, Save, Close and Save and Close.
Excel file name
The file path is written.
Note: If an excel file is desired to save as, write the name and path of the word file.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
newExcel
You can use the action as shown in the example.
SAVECLOSESAVE_AND_CLOSE
You can use the Excel file name as shown in the example.
C:New_Excel.xlsx
If you want to save Excel as a different excel, the Excel file path field must be filled.
If you want to perform both Save and Close operations, component should be used twice.
5.16.1 Copy
Copy activity is used for copying data in a specified range from an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Destination
It can be determined from which cell the copied data will be written in excel.
Source excel
The excel reference name from which the data will be received is chosen in the dropdown.
Source sheet
The Excel sheet name which will be retrieved data is written.
Range
The range of cells to be copied is given.
*Shift
Specifies how to copy the dataset to the Excel file.
Copy as value
It is the choice of copying the data to be copied with its values (without formulas).
Note: This checkbox will be important if there is a formula in Excel. If you want to hold the values you can copy the results as a value. If you do not check this box, you can lose the values.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Sheet name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Destination as shown in the example.
D1
You can use the Source excel as shown in the example.
${newExcel}
You can use the Range as shown in the example.
A1:B5
You can use the Shift as shown in the example.
Copies the data to the current location that is already data:
NONE
Copies your data to a valid location by shifting the current data to the right:
RIGHT
Copies your data to the current location by moving the existing data down:
DOWN
Sheet name fields do not have to be filled if the first page of the excel files will be copied. Otherwise, it must be filled.
If there are two separate excels and if there is a copy operation between these two excels, the Sheet name, Source sheet and Excel name fields must be filled.
5.16.1 Remove
Remove activity is used for deleting the inside of a column or a cell in an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Rows
The row index is written.
Column
Column name or index is written. If it is wanted to delete more than one column, it is named a column number, column letter, or column heading by separating it with a comma.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the New dataset name as shown in the example.
newDataset
You can use the Sheet name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Range as shown in the example.
A1:C5
Sheet name field can be left blank if it is desired to operate on the first page of the Excel file. Otherwise, it has to be filled. If the Range field is not filled, all of the data in the excel file constitutes the dataset range. If no Destination is given, it is copied to cell A1.
5.16.1 Write dataset to excel
Write excel to dataset activity allows the changes to be written to the relevant excel file after the dataset processes are completed.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
*Dataset name
The reference name of the dataset which has already been created is chosen in the dropdown.
Sheet name
The name of the sheet to work in excel can be added. If not added, it is accepted as the first sheet by default.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Destination
It can be determined from which cell the dataset will be written in excel.
If the Destination field is not filled, the dataset will be written its range directly into Excel.
Note: If the target range/area (Destination) is given and there is already data in the given area, that data will be written to the side of the dataset range.
*Shift
Specifies how to write the dataset to the excel file.
Include header
If there are column header in the resulting dataset, true is selected.
Row
Rows that will be written to the Excel.
Column
Columns that will be written to the Excel.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Dataset name as shown in the example.
${newDataset}
You can use the Sheet name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Destination as shown in the example.
A1
You can use the Shift as shown in the example.
Copies the data to the current location that is already data:
NONE
Copies your data to a valid location by shifting the current data to the right:
RIGHT
Copies your data to the current location by moving the existing data down:
DOWN
You can use the Row as shown in the example.
1:5
You can use the Column as shown in the example.
1:5
The sheet name field can be left blank if it is desired to operate on the first page of the Excel file. Otherwise, it has to be filled.
If the Destination field is not filled, the dataset prints its range directly into Excel. If the destination is given and if there is data in excel in the field where it is given, that data moves next to the dataset range.
5.16.1 Copy/Remove sheet
Copy/Remove sheet activity is used for copying data in a specified range from an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Note: When the “Action” property is selected as “Remove”, the “Sheet Name” field must be filled.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
*Action
The desired action is selected.
Source excel
The excel reference name from which the data will be received is chosen in the dropdown.
New sheet name
The name of new sheet to create in Excel is written.
Copy as value
If the checkbox is selected, formulas in Excel will be copied as a value.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Sheet name file name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Range name as shown in the example
A1:C5
If it is desired to delete a certain range in the page rather than a page in the Excel file, the range is given. If the range is not given, the entire sheet is deleted.
If the first page of the excel files will be processed, the sheet name fields do not have to be filled. Otherwise, it must be filled.
5.16.1 Pivot
Pivot activity is used for pivot operations that will be done in an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Source sheet
The Excel sheet name which includes data for the pivot is written.
Range
The information for the range to be pivoted is given.
Sheet name
The name of that sheet is given to show the result of the Pivot operation on a blank Excel sheet or a newly created Excel sheet.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Destination
It can be determined from which cell the pivoted data will be written in excel.
Note: If no destination is given, the copy is made to cell A1.
Columns
It gives which columns will consist of in the pivot operation.
Rows
It gives which rows will consist of in the pivot operation.
Values
The desired action is written.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${pivotExcel}
You can use the Source sheet as shown in the example.
Sheet1
You can use the Range as shown in the example.
A1:B3A:AA:H
You can use the Sheet name as shown in the example.
Pivot
You can use the Sheet index as shown in the example.
5
You can use the Destination as shown in the example.
A1
You can use the Columns as shown in the examples.
AA,B
You can use the Rows as shown in the example.
B
You can use the Values as shown in the examples.
SUM(C)COUNT(C),AVERAGE(C)
Supported functions:
AVERAGE
COUNT
COUNT_NUMS
MAX
MIN
PRODUCT
STD_DEV
STD_DEVP
SUM
VAR
VARP
If the first page of the excel files will be pivoted, the source sheet field does not have to be filled. Otherwise, it must be filled. If no Destination is given, it is copied to cell A1. If Range is not given, the entire range in the Excel file is taken. If there is more than one table or different data in the sheet, the “Range” field should be filled. Excel file that contains different columns with the same name, errors can occur during pivot operations. In this case, the column names should be changed.
5.16.1 Get row as json
Get row as json activity allows to create a variable in JSON format of a row in the excel.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Row
Row index.
*Result variable name
Variable name of the return value.
*Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Sheet name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Range as shown in the example.
A1:D7
The sheet name field can be left blank if it is desired to operate on the first page of the Excel file. Otherwise, it has to be filled. If the Range field is not filled, all of the data in the excel file constitutes the dataset range.
5.16.1 Set formula
Set formula activity is used for replacing formulas in a specified cell or range in an Excel file. If there is no formula in the cell, it cannot be used for new formula assignment.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Range
The range of cells to be received is given.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Sheet index
Index of the sheet to work in Excel. If not added, it takes the first sheet by default.
Formula
Excel formula is written without ‘=’ at the beginning.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Sheet name as shown in the example.
Sheet1
You can use the Sheet index as shown in the example.
5
You can use the Range as shown in the example.
A1:D7
Sheet name field can be left blank if it is desired to operate on the first page of the Excel file. Otherwise, it has to be filled. If the Range field is not filled, all of the data in the excel file constitutes the dataset range.
5.17 MS Excel
MS Excel activities provide methods for creating, extracting, and adding data to excel workbooks and worksheets in MS Excel.
5.17.1 Open
Open activity is used for opening an existing Excel file.
*Excel name
The reference name is given to the excel file which will open in this field.
*Excel file name
The file path is written.
Visible
Offers the option of whether the excel file is visible or not.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
newExcel
You can use the Excel file name as shown in the example.
C:RobustaNew_Excel.xlsx
If the “Overwrite” field’s checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message There is folder already in the directory.
5.17.1 Close
Close activity is used for closing Excel after the operations are performed in the Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
newExcel
You can use the action as shown in the example.
SAVESAVE ASSAVE_AS_AND_CLOSESAVE_AND_CLOSE
You can use the Excel file name as shown in the example.
C:New_Excel.xlsx
5.17.1 Copy
Copy activity is used for copying data in a specified range from an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Destination
It can be determined from which cell the copied data will be written in excel.
Source sheet
The Excel sheet name which will be retrieved data is written.
Range
The range of cells to be copied is given.
*Shift
Specifies how to copy the dataset to the Excel file.
Copy as value
It is the choice of copying the data to be copied with its values (without formulas).
Note: This checkbox will be important if there is a formula in Excel. If you want to hold the values you can copy the results as a value. If you do not check this box, you can lose the values.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the New dataset name as shown in the example.
newDataset
You can use the Sheet name as shown in the example.
Sheet1
You can use the Range as shown in the example.
A1:C5
5.17.1 Write dataset to excel
Write dataset to excel activity allows the changes to be written to the relevant Excel file after the dataset processes are completed.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
*Dataset name
The reference name of the dataset which has already been created is chosen in the dropdown.
Sheet name
The name of the sheet to work in excel can be added. If not added, it is accepted as the first sheet by default.
Destination
It can be determined from which cell the dataset will be written in excel.
If the Destination field is not filled, the dataset will be written its range directly into Excel.
Note: If the target range/area (Destination) is given and there is already data in the given area, that data will be written to the side of the dataset range.
*Shift
Specifies how to write the dataset to the excel file.
Include header
If there are column header in the resulting dataset, true is selected.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${pivotExcel}
You can use the Source sheet as shown in the example.
Sheet1
You can use the Range as shown in the example.
A1:B3A:AA:H
You can use the Sheet name as shown in the example.
Pivot
You can use the Destination as shown in the example.
A1
You can use the Columns as shown in the examples.
AA,B
You can use the Rows as shown in the example.
BA,B
You can use the Values as shown in the examples.
SUM(C)COUNT(C),AVERAGE(C)
Supported functions:
AVERAGE
COUNT
COUNT_NUMS,
MAX
MIN
PRODUCT
STD_DEV
STD_DEVP
SUM
VAR
VARP
If the first page of the excel files will be pivoted, the source sheet field does not have to be filled. Otherwise, it must be filled. If no Destination is given, it is copied to cell A1. If Range is not given, the entire range in the Excel file is taken.
5.17.1 Refresh pivot table
Refresh pivot table is used for refreshing pivot tables in MS Excel.
*Excel name
Reference name of Excel which will be opened.
Sheet name
Name of the sheet to work in Excel. If not added, it takes the first sheet by default.
*Pivot name
Name of the pivot table that will be refreshed in MS Excel.
Note: * Fields selected with are required, others are optional.
You can use the Excel name as shown in the example.
${newExcel}
You can use the Sheet name file name as shown in the example.
Sheet1
You can use the Range name as shown in the example
A1:C5
If it is desired to delete a certain range in the page rather than a page in the Excel file, the range is given. If the range is not given, the entire inside of the sheet is deleted.
If the first page of the excel files will be processed, the sheet name fields do not have to be filled. Otherwise, it must be filled.
5.17.1 Copy/Remove sheet
Copy/Remove sheet activity is used for copying data in a specified range from an Excel file.
*Excel name
The reference name of the excel file which has already been opened or created is chosen in the dropdown.
Sheet name
The name of the sheet to work in Excel can be added. If not added, it is accepted as the first sheet by default.
Note: When the “Action” property is selected as “Remove”, the “Sheet Name” field must be filled.
*Action
The desired action is selected.
New sheet name
The name of new sheet to create in Excel is written.
Note: * Fields selected with are required, others are optional.
You can use the Word name as shown in the example.
robustaWord
You can use the Word file name as shown in the example.
C:RobustaTempRobusta.docx
If the “Overwrite” field’s checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message There is folder already in the directory.
5.18.1 Save and close
Save and close activity is used for saving or closing the word file after the operations in the word file.
*Word name
The reference name of the word file which has already been opened or created is chosen in the dropdown.
*Action
The desired operation is selected. There are three options, Save, Close and Save and Close.
Word file name
The file path is written.
Note: If a word file is desired to save as, write the name and path of the word file.
Note: * Fields selected with are required, others are optional.
You can use the Word name as shown in the example.
${newWord}
You can use the Action as shown in the example.
SAVECLOSESAVE_AND_CLOSE
You can use the Word file name as shown in the example.
C:newWord.docx
If you want to save the word as a different word, the New word file name field must be filled. If you want to perform both Save and Close operations, activity should be used twice.
5.18.1 Replace
Replace activity isused for replacing a specified text in a Word file with the desired text.
*Word name
The reference name of the word file which has already been opened or created is chosen in the dropdown.
*Old pattern
The old text that will be replaced is written.
*New pattern
The new text that will replace the old text is written.
New line position
It can provide adding a new line before, after, and both before and after the word that needs to be replaced.
Note: * Fields selected with are required, others are optional.
You can use the Word name as shown in the example.
${newWord}
You can use the New dataset name as shown in the example.
${newDS}
You can use the Table name index as shown in the example.
1
If there is no table in the Word document where the Dataset will be written, the error message “No table found at that index” will be encountered. Therefore, there must be a table structure in the Word document where the dataset will be transferred.
5.18.1 Append paragraph
Append paragraph activity is used for adding text with a new paragraph into a Word file or adding text to the end or beginning of an existing paragraph.
*Word name
The reference name of the word file which has already been opened or created is chosen in the dropdown.
*Text
The text to be inserted into the paragraph with the position number is written.
Note: If the position number is not given, it is added to the end.
Position
The position of the table to which will be added is written.
Note: If -1 or null, the table is added to the end of the page, if 0, the table is added to the top of the page, otherwise, it is added after the indexed paragraph.
Note: * Fields selected with are required, others are optional.
You can use the Word name as shown in the example.
${newWord}
You can use the Text as shown in the example.
To add text:
Hello World
To add a text from variable:
personelDataset
You can use the Position as shown in the example.
1
5.18.1 Append table
Append table activity is used for inserting tables in Word.
*Word name
The reference name of the word file which has already been opened or created is chosen in the dropdown.
Table position
The position of the table to which will be added is written.
Note: If -1 or null, the table is added to the end of the page, if 0, the table is added to the top of the page, otherwise, it is added after the indexed paragraph.
Note: * Fields selected with are required, others are optional.
You can use the Word name as shown in the example.
newWord
You can use the Source of image as shown in the example.
C:Temppicture.jpeg
You can use the Height of image as shown in the example.
600
You can use the Width of image as shown in the example.
400
5.18.1 Set cell style
Set cell style activity is used for formatting the style of a table cell in Microsoft Word. This activity changes the appearance of the cell so that the text becomes more readable.
*Word name
The reference name is given to the word file which will open in this field.
*Table index
Index of the table which will be readed to dataset / written to file or which will be merged (starts from 1)
Range
The range of cells to be changed data is given.
Fill color
The background color of the cell is written as RGB values or the name of the color.
Font color
The text color is written as RGB values or the name of the color.
Bold
This checkbox provides changing the font thickness.
Italic
This checkbox provides italicization.
Underline
This checkbox provides underlining.
Font size
The font size is adjusted. The desired font number is written in this area.
Font name
The font type is written.
Has border?
Whether borders (Frame) will be present or not is selected.
Border style
The border style that will be applied is selected.
Border position?
The position of the border that will be applied is selected.
Border color
The border color of the cells is is written as RGB values or the name of the color.
Vertical alignment
Vertical alignment of the cells.
Horizontal alignment
Horizontal alignment of the cells.
Is hyperlink?
This checkbox provides converting text to hyperlink.
Url
This checkbox provides url value to be converted to hyperlink.
Note: * Fields selected with are required, others are optional.
True: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message There is folder already in the directory.
The Create file activity under File Operations can also be used to create files with .txt and .csv extensions.
5.19.1 Save and close
Save and close activity is used for saving or closing the text file after the operations in the text file.
*Text name
The reference name of the text file which has already been opened or created is chosen in the dropdown.
Action
The desired operation is selected. There are three options, Save, Close and Save and Close.
*File name
The file path is written.
Note: If a word file is desired to save as, write the name and path of the word file.
Note: * Fields selected with are required, others are optional.
You can use the Text name as shown in the example.
newText
You can use the New dataset name as shown in the example.
newDS
After the data in the file is read, the name of the data set in which the data is written manually. The name written is the name that will be selected in the “Dataset name” field while using the data set in the next functions.
5.19.1 Write dataset to textfile
Write dataset to textfile activity is used for writing the changes to the relevant file after the operations related to the dataset are completed.
*Text name
The reference name of the text file which has already been opened or created is chosen in the dropdown.
*Dataset name
The reference name of the dataset which has already been created is chosen in the dropdown.
Append
If the append checkbox is checked, data will be appended to the end of the file.
If it is not checked and the text file is empty, the data is written to the text file. If the text file includes the data, the old data is deleted to add the new data.
Note: * Fields selected with are required, others are optional.
You can use the Text name as shown in the example.
newText
You can use the New dataset name as shown in the example.
newDS
5.19.1 Write to textfile
Write to textfile activity is used for writing text to textfile.
*Text file name
The file path is written.
*Text
The text to be added is written.
Append
If the append checkbox is checked, data will be appended to the end of the file.
If it is not checked and the text file is empty, the data is written to the text file. If the text file includes the data, the old data is deleted to add the new data.
Note: * Fields selected with are required, others are optional.
You can use the Text name as shown in the example.
newText
You can use the Result variable name as shown in the example.
newVariable
5.20 File Operations
File activities refer to the automation of the tasks you perform with the files and folders on your computer, such as creating, copying or renaming files and folders.
5.20.1 Create file
Create file activity is used for creating a new file.
*File name
The file path is written.
Overwrite
This checkbox enables overwriting if there is a file or folder with the same name.
Note: * Fields selected with are required, others are optional.
You can use the file name as shown in the example.
C:\Test.txtC:\Deneme.csv
If the “Overwrite” checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message There is folder already in the directory.
The Create text file activity under Text file can also be used to create .txt and .csv files.
5.20.1 Create directory
Create directory is used for creating directory.
*Directory name
The directory name is written
Note: * Fields selected with are required, others are optional.
You can use the folder path as shown in the example.
C:\Temp\Test
You can use the file path as shown in the example.
Full name for specific file:
C:\Temp\Test.xlsx
Files that start with the initial letter a in the folder and have an extension .txt are processed in batches:
C:\Temp\a*.txt
All files in the folder with extension .xlsx are processed in batch:
C:\Temp\*.xlsx
All files in the folder will be processed in batch:
C:\Temp\*.*
All files/folders in the folder will be processed collectively:
C:\Temp\*
You can use the Destination path as shown in the example.
If you want to copy the folder with the same name to the “Test” folder only:
C:\Test
If you want to change the name to “Trial” while copying the folder under the “Test” folder:
C:\Test\Trial
If simultaneous Rename will not be done in the copying process, make sure that the directory has “” at the end while giving the “Destination path”.
You can use the Destination path as shown in the example.
If you want to copy the file to the “Test” folder with the same name:
C:\Test
If you want to change the name to “newFile.xlsx” while copying the file under “Test” folder:
C:\Test\newFile.xlsx
If the destination path ends with a file separator (With a slash), the file or folder is located in that path:
C:\Temp\myFolder\
Otherwise, if the destination path has the file or folder name at the end, action will be taken with renaming support:
C:\Temp\myFolder\fileWithNewName.txt
If you use unzip, add folder name:
C:\Temp\myFolder\folderName
If the “Overwrite” checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, the copy will be done. If there is a file/folder with the same name in the relevant directory, the old file/folder is overwritten and copied.
False: If there is no file/folder with the same name in the relevant directory, the copy will be done. If there is a file/folder with the same name in the relevant directory, it will not be copied. The function gets an error with the message that there is a file/folder already in the directory.
5.20.1 Delete
Delete activity is used for deleting file or folder. File or folder that Delete activity delete cannot be recovered and cannot be found in the Recycle Bin.
*File name
The file name or the folder name with path.
Note: * Fields selected with are required, others are optional.
You can use the folder path as shown in the example.
C:\Temp\Test
You can use the file path as shown in the example.
Full name for specific file:
C:\Temp\Test.xlsx
Files that start with the initial letter a in the folder and have an extension .txt are processed in batches:
C:\Temp\a*.txt
All files in the folder with extension .xlsx are processed in batch:
C:\Temp\*.xlsx
All files in the folder will be processed in batch:
C:\Temp\*.*
All files/folders in the folder will be processed collectively:
C:\Temp\*
You can use the Destination path as shown in the example.
If you want to copy the folder with the same name to the “Test” folder only:
C:\Test
If you want to change the name to “Trial” while copying the folder under the “Test” folder.
C:\Test\Trial
You can use the Destination path as shown in the example.
If you want to copy the file to the “Test” folder with the same name:
C:\Test
If you want to change the name to “newFile.xlsx” while copying the file under “Test” folder:
C:\Test\newFile.xlsx
If the destination path ends with a file separator (With a slash), the file or folder is located in that path:
C:\Temp\myFolder\
Otherwise, if the destination path has the file or folder name at the end, action will be taken with renaming support:
C:\Temp\myFolder\fileWithNewName.txt
If you use unzip, add folder name:
C:\Temp\myFolder\folderName
If the “Overwrite” checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, the move is performed. If there is a file/folder with the same name in the relevant directory, the old file/folder is overwritten and moved.
False: If there is no file/folder with the same name in the relevant directory, the move is performed. If there is a file/folder with the same name in the relevant directory, the move will not be performed. The function gets an error with the message that there is file/folder already in the directory.
5.20.1 Rename
Rename activity is used for changing file or folder name.
*File name
The file name or the folder name with path.
*New file name
The new file name without path is written.
Overwrite
This checkbox enables overwriting if there is a file or folder with the same name.
Note: * Fields selected with are required, others are optional.
You can use the file path as shown in the example.
Full name for specific file C:\Temp\Test.xlsx
You can use the folder path as shown in the example.
C:\TempTest
You can use the New file name for file as shown in the example.
newFile.xlsx
You can use the New file name for folder as shown in the example.
NewFile
The extension of the file can also be changed. The file C:\test.txt
can be done as C:\test.csv
Changing the name can be done simultaneously while changing the extension.
If the “Overwrite” checkbox status is:
True: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is changed by overwriting the old file/folder.
False: If there is no file/folder with the same name in the relevant directory, a name change is made. If there is a file/folder with the same name in the relevant directory, the name is not changed. The function gets an error with the message There is folder already in the directory.
5.20.1 Zip
Zip activity is used to converting file to compressed format.
*File name
The file name or the folder name with path.
*Zip File Name
The zip file name or folder name with path.
Overwrite
This checkbox enables overwriting if there is a file or folder with the same name.
Password
If there is a password for compressed file, its password must be entered here.
Note: * Fields selected with are required, others are optional.
You can use the file path as shown in the example.
Full name for specific file:
C:\Temp\Test.xlsx
Files that start with the initial letter a in the folder and have an extension .txt are processed in batches:
C:\Temp\a*.txt
All files in the folder with extension .xlsx are processed in batch:
C:\Temp\*.xlsx
All files in the folder will be processed in batch:
C:\Temp\*.*
All files/folders in the folder will be processed collectively:
C:\Temp\*
You can use the Zip file name as shown in the example.
C:\Temp\deneme.zip
Accepts all the following characters for encryption.
türkçeğüışçöÇÖİŞĞÜé!’^+#$%&{()=}-_;`~¨´.₺€@+-[]
The name of the compressed file (The name of the file can be changed) and the format as .zip should be written to give the desired full directory.
If the “Overwrite” checkbox status is:
True: If there is no file with the same name in the relevant directory, compression is performed. If there is a file with the same name in the relevant directory, the old file is overwritten and compressed.
False: If there is no file with the same name in the relevant directory, compression is performed. If there is a file with the same name in the relevant directory, decompression is not performed. The function gets an error with the message File already exists in directory.
5.20.1 Unzip
Unzip activity is used for unziping file in compressed format.
*File name
The zip file name or the folder name with path.
*Destination path
Specifies the destination directory of the zip file to be opened.
Overwrite
This checkbox enables overwriting if there is a file or folder with the same name.
Password
If there is a password for compressed file, its password must be entered here.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:\Temp\Test.zip
You can use the Destination path as shown in the example.
C:\Temp\Test\C:\Temp\Test2
You can use the Password as shown in the example.
password
When the compressed file is being converted to a wide format, a new name cannot be given, it comes to the expanded format with that name, whatever the original name of the file is.
If destination path end with a file separator (with a slash) then the file or folder will be located in that path. Otherwise, if destination path has the file or folder name at the end, action will be taken with renaming support.
If the “Overwrite” checkbox status is:
True: If there is no file with the same name in the relevant directory, it is opened. If there is a file with the same name in the relevant directory, the old file is overwritten and opened.
False: If there is no file with the same name in the relevant directory, it is opened. If there is a file with the same name in the relevant directory, it will not be opened. The function gets an error with the message File already exists in directory.
5.20.1 List files
List files activity is used for listing file/folder names in folder.
*Directory name
The file name or the folder name with path.
*Dataset name
The reference name is given to the dataset which will create in this field.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:\Test.txt
You can use the Attribute name as shown in the example.
Date of creation:
CREATION_TIME
Last login date:
LAST_ACCESS_TIME
Last modified time
LAST_MODIFIED_TIME
Size:
SIZE
Whether it is a confidential document:
HIDDEN
Whether the change is on:
READONLY
You can use the Result variable name as shown in the example.
denemeSonuc
5.20.1 Find in textfiles
Find in textfiles is used for searching in all .txt, csv, doc, and docx files or in one file with .txt, csv, doc, and docx extensions. If the files include searched text, the file names are written to the dataset.
*Directory name
The file name or directory name to be searched is written.
*File type
The file type to search in is chosen in the dropdown.
*Search
The text to search is written.
*Dataset name
The reference name is given to the dataset which will create in this field.
Note: * Fields selected with are required, others are optional.
You can use the Directory name as shown in the example
C:\Robusta
You can use the File type as shown in the example.
txt
You can use the Search as shown in the example.
Robusta
You can use the Dataset name as shown in the example.
searchResult
5.20.1 File exists
File exists activity is used for giving the information that the file exists or does not exist in the given directory. The result is returned as True or False.
*File name
The file path or directory is written.
*Result variable name:
A variable name that will be created is written.
Retry Count
The number of attempts is written, can be any numeric value. Default value is 1.
Note: * Fields selected with are required, others are optional.
You can use the pdf reference name as shown in the example.
${RobustaPdf}
You can use the Table type as shown in the example.
BASIC
: Used for simple tables.
COMPLEX
: Used for different and complex table structures.
STRIPLESS
: Used for pdfs with table structure but no table lines.
Note : Strikethrough lines may occur when the “BASIC” feature is selected. If this situation is not desired, the table type should be changed to “COMPLEX”.
You can use the start page as shown in the example.
1
You can use the End page as shown in the example.
1
You can use the Output path as shown in the examples.
C:Robustarobusta.html
5.21.1 Read text
Read text activity allows all records in the PDF file to be received as text.
*Pdf name
The reference name is given to the PDF file which will open in this field.
Start page
The starting page number of PDF file is written.
End page
The last page number of PDF file is written.
*Result variablename
A variable name that will be created is written.
X-coordinate
The pixel value of the X-coordinate of the area to be read on the pdf is written.
Note: If it is desired to limit the area in the PDF file, this field must be used with a Y-coordinate, Height, and Width.
Y-coordinate
The pixel value of the Y-coordinate of the area to be read on the pdf is written.
Note: If it is desired to limit the area in the PDF file, this field must be used with a X-coordinate, Height, and Width.
Height
The pixel value of the Height of the area to be read on the pdf is written.
Note: If it is desired to limit the area in the PDF file, this field must be used with a X-coordinate, Y-coordinate, and Width.
Width
The pixel value of the Width of the area to be read on the pdf is written.
Note: If it is desired to limit the area in the PDF file, this field must be used with a X-coordinate, Y-coordinate, and Height.
Note: * Fields selected with are required, others are optional.
You can use the New dataset name as shown in the example.
newDS
It is not possible to write any data when row and column are not added to a newly created dataset. This is done with the “Add row” and “Add Column” activities.
5.22.1 Get action
Get action activity allows to retrieve data from a cell in the dataset.
*Dataset name
Reference name of dataset.
*Row
Row index.
*Columns
Column name or column index.
*Result variable name
Variable name of the return value.
Note: * Fields selected with are required, others are optional.
You can use the Dataset name as shown in the example.
newDS
You can use the Column name as shown in the examples.
0NameName,Surname
You can use the Column index as shown in the examples.
The column number starts from 0. If left blank, a column is added to the last column in the dataset.
If it is desired to add a column to the last column in the dataset, the new column index field should be left blank.
If a column is wanted to be added to an empty dataset (Dataset), 0 should be given as an index. Otherwise, a new column cannot be created.
If multiple columns are added (comma-separated entry in the ‘Column name’ field), the value corresponding to the number of columns added should be given in this field. Example: If 3 columns are added, “4:6” should be given.
10:120
You can use the Result variable name as shown in the example.
resultVariable
5.22.1 Remove column
Remove column activity is used to delete a column from a dataset.
*Dataset name
Reference name of dataset.
*Column
Column name or column index.
Note: * Fields selected with are required, others are optional.
You can use the Dataset name as shown in the example.
newDS
.kb-row-layout-id_cf7792-5e > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_cf7792-5e > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_cf7792-5e > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_cf7792-5e > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_cf7792-5e > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_cf7792-5e > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_f131b9-eb > .kt-inside-inner-col,.kadence-column_f131b9-eb > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_f131b9-eb > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_f131b9-eb > .kt-inside-inner-col{flex-direction:column;}.kadence-column_f131b9-eb > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_f131b9-eb > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_f131b9-eb{position:relative;}@media all and (max-width: 1024px){.kadence-column_f131b9-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_f131b9-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
You can use the Filter as shown in the examples.
$”ad”=”ilhan” and $”Numara”=5$”ad” begins with “il” or $”Numara”=7$”ad” contains “han”$”SIRKET”=”Robusta”$”${columnName}”=”Robusta”$”mail”=”${mailAdresi}”
.kadence-column_60577a-55 > .kt-inside-inner-col,.kadence-column_60577a-55 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_60577a-55 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_60577a-55 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_60577a-55 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_60577a-55 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_60577a-55{position:relative;}@media all and (max-width: 1024px){.kadence-column_60577a-55 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_60577a-55 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
You can use the Dataset name as shown in the example.
newDS
You can use the New dataset name as shown in the example.
removeDupDS
5.22.1 Merge
Merge activity allows combining two datasets. It allows writing the second data set after the first data set. It allows merging of two data sets without having to have the same pattern. In other words, while there are 3 columns in the first data set, while the second data set has 4 columns, it combines these two data sets.
*Dataset name
Reference name of dataset which will be used for operations.
*Dataset name 2
Reference name of the 2nd dataset selected for processing.
Merge type
Combines two datasets in two different ways: Vertical and Horizontal.
*New dataset name
Reference name of dataset which will be created.
Note: * Fields selected with are required, others are optional.
.kadence-column_555f47-44 > .kt-inside-inner-col{display:flex;}.kadence-column_555f47-44 > .kt-inside-inner-col,.kadence-column_555f47-44 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_555f47-44 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_555f47-44 > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column_555f47-44{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_555f47-44 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_555f47-44{text-align:center;}.kadence-column_555f47-44{position:relative;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column_555f47-44{align-self:flex-start;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 1024px){.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column_555f47-44{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_555f47-44 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}
Input Source Dataset Source reference : Plaka
.kadence-column_edd796-16 > .kt-inside-inner-col{display:flex;}.kadence-column_edd796-16 > .kt-inside-inner-col,.kadence-column_edd796-16 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_edd796-16 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_edd796-16 > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column_edd796-16{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_edd796-16 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_edd796-16{text-align:center;}.kadence-column_edd796-16{position:relative;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column_edd796-16{align-self:flex-start;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 1024px){.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column_edd796-16{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_edd796-16 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}
Input Destination Dataset Destination reference : Id
.kadence-column_4caa2a-d0 > .kt-inside-inner-col{display:flex;}.kadence-column_4caa2a-d0 > .kt-inside-inner-col,.kadence-column_4caa2a-d0 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_4caa2a-d0 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_4caa2a-d0 > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column_4caa2a-d0{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_4caa2a-d0 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_4caa2a-d0{text-align:center;}.kadence-column_4caa2a-d0{position:relative;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column_4caa2a-d0{align-self:flex-start;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 1024px){.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column_4caa2a-d0{align-self:flex-start;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}.kadence-column_4caa2a-d0 > .kt-inside-inner-col{flex-direction:column;justify-content:flex-start;}}
Output New Dataset
5.22.1 Minus
Minus activity gives the difference between the two datasets. It gives the result of data that is in the first dataset and not in the second dataset. Two data sets must be in the same pattern in order to get the correct result. In other words, both datasets must have the same columns. It works by providing control in the second data set for all data included in the first dataset.
*Dataset name
Reference name of dataset which will be used for operations.
*Dataset name 2
Reference name of the 2nd dataset selected for processing.
*New dataset name
Reference name of dataset which will be created.
Note: * Fields selected with are required, others are optional.
You can use the Dataset name as shown in the example.
${newDS}
You can use the Dataset name 2 as shown in the example.
newDS2
You can use the New dataset name as shown in the example.
minusDS
5.22.1 Union
Union activity allows finding the combination set of two datasets. Unlike the Merge activity, the Union activity takes the data that exists in both combination sets into a combination set as a single data. The two datasets must have the same pattern.
*Dataset name
Reference name of dataset which will be used for operations.
*Dataset name 2
Reference name of the 2nd dataset selected for processing.
*New dataset name
Reference name of dataset which will be created.
Note: * Fields selected with are required, others are optional.
You can use the Dataset name as shown in the example.
${newDS}
5.23 Mail
Mail activities are designed to facilitate the automation of mail-related tasks covering various protocols such as IMAP, POP3 or SMTP.
You can reach a how-to guide on Mail component by clicking here.
5.23.1 Exchange connection
Exchange connection activity is the area where the necessary information to establish a connection to the Exchange server is received. In order to be able to receive or send an e-mail, the server connection must be established first. Other mail methods are included in the next step.
Configuration name
It is the name of the opened connection. This name will be chosen in other mail components.
*Connection name
The reference name is given to the mail connection which will open in this field.
Host
The server information of the e-mail address is entered.
Username
Username information of the e-mail address is entered.
Password
Password information of the e-mail address is entered.
Domain
The domain name information of the e-mail address is entered.
Type
The type of Exchange server is chosen in the dropdown.
Test connection
The correctness of the connection can be checked with a button.
Note: * Fields selected with are required, others are optional.
Imap/Smtp connection activity is the area where the necessary information to establish a connection to the Imap/Smtp server is obtained. Incoming mails in IMAP (Internet Message Access Protocol) as a system first come to the server where the user is logged in and then send them to a different e-mail server in the recipient’s mailbox using SMTP (Simple Mail Transfer Protocol). Since the user can read mails, ie download them, SMTP is a one-way (Sending) protocol, IMAP is activated and the mails are downloaded.
Configuration name
It is the name of the opened connection. This name will be chosen in other mail components.
*Connection name
The reference name is given to the mail connection which will open in this field.
Imap host
Imap server information of the mail address is entered.
Imap port
Imap port information of the mail address is entered.
Imap user
Imap username information of the e-mail address is entered.
Imap password
Imap password of the e-mail address is entered.
Imap ssl
Whether there is an Imap Ssl certificate in the mail address is specified with true/false.
Imap tls enabled
Whether the Smtp tls certificate is present in the mail address is specified with true/false.
Imap tls required
True/false indicates whether the Imap tls certificate is required in the mail address.
Smtp host
Smtp server information of the e-mail address is entered.
Smtp port
Smtp port information of the e-mail address is entered.
Smtp user
Smtp username information of the e-mail address is entered.
Smtp password
The Smtp password of the e-mail address is entered.
Smtp ssl
Whether the Smtp Ssl certificate is present in the mail address is specified with true/false.
Smtp tls enabled
Whether the Smtp tls certificate is present in the mail address is specified with true/false.
Smtp tls required
Whether the Smtp tls certificate is required in the mail address is specified with true/false.
Test connection
The correctness of the connection can be checked with a button
Note: * Fields selected with are required, others are optional. If the “Configuration” field is filled while creating the mail connection, the “IMAP” and “SMTP” fields do not need to be filled. If the “Configuration” field is not filled while creating the mail connection, at least one of the “IMAP” and “SMTP” fields is expected to be filled.
You can use the Connection name as shown in the example.
mailConnection
You can use the Imap host as shown in the example.
imap.gmail.com
You can use the Imap port as shown in the example.
In order to send mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. This field must be entered as 993 for Gmail
993
You can use the Imap user as shown in the example.
john.doe@gmail.com
You can use the Imap password as shown in the example.
In order to receive mail messages, the password of the e-mail address to be linked is entered.
JohnDoe123
You can use the Imap ssl as shown in the example.
In order to receive mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. This field must be set to True for Gmail.
You can use the Imap tls enabled as shown in the example.
In order to receive mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. For Gmail, this field must be set to False.
You can use the Imap tls required as shown in the example.
In order to receive mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. For Gmail, this field must be set to False.
You can use the Smtp host as shown in the example.
smtp.gmail.com
You can use the Smtp port as shown in the example.
In order to send mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. For Gmail, this field must be entered 587.
587
You can use the Smtp user as shown in the example.
In order to send mail messages, the e-mail address to be linked is entered.
john.doe@gmail.com
You can use the Smtp password as shown in the example.
In order to send e-mail messages, the password of the e-mail address to be linked is entered.
JohnDoe123
You can use the Smtp ssl as shown in the example.
In order to send mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. For Gmail, this field must be set to False.
You can use the Smtp tls enabled as shown in the example.
In order to send mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. This field must be set to True for Gmail.
You can use the Smtp tls required as shown in the example.
In order to send mail messages, Microsoft Outlook and Apple Mail etc. Other mail clients require settings specified by the service provider. This field must be set to True for Gmail
5.23.1 Read/Save/Attachment
Read/Save/Attachment activity is used for reading and saving mails in specified folders and for additional files in mails.
*Connection name
The reference name of the mail connection which has already been established is chosen in the dropdown.
*Dataset name
The reference name of the already opened dataset is chosen in the dropdown.
Mail no
If the value of the Mail No field is empty or -1, then selected actions will be applied to all emails. Emails are sorted by oldest first.
Mark as read?
Whether the emails will be marked as read or not after the transaction is specified as True/False is decided.
Mark as deleted?
It is specified whether the emails will be deleted after the process.
Save attachments?
True/False whether to save mail attachments or not is decided.
Save mail?
Whether the emails will be saved or not after the transaction is specified as True/False is decided.
Save path
The directory where the emails or attachments will be saved is written.
Attachment Dataset name
The reference name is given to the dataset which will create in this field for mail attachments.
Save message body images?
Save inline and external URL images of message. Available only for IMAP/SMTP
Note: * Fields selected with are required, others are optional.
You can use the Connection name as shown in the example.
mailConnection
You can use the Dataset name as shown in the example.
searchDS
You can use the Mail no as shown in the example.
-12
You can use the Save path as shown in the example.
C:Temp
5.23.1 Send
Send activity is used for sending mail via Send mail server.
*Connection name
The reference name of the mail connection which has already been established is chosen in the dropdown.
From
An email address that is for the sender is written.
To
An email address that is for the receiver is written. To add multiple addresses, use “,” or “;” to separate them. It may differ depending on the mail service provider.
Subject
If it is desired to be added subject, the subject title is written.
Message
The content of the message is written.
Attachment
The directory of the file/files to be attached to the mail is written.
Note: If more than one file is to be entered, directories should be separated by commas (,)
Cc
The e-mail addresses of the people who want to be informed about the content of the mail are entered.
Bcc
The addresses of the people who want to be informed securely are written.
Is HTML?
If the mail is wanted to send in HTML format, this checkbox is checked.
Send delivery receipt
A delivery receipt confirms delivery of your email message to the recipient’s mailbox.
Send read receipt
Read receipt confirms that your message was opened.
Read Timeout Value
The time(in Milliseconds) to read is entered depending on the size of the attached file.
Note: * Fields selected with are required, others are optional.
You can use the Connection name as shown in the example.
mailConnection
You can use the Dataset name as shown in the example.
searchDS
You can use the Mail no as shown in the example.
01
You can use the Subject path as shown in the example.
About the Financial Statement
You can use the Subject path as shown in the example.
Hello, This mail has been sent for testing purposes.
You can use the Attachment as shown in the example.
C:Tempattachment.xlsx,C:Masraffile.xlsx
You can use the Cc as shown in the example.
brandenenastanford@gmail.com
5.23.1 Forward
Forward activity is used for forwarding mail to other users through Forward mail server.
*Connection name
The reference name of the mail connection which has already been established is chosen in the dropdown.
*Dataset name
The reference name of the already opened dataset is chosen in the dropdown.
*Mail no
If the value of the Mail No field is -1, then selected actions will be applied to all emails. Emails are sorted by oldest first.
From
An email address that is for the sender is written.
*To
An email address that is for the receiver is written. To add multiple addresses, use “,” or “;” to separate them. It may differ depending on the mail service provider.
Subject
If it is desired to be added title, the subject title is written.
Message
The content of the message is written.
Attachment
The directory of the file/files to be attached to the mail is written.
Note: If more than one file is to be entered, directories should be separated by commas (,)
Cc
The e-mail addresses of the people who want to be informed about the content of the mail are entered.
Bcc
The addresses of the people who want to be informed securely are written.
Is HTML?
If the mail is wanted to send in HTML format, this checkbox is checked.
Note: * Fields selected with are required, others are optional.
You can use the Connectionname as shown in the example.
mailConnection
You can use the Folder name as shown in the example.
By default, INBOX comes, but any folder name can be given. For example, if the e-mails received from the administrator are to be collected in a folder called “MANAGER”, “MANAGER” should be written in this field.
INBOX
You can use the From as shown in the example.
albert.baker@gmail.com
You can use the Search limit as shown in the example.
1050
You can use the Max date as shown in the example.
15.03.202005.01.2023 16:11:08
You can use the Min date path as shown in the example.
01.03.202002.01.2023 16:11:08
You can use the Subject as shown in the example.
About the Financial Statement
You can use the New dataset name as shown in the example.
You can use the Query sql as shown in the example.
insert into rpa_turkey_tablo2 (Ad,Soyad,Sirket_Adi,Unvan) values(‘:1′,’:2′,’:3′,’:4′);
You can use the Query sql as shown in the example.
employeesDataset
5.26 Xml and JSON
Xml and JSON activities allow retrieving each element, attribute, in an .xml file. In addition, it allows the files in JSON format to be read and thrown into the data set.
5.26.1 Execute xpath
Execute xpath activity allows reaching the location of each element or attribution in the .xml file via Xpath and getting desired values.
*File name
The XML file name is written.
*Xml string
If any result is received as an XML string (Not a file with XML content) XML content is written. The other fields, prefixes, etc. XML is written to parse the content. Then, it is ensured that operations can be performed as a dataset.
Note: If this field is used, the File name field does not need to be used.
*Xpath expression
The Xpath of which element/attribute to be referenced is referenced and the information related to element or attribute is selected by using Filter field.
*Filter
The information type (element/attribute) to be accessed within Xpath is entered. In the dropdown menu, two information types (element/attribute) can be selected.
Prefix
This is the area where prefixes are defined when using the elements in the XML file. In case more than one prefix is needed, other prefix fields are filled.
Uri
To define the first prefix, the URI of the prefix is provided here.
Prefix2
This is the area where prefixes are defined when using the elements in the XML file.
Uri2
To define prefix2, the URI of the prefix is provided here.
Prefix3
This is the area where prefixes are defined when using the elements in the XML file.
Uri3
To define the first prefix3, the URI of the prefix is provided here.
*Output dataset
A dataset name is written for the XPath execution result.
Delimiter
The delimiter is used to separate the Xpaths when more than one Xpath is used.
Note: * Fields selected with are required, others are optional
You can use the File name as shown in the example.
C:UsersAliceDocumentsinvoice.xml
You can use the Xml string as shown in the example.
<string name=”string_name” text_string </string
You can use the Xpath expressions shown in the example.
<? Xml version = “1.0” encoding = “UTF-8”?> <Invoice> <Return_ID>135672</Return_ID> <Store_ID>23465</Store_ID> <Store_Name>BELGE</Store_Name> <Supplier_Name>Third Part Company</Supplier_Name> <Supplier_Account_No>7330028047</Supplier_Account_No> <Brand_ID>14235</Brand_ID> </Invoice> Let’s consider a file with .xml extension that has XML content in this way. Let’s want to access the Store_ID element in the tree structure in the file. The Xpath Statement to be written for this would be as follows:
//Invoice/Store_ID
You can use the Filter as shown in the example.
ELEMENT
Let’s use the XPath specified in the example above. This Xpath takes us to the Store_ID element in the tree structure. That is, the address of an element to be reached with XPath. Thus, ELEMENT is selected from the combobox.
You can use the Prefix shown in the example.
ds:Reference
Based on the XML file content above, this field is not filled because there is no prefix for the elements in the .xml file. The prefix is specified in an xml file as follows: <ds:Reference Id=”Reference-Id-28eeffb3-146c-4a8a-9e12-19541d39ee0e” URI=””>. The prefix of the Reference element in this expression is ‘ds’.
You can use the Prefix2 shown in the example.
cac:AdditionalDocumentReference
Based on the XML file content above, this field is not filled because there is no prefix for the elements in the .xml file. The As in the above mentioned ‘Prefix’ example, if there is another prefix like “ds”, a prefix is written in this field again. Xpath information also varies according to usage. <cac:AdditionalDocumentReference> <cbc:ID>0.00</cbc:ID> <cbc:IssueDate>2020-03-18</cbc:IssueDate> <cbc:DocumentType>ALLOWANCETOTALAMOUNT</cbc:DocumentType> </cac:AdditionalDocumentReference> As can be seen in this example, different prefixes (prefixes) can be included in the .xml file.
You can use the Prefix3 shown in the example.
caa:Username
Suppose that the file specified in the prefix2 example also has a field like the following: <caa:Username>john.smith</cbc:DocumentType> If you want to reach this field in the XML file, in addition to the cac and cbc prefixes, the caa prefix is also introduced in this field; Prefix3: becomes caa.
The prefix contains Uri information in the .xml file. xmlns: cac= “urn: oasis: names: specification: ubl: schema: xsd: CommonAggregateComponents-2”, the area to the left of the equation and in quotes contains the Uri information. When writing the expression Uri, the part between the double quotes is written: It is shown as urn: oasis: names: specification: ubl: schema: xsd: CommonAggregateComponents-2.
The prefix contains Uri information in the .xml file. The field specified in the expression xmlns: ext= “urn: oasis: names: specification: ubl: schema: xsd: CommonExtensionComponents-2”, to the left of the equation, and in quotes contains the Uri information. When writing the expression Uri, the part between the double quotes is written: It is shown as urn: oasis: names: specification: ubl: schema: xsd: CommonExtensionComponents-2.
You can use the Input dataset as shown in example.
${inputvalue}
You can use the Row as shown in the example.
Four(4)
Let’s assume that we keep the location of an .xml file // Invoice as a reference in Xpath in the Execute Xpath component, select the ELEMENT option from the Filter field in accordance with this location and keep the reference field in the dataset. <Invoice> <Return_ID>135672</Return_ID> <Store_ID>23465</Store_ID> <Store_Name>BELGE</Store_Name> <Supplier_Name>Third Part Company</Supplier_Name> <Supplier_Account_No>7330028047</Supplier_Account_No> <Brand_ID>14235</Brand_ID> </Invoice> // Invoice location typed in the xpath field includes all the elements in the xml expression. The information that the element to be accessed is in the row is written in the “Row” field. Whichever element we want to access, the first element (Return_ID) is taken as zero (0), and the other components are accessed by increasing numbers. In this example, let’s want to access the “Supplier_Account_No” element; Four (4) should be written in the row field.
You can use the Columnas shown in the example.
If the column value is a positive number, a search will be made according to the column number and the value will be returned.
0
If it is not a positive number, a search will be made according to the header information and the value will be returned.
//author
You can use the Output value as shown in the example.
outputValue
5.26.1 Update xml
Update xml activity updates XML expressions.
*File name
The XML file name is written.
*Xml string
If any result is received as an XML string (Not a file with XML content) XML content is written. The other fields, prefixes, etc. XML is written to parse the content. Then, it is ensured that operations can be performed as a dataset.
Note: If this field is used, the File name field does not need to be used.
*Xpath expression
The Xpath of which element/attribute to be referenced is referenced and the information related to element or attribute is selected by using Filter field.
*Filter
The information type (element/attribute) to be accessed within Xpath is entered. In the dropdown menu, two information types (element/attribute) can be selected.
*New value
The new value of the element/attribute to be updated is written.
Prefix
This is the area where prefixes are defined when using the elements in the XML file.
Uri
To define the first prefix, URI of the prefix is provided here.
Prefix2
This is the area where prefixes are defined when using the elements in the XML file.
Uri2
To define prefix2, URI of the prefix is provided here.
Prefix3
This is the area where prefixes are defined when using the elements in the XML file.
Uri3
To define first prefix3, URI of the prefix is provided here.
*Result variablename
A variable name that will be created is written.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:UsersAliceDocumentsinvoice.xml
You can use the Xml string as shown in the example.
<string name=”string_name” text_string </string
You can use the Xpath expressions shown in the example.
<? Xml version = “1.0” encoding = “UTF-8”?> <Invoice> <Return_ID>135672</Return_ID> <Store_ID>23465</Store_ID> <Store_Name>BELGE</Store_Name> <Supplier_Name>Third Part Company</Supplier_Name> <Supplier_Account_No>7330028047</Supplier_Account_No> <Brand_ID>14235</Brand_ID> </Invoice> Let’s consider a file with .xml extension that has XML content in this way. Let’s want to access the Store_ID element in the tree structure in the file. The Xpath Statement to be written for this would be as follows:
//Invoice/Store_ID
You can use the Filter as shown in the example.
ELEMENT
Let’s use the XPath specified in the example above. This Xpath takes us to the Store_ID element in the tree structure. That is, the address of an element to be reached with XPath. Thus, ELEMENT is selected from the combobox.
You can use the New value as shown in the example.
<? Xml version = “1.0” encoding = “UTF-8”?> <Invoice> <Return_ID>135672</Return_ID> <Store_ID>23465</Store_ID> <Store_Name>BELGE</Store_Name> <Supplier_Name>Third Part Company</Supplier_Name> <Supplier_Account_No>7330028047</Supplier_Account_No> <Brand_ID>14235</Brand_ID> </Invoice>
Let’s change the value the Store_ID element.
9876
You can use the Prefix shown in the example.
ds:Reference
Based on the XML file content above, this field is not filled because there is no prefix for the elements in the .xml file. The prefix is specified in an xml file as follows: <ds:Reference Id=”Reference-Id-28eeffb3-146c-4a8a-9e12-19541d39ee0e” URI=””>. The prefix of the Reference element in this expression is ‘ds’.
You can use the Prefix2 shown in the example.
cac:AdditionalDocumentReference
Based on the XML file content above, this field is not filled because there is no prefix for the elements in the .xml file. The As in the above mentioned ‘Prefix’ example, if there is another prefix like “ds”, a prefix is written in this field again. Xpath information also varies according to usage. <cac:AdditionalDocumentReference> <cbc:ID>0.00</cbc:ID> <cbc:IssueDate>2020-03-18</cbc:IssueDate> <cbc:DocumentType>ALLOWANCETOTALAMOUNT</cbc:DocumentType> </cac:AdditionalDocumentReference> As can be seen in this example, different prefixes (prefixes) can be included in the .xml file.
You can use the Prefix3 shown in the example.
caa:Username
Suppose that the file specified in the prefix2 example also has a field like the following: <caa:Username>john.smith</cbc:DocumentType> If you want to reach this field in the XML file, in addition to the cac and cbc prefixes, the caa prefix is also introduced in this field; Prefix3: becomes caa.
The prefix contains Uri information in the .xml file. xmlns: cac= “urn: oasis: names: specification: ubl: schema: xsd: CommonAggregateComponents-2”, the area to the left of the equation and in quotes contains the Uri information. When writing the expression Uri, the part between the double quotes is written: It is shown as urn: oasis: names: specification: ubl: schema: xsd: CommonAggregateComponents-2.
The prefix contains Uri information in the .xml file. The field specified in the expression xmlns: ext= “urn: oasis: names: specification: ubl: schema: xsd: CommonExtensionComponents-2”, to the left of the equation, and in quotes contains the Uri information. When writing the expression Uri, the part between the double quotes is written: It is shown as urn: oasis: names: specification: ubl: schema: xsd: CommonExtensionComponents-2.
You can use the Output Datasetas shown in the example.
readDS
5.27 Icu
Icu activities consist of components that give coordinate information of specfic image or text on the screen.
5.27.1 Match image
Match image activity is used for finding coordinates of specified image in screen.
*File name
File name with path.
*Base64
Base64 string of image file.
X-coordinate
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Height fields.
Height
If it is desired to limit the image to be searched on the screen within a certain area; This field must be filled in, along with the X-coordinate, Y-coordinate and Width fields.
Retry count
The number of tries until the image is found, could be any numeric value.
Match score
Images are matched if their similarity percentage is higher than the match score.
Find first on top
Returns the coordinates of the upper left one when there are multiple matched images.
*Return x-position
Final x-position, variable name defined to assign the x-coordinate found.
*Return y-position
Final y-position, variable name defined to assign the y-coordinate found.
Note: * Fields selected with are required, others are optional.
This field must be left blank if the process is done with File name field.
You can use the X-coordinate as shown in the example.
700
If you want to limit the specified image in a certain area in screen, this field must be filled along with Y-coordinate, height and width.
You can use the Y-coordinate as shown in the example.
400
If you want to limit the specified image in a certain area in screen, this field must be filled along with X-coordinate, height and width.
You can use the Width as shown in the example.
100
If you want to limit the specified image in a certain area in screen, this field must be filled along with X-coordinate, Y-coordinate, and height.
You can use the Height as shown in the example.
50
If you want to limit the specified image in a certain area in screen, this field must be filled along with X-coordinate, Y-coordinate, and width.
You can use the Retry countas shown in the example.
3
You can use the Match scoreas shown in the example.
0.80
You can use the Return x-positionas shown in the example.
xPositionValue
You can use the Return x-positionas shown in the example.
yPositionValue
You can use Return x-position and Return y-position variables in Mouse activity in Keyboard & Mouse Operations.
Image can be converted to Base64 in different sites.
The coordinates of file whose path is specified in File name field are found on screen and returned to xPositionValue and yPositionValue variables. Using these returned variables in Mouse activity, the process of clicking on these coordinates can be done.
Gif is an unsupported extension for Match Image activity.
The values for Height and Width must be an integer.
Match text activity, regardless of the browser or application, is used for finding the coordinate on the currently open screen, in order to find the text to be specified via the component and perform an action.
*Text
The text that will be searched on the screen.
X-coordinate
If it is desired to limit the text to be searched on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the text to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the text to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Height fields.
Height
If it is desired to limit the text to be searched on the screen within a certain area; This field must be filled in, along with the X-coordinate, Y-coordinate and Width fields.
*Language
The language of the text to be scanned.
Retry count
The number of tries until the text is found, could be any numeric value.
*Return x-position
Final x-position, variable name defined to assign the x-coordinate found.
*Return y-position
Final y-position, variable name defined to assign the y-coordinate found.
Note: * Fields selected with are required, others are optional.
You can use the X-coordinate as shown in the example.
700
You can use the Y-coordinate as shown in the example.
400
You can use the Width as shown in the example.
120
You can use the Height as shown in the example.
35
You can use the Languageas shown in the example.
For Turkish:
TUR
For English:
ENG
You can use the Retry countas shown in the example.
5
You can use the Return x-positionas shown in the example.
xPositionValue
You can use the Return y-positionas shown in the example.
yPositionValue
You can use Return x-position and Return y-position variables in Mouse activity in Keyboard & Mouse Operations.
In the example above, the coordinates of the text specified in the Text field will be scanned and a value will be returned to the xPositionValue and yPositionValue variables (For example: 300,280). When we select LEFT_CLICK from the combobox in the Action field of the Mouse Activity and write these returned variables as $ {xPositionValue} and $ {xPositionValue} into the X Position and Y Position fields, the returned values 300 and 280 will be used in the Mouse activity with the variable. As a result of the operation, left mouse click will be performed on the text specified in the Text field.
The values for height and width must be an integer.
Save screen capture activity allows taking a screenshot of the entire screen or a specific area on the screen.
*File name
File path where screenshot will be saved.
X-coordinate
If it is desired to limit the image to be screen capture on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the image to be screen capture on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the image to be screen capture on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Height fields.
Height
If it is desired to limit the image to be screen capture on the screen within a certain area; This field must be filled in, along with the X-coordinate, Y-coordinate and Width fields.
Note: * Fields selected with are required, others are optional.
Ocr activities allow extracting a string or information from an image item.
5.28.1 Read as text
Read as text activity allows a desired image content to be transferred as text to a variable.
*File name
File name with path.
X-coordinate
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the Y-coordinate, X-coordinate, and Width fields.
Height
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate, and Height fields.
*Language
The language library is selected.
*Result text name
The name of the variable to which the OCR result is to be transferred.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:Robustarobusta.png
You can use the X-coordinate as shown in the example.
68
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Y-coordinate as shown in the example.
347
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Width as shown in the example.
120
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Height as shown in the example.
35
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Languageas shown in the example.
TURENGRUSOCR-B
You can use the Result text nameas shown in the example.
readRobustaOcr
If the X-coordinate, Y-coordinate, height and width fields are left blank, all of specified image is transferred to variable specified in the Result text name field. If the X-coordinate, Y-coordinate, height and width fields are given a value, the area that these fields specified is transferred to variable specified in the Result text name field.
The values for height and width must be an integer.
Screen ocr scan activity allows a specified area on the screen and/or screen to be transferred to a variable as text.
X-coordinate
If it is desired to limit the screen to be scanned on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the screen to be scanned on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the screen to be scanned on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Height fields.
Height
If it is desired to limit the screen to be scanned on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Width fields.
*Language
The language library is selected.
*Result text name
The name of the variable to which the OCR result is to be transferred.
Note: * Fields selected with are required, others are optional.
You can use the X-coordinate as shown in the example.
68
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Y-coordinate as shown in the example.
347
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Width as shown in the example.
120
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Height as shown in the example.
35
X-coordinate, Y-coordinate, height and width field cannot be used alone. In case of using one, other fields must be filled.
You can use the Languageas shown in the example.
TURENGRUSOCR-B
You can use the Result text nameas shown in the example.
screenOcrScan
If the X-coordinate, Y-coordinate, height and width fields is left blank, all of specified image is transferred to variable specified in the Result text name field. If the X-coordinate, Y-coordinate, height and width fields are given a value, the area that these fields specified is transfered to variable specified in the Result text name field.
The values for height and width must be an integer.
Read words activity allows a desired image content to be transferred to a variable as text line by line.
*File name
File name with path.
X-coordinate
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the Y-coordinate, X-coordinate, and Width fields.
Height
If it is desired to limit the text to be read on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate, and Height fields.
*Language
The language library is selected.
*Result text name
The name of the variable to which the OCR result is to be transferred.
Note: * Fields selected with are required, others are optional.
The related component also gives the confidence score besides the coordinates and the text read.
If the X-coordinate, Y-coordinate, height and width fields is left blank, all of specified image is transferred to variable specified in the Result text name field. If the X-coordinate, Y-coordinate, height and width fields are given a value, the area that these fields specified is transfered to variable specified in the Result text name field.
System activities allow to run commands, batch files on the command line.
5.29.1 Run cmd
Run cmd activity allows run every command and program executed via Cmd.
*Exe name
The program name typed on the command line using CMD commands.
*Working directory
CMD is the working directory of the program where the command will be run.
Wait until finish
It is specified whether the process will be suspended until the end of the CMD command. If True is selected, the process waits in the relevant step until the program is terminated, if False is selected, the process goes to the next step without waiting for the program to end.
Run as admin
When this field is checked, the program will be run as admin. Note: User Account Control Settings should be at the minimum level (Never notify).
Parameters
The parameters of the program.
Result variablename
Result variable name.
Note: * Fields selected with are required, others are optional.
You can use the Working directory as shown in the example.
C:TempC:ebyn
You can use the Wait until finish as shown in the example.
If True is selected, the process waits in the relevant step until the program is terminated, if False is selected, the process goes to the next step without waiting for the program to end.
You can use the Generic credential name as shown in the example.
test2.gmail
You can use the Result variable name as shown in the examples.
credentialResult
5.31 Schedule
Schedule activities provide the planning of another process and / or itself within the processes (in terms of working frequency, runtime, start-end dates, etc.). In this way, each process and / or itself can be planned in small pieces if desired.
5.31.1 Schedule process
It enables different processes and/or itself to be triggered within a process, at the desired frequency, time, start and end interval. Each triggered process runs by specifing the desired time period like a small process (Child process).
Run once
It allows the process to be run once. This field is selected depending on the usage.
Run immadiately
Allows the process to run immediately. This field is selected depending on the usage.
*Process key
The “Model Key” information of the process to be triggered is entered. The Model Key field is the field filled in while creating the process.
Parameters
The parameters to be sent to the triggered process are written in JSON format. JSON format allows more than one variable to take value and send it to the relevant process as parameters.
Quartz definition
This field is used to specify how often, when / in what time frame the process will run. The expression to be written in this field must be in the form of a Cron expression called “CRON/CRONTAB Expressions”.
Start date
The start date of the process to be triggered is entered. Date and time that will be entered can’t be older than the time when process run. It can be scheduled for a future date.
End date
The expiration date of the process to be triggered is entered.
Worker name
Name of the worker. Example ; MyWorker
Retry count
The number of attempts is written, can be any numeric value.
Note: * Fields selected with are required, others are optional.
You can use the Process key as shown in the example.
ICU_Process
You can use the Parameters as shown in the example.
In this example, let’s assume that there is an expression written in JSON format as {“from”: “${sender}”, “to”: “${recipient}”, “message”: “${message}”} in the parameters field. In this expression, it is seen that more than one variable to be created according to usage is created and takes values. The “from, to, message” expressions in the expression show how many variables will be used in the process to be triggered. These naming can be made upon request. The values of these variables are the expressions shown as “${sender}, ${recipient}, ${message}”. These values will be sent as parameters to the triggered process and will be used as variables in the process with the same name.
You can use the Quartz Definitionas shown in the example.
0 * *? * * // – By writing this statement, the process is run every minute. Details and different examples of Cron/Crontab expressions are given below.
You can use the Start dateas shown in the example.
YYYY-MM-DD HH:mm:ss
You can use the End dateas shown in the example.
YYYY-MM-DD HH:mm:ss
You can use the Worker nameas shown in the example.
MyWorker
Cron/Crontabs expressions allow command, script and app to run in the specified time or time interval. By using these expressions in Scheduled process, time management can made easily.
Cron/Crontabs expressions consist of characters like *(asterisk), number, over-bar(-) etc. Each character has a different meaning. Parts that will not be used are expressed with * (Asterisk).
Example 1: Let’s create a crontab expression that will run every 10 minutes.
.——————- Second (0 – 59)
| .—————- Minute (0 – 59)
| | .————- Hour (0 – 23)
| | | .———- Day of the month (1 – 31)
| | | | .——- Month (1 – 12)
| | | | | .—- Weekdays (0 – 6) (Sunday=0 or 7)
| | | | | | |- Year
* * * * * * // The crontab command to run
Example 2: Let’s create a crontab expression that will run every midday at 12:00 and every evening at 18:00.
Let the Crontab expression 00 09-18 * * * *
00 – Every hour (00 clock start)
09-18 – From 9 A.M to 18 P.M (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
* – Every day
* – Every month
* – Weekdays
* – Year
Example 3: Let’s create a crontab expression that will run every at 12:00 noon and 18:00 p.m.
Let the Crontab expression 00 09-18 * * 1-5
00 – Every hour (00 clock start)
09-18 – From 9 A.M to 18 P.M every hour (09, 10, 11, 12, 13, 14, 15, 16, 17, 18)
You can use the Connection name as shown in the example.
${ftpConnection}/direction]
5.34 Cryptography
Cryptography activities are used to communicate securely in the presence of third parties.
5.34.1 Encryption
Encryption activity ensures that an intelligible data is made incomprehensible with the encryption method. Encryption is a double-sided encryption method, that is, an encrypted data can be decrypted with a key.
*Plain text
Unencrypted string is written.
*Encryption type
The method to be encrypted is selected.
*Result cipher text
The variable name of the directory that we want to be encrypted is written in an encrypted way.
*Key
Key information of the data to be encrypted is given.
Note: * Fields selected with are required, others are optional.
Decryption activity ensures that a data that has been rendered incomprehensible by the encryption method is made comprehensible.the encryption method. Encryption is a double-sided encryption method, that is, an encrypted data can be decrypted with a key.
*Ciper text
This is the field where the encrypted variable name should be written in the Encryption activity.
*Decryption type
The encrypted method is selected.
*Result plain text
It is the variable field where the decrypted data will be written.
*Key
The key information given in the Encryption activity is given in the same way.
Note: * Fields selected with are required, others are optional.
Hash activity ensures that an intelligible data is made incomprehensible with the encryption method. Hashing is a one-sided encryption method, that is, an encrypted data cannot be recovered. It is mostly used in comparison situations.
*Plain text
Unencrypted string is written.
*Hash type
The method to be encrypted is selected.
*Result cipher text
Enter the name of the variable that we want the directory to be encrypted in an encrypted way.
*Key
Key information of the data to be encrypted is given.
Note: * Fields selected with are required, others are optional.
You can use the Image file name as shown in the examples.
C:TempmyImage.jpg
You can use the Result variable name as shown in the examples.
newVariable
5.35.1 Image matching
Image matching activity is used to search for an image on a given source image. Starting from the X-Y point on the image, a search is made in an area equal to the determined width and height. If there is a match, the coordinate (X-Y) of the center point of the searched image on the searched image and the width/height values are assigned to the determined result variables. When x-position, y-position, width and height values aren’t entered, a search is made in the whole image.
*Source image
Source image file name with path.
*Source image Base64
Source image with base64 string. If image and its path are given in Source image field, Source image Base64 must not be used. In case of using it, an error will be returned.
*Searched image
File name and path of the image to be searched.
*Searched image Base64
Searched image with base64 string.
X-coordinate
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the Y-coordinate, Height, and Width fields.
Y-coordinate
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Height, and Width fields.
Width
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Height fields.
Height
If it is desired to limit the image to be searched on the screen within a certain area; this field must be filled in, along with the X-coordinate, Y-coordinate and Width fields.
Start scale
If it is desired to try again when the searched image is not found on the image, the Start Scale field is filled. Specifies the start scale. Scale statements are double-type numbers (0.1, 0.5, 2.0).
End scale
If it is desired to try again when the searched image is not found on the image, the Start Scale field is filled. Specifies the end scale. Scale statements are double-type numbers (0.1, 0.5, 2.0).
Scale step
If it is desired to try again when the searched image is not found on the image, the Start Scale field is filled. Specifies the progression coefficient. Specifies the progression coefficient.
Match score
Images are matched if their similarity percentage is higher than the match score.
*Return x-position
If the image matches, the x-coordinate of the center point of the searched image is assigned to this variable.
*Return y-position
If the image matches, the y-coordinate of the center point of the searched image is assigned to this variable.
*Return height
If the image matches, the height of the center point of the searched image is assigned to this variable.
*Return width
If the image matches, the width of the center point of the searched image is assigned to this variable.
Note: * Fields selected with are required, others are optional.
You can use the File name as shown in the example.
C:RobustablueCar.png
5.35.1 Captcha solver (AzCAPTCHA)
Captcha is a service used for the analysis of security measures used for human and computer separation. Captcha solver activities solves captcha’s and returns the results.
AzCAPTCHA activity, uses AZcaptcha’s automated online captcha solver API service. You need an account and make payment to use Azcaptha’s services. You can find detailed information about creating an account and payment options from Azcaptcha’s website.
*Captcha key
API key of AzCAPTCHA’s subscription.
*File
Path, name and extension of image that will be solved.
*Response variable name
Variable name to store image that is solved.
Note: * Fields selected with are required, others are optional.
You can use the Captcha key as shown in the example.
asds8dfcsf125dsdsfds5dasdasa3tyf
You can use the File as shown in the example.
C:SampleRobustacaptcha.png
You need to give the file path of image the captcha. To do that you need to download the capthca image to worker’s local file system. You can download the image using “Take Capture” activity, “Download File” activity or “Save screen capture” activity whichever is suitable for your process.
You can use the Response variable name as shown in the example.
captchaResult
AzCAPTCHA activity only solve image captchas. You cannot solve Google Recaptcha captchas with AzCAPTCHA activity. To solve Google Recaptcha’s you need use Captcha solver (ReCAPTCHA) activity.
5.35.1 Captcha solver (BestCAPTCHA)
Captcha is a service used for the analysis of security measures used for human and computer separation. Captcha solver activities solves captcha’s and returns the results.
BestCaptcha activity, uses BestCaptcha’s automated online captcha solver API service. You need an account and add credit to use BestCaptcha’s services. You can find detailed information about creating an account and payment options from BestCaptcha’s website.
*Access token
API key of BestCaptcha’s subscription.
*Template
Image file name with path or base64 string.
Case sensitive
(True/False) Uppercase and lowercase letters are treated as distinct of equivalent.
*Response variable name
Variable name to store image that is solved.
Note: * Fields selected with are required, others are optional.
You can use the Access token as shown in the example.
asds8dfcsf125dsdsfds5dasdasa3tyf
You can use the Templateas shown in the example.
C:SampleRobustacaptcha.png
You need to give a file path of image the captcha or you need to enter the base64 string of the captcha image. To do that you need to download the capthca image to worker’s local file system. You can download the image using “Take Capture” activity, “Download File” activity or “Save screen capture” activity whichever is suitable for your process. You can also use the “Base64 encoder” activity to create the base64 string.
You can use the Response variable name as shown in the example.
captchaResult
BestCapthca activity only solve image captchas. You cannot solve Google Recaptcha captchas with BestCaptcha activity. To solve Google Recaptcha’s you need use Captcha solver (ReCAPTCHA) activity.
5.35.1 Captcha solver (ReCAPTCHA)
Captcha is a service used for the analysis of security measures used for human and computer separation. Captcha solver activities solves captcha’s and returns the results.
ReCaptcha activity, uses BestCaptcha’s automated online captcha solver API service. You need an account and add credit to use BestCaptcha’s services. You can find detailed information about creating an account and payment options from BestCaptcha’s website.
*Application name
Name of application which has already been opened or attached.
*Access token
API key of BestCaptcha’s subscription.
Recaptcha field
The XPath of the HTML element containing the recaptcha id used in the website is written. By inspecting the page, the element containing the recaptcha data-sitekey tag is searched and the XPath of that element is obtained.
Submit button field
In this optional field, if it is necessary to press the submit button after the recaptcha is resolved (in some sites, it is necessary not to press it so that the recaptcha is not reset), the XPath of this button is entered.
Callback function name
This optional field is used for solving Hidden recaptcha. It can be needed in the background recaptchas on the site.
Note: * Fields selected with are required, others are optional.
You can use the Application name as shown in the example.
${myApp}
You can use the Access tokenas shown in the example.
70EBF…..
You can use the Recaptcha fieldas shown in the example.
//*[@id=”g-recaptcha”]
You can use the Submit button field as shown in the example.
//*[@id=”automation..]
You can use the Callback function name field as shown in the example.
check
Note: This optional field is used to solve the hidden recaptcha. It may be needed in the background recaptchas on the site. In some cases, after the recaptcha is resolved, pressing the submit button resets the recaptcha and starts again. In order to avoid this situation, a javascript function needs to be triggered in the background after the captcha is successfully resolved. It is necessary to write the name of this function in this field, and the name of the function appears in the element tag named data-callback. In this example you can see that “data-callback” equals to “check”, it may get various names on other websites.
5.35.1 Barcode reader
Barcode reader activity finds and analyzes the barcode on the given image.
*Image file name
Image file name with path.
*New dataset name
Reference name of dataset which will be created.
Note: * Fields selected with are required, others are optional.
You can use the Image file name as shown in the example.
C:Robustabarcode.png
You can use the New dataset name as shown in the example.
barcodeResult
Barcode reader activity returns dataset since the activity reads more than one barcode in a given image at the same time. Barcodes are assigned to variable by getting through dataset.
5.35.1 QR code reader
QR code reader activity finds and analyzes the QR code on the given image.
*Image file name
Image file name with path.
*Response variable name
Variable name to store QR code value.
Note: * Fields selected with are required, others are optional.
You can use the Image fileimage as shown in the example.
C:Robustarobusta.png
You can use the Return x-positionas shown in the example.
xPositonvalue
You can use the Return y-positionas shown in the example.
yPositonvalue
You can use the Return width as shown in the example.
widthValue
You can use the Return height as shown in the example.
heightValue
You can use Return x-position and Return y-position variables in Mouse activity in Keyboard & Mouse Operations.
In the example above, the coordinates of the text specified in the Text field will be scanned and a value will be returned to the xPositionValue and yPositionValue variables (For example: 300,280). When we select LEFT_CLICK from the combobox in the Action field of the Mouse Activity and write these returned variables as $ {xPositionValue} and $ {xPositionValue} into the X Position and Y Position fields, the returned values 300 and 280 will be used in the Mouse activity with the variable. As a result of the operation, left mouse click will be performed on the text specified in the Text field.
5.35.1 base64 decoder
Base64 decoder activity decodes an image from base64 format.
*Base64 string
base64 string that will be converted to an image file.
*Result file name
Name and path of image file that will be decoded from base64 string.
Note: * Fields selected with are required, others are optional.
You can use the Input image as shown in the example.
C:Robustarobusta.jpg
You can use the Output image name as shown in the example.
C:Robustagrayscale.jpg
You can use the Threshold typeas shown in the examples.
Thresh_Binary
: The threshold value is compared to each pixel’s value in the image, and pixels that exceed a certain threshold value are set to white while the remaining pixels are set to black.
Thresh_Binary_Inv
: The threshold value is compared to each pixel’s value in the image, and pixels that exceed a certain threshold value are set to black while the remaining pixels are set to white.
Thresh_Trunc
: The threshold value is compared to each pixel’s value in the image, and pixels that exceed a certain threshold value are set to this threshold value, while higher pixel values are preserved
Thresh_Tozero
: The threshold value is compared to each pixel’s value in the image, and pixels that exceed a certain threshold value are preserved, while the remaining pixels are set to zero
Thresh_Tozero_Inv
: The threshold value is compared to each pixel’s value in the image, and pixels that exceed a certain threshold value are set to zero, while the remaining pixels are preserved
Thresh_Otsu
: The Otsu threshold determines an optimal threshold value using a histogram analysis method to achieve the best separation of object pixel density in the image
You can use the Minimum valueas shown in the example.
50
The default value is 50.
You can use the Maximum valueas shown in the example.
255
The default value is 255.
.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id17959_ac8d5e-e7 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column17959_ab62ab-70 > .kt-inside-inner-col,.kadence-column17959_ab62ab-70 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column17959_ab62ab-70 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column17959_ab62ab-70 > .kt-inside-inner-col{flex-direction:column;}.kadence-column17959_ab62ab-70 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column17959_ab62ab-70 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column17959_ab62ab-70{position:relative;}@media all and (max-width: 1024px){.kadence-column17959_ab62ab-70 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column17959_ab62ab-70 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
INPUT
.kadence-column17959_071ae4-74 > .kt-inside-inner-col,.kadence-column17959_071ae4-74 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column17959_071ae4-74 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column17959_071ae4-74 > .kt-inside-inner-col{flex-direction:column;}.kadence-column17959_071ae4-74 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column17959_071ae4-74 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column17959_071ae4-74{position:relative;}@media all and (max-width: 1024px){.kadence-column17959_071ae4-74 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column17959_071ae4-74 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
You can use the Input image as shown in the example.
C:Robustarobusta.jpg
You can use the Output image name as shown in the example.
C:Robustagrayscale.jpg
You can use the Sharpen coefficientas shown in the example.
7
The default number is 7.
5.36.1 Brighten
Brighten activity is used for increasing or decreasing the brighten of image.
*Input image
Path file name and extension of the image that will be processed.
*Output image
Path, file name and extension of the image that is processed.
Brightness level
Image gets brighter as the brightness level increases, value range is between 1 and 255. Image gets darker as the brightness level decreases for negative values, value range is between -255 and -1.
Note: * Fields selected with are required, others are optional.
You can use the Input image as shown in the example.
C:TempRobustarobusta.jpg
You can use the Output image name as shown in the example.
C:TempRobustadeskew.jpg
5.36.1 Rotate
Rotate activity is used for rotating images.
*Input image
Path file name and extension of the image that will be processed.
*Output image
Path, file name and extension of the image that is processed.
Rotation
Direction that image will be rotated.
Rotation degree
Degree to which the image will be rotated. It must be an integer value between 0-180 and must be used when rotate right or rotate left options are chosen.
Note: * Fields selected with are required, others are optional.
You can use the Input image as shown in the example.
C:Robustarobusta.jpg
You can use the Output image name as shown in the example.
C:Robustagrayscale.jpg
You can use the X-coordinateas shown in the example.
120
You can use the Y-coordinateas shown in the example.
250
You can use the Width as shown in the example.
100
You can use the Heightas shown in the example.
50
5.37 Google Cloud Vision
Google Cloud Vision component uses Google Cloud Vision API. Vision API offers powerful pre-trained machine learning models. To use the Google Cloud Vision component and its activities, you need a Google Cloud account and an appropriate subscription to access the API key. Some of the Google Cloud Vision features are free to use. You can learn more information from Google Cloud Vision documentation. All activity responses are in the JSON format.
Note: Google Vision API only accepts Google Storage files or image files in Base64 formats. You need to upload your local image files to Google Cloud Storage, or you can encode your image files in Base64 format. If you don’t want to use Google Cloud Storage, you can use the Base64 Encoder activity to encode your local image files.
5.37.1 Text detection
Text detection activity detects words from image files. It uses optical character recognition (OCR) technology. The results are JSON format, including the entire extracted string, individual words, and their bounding boxes.
You can find detailed information and documentation about Google Cloud Vision text detection features.
*Api key
Google Cloud Vision API Key
*Image path/url
Image Google Cloud Storage url
*Base64
Image file’s Base64 String
*Response variable name
Variable name to store the http response
Note: You can either use Image path/url or Base64 field in your process.
You can use the Response variable name fileas shown in the example.
getRespone
5.37.1 Object recognition
Object recognition activity can detect and extract multiple object with object localization. Object localization identifies multiple objects in an image and provides a LocalizedObjectAnnotation for each object in the image. Each LocalizedObjectAnnotation identifies information about the object, the position of the object, and rectangular bounds for the region of the image that contains the object.
You can find detailed information and documentation about Google Cloud Vision dedect multiple objects features.
*Api key
Google Cloud Vision API Key
*Image path/url
Image Google Cloud Storage url
*Base64
Image file’s Base64 String
*Response variable name
Variable name to store the http response
Note: You can either use Image path/url or Base64 field in your process.
You can use the Response variable name fileas shown in the example.
getRespone
5.37.1 Label detection
Label detection activity can detect and extract information about entities in an image, across a broad group of categories. Labels can identify general objects, locations, activities, animal species, products, and more.
You can find detailed information and documentation about Google Cloud Vision detect labels features.
*Api key
Google Cloud Vision API Key
*Image path/url
Image Google Cloud Storage url
*Base64
Image file’s Base64 String
*Response variable name
Variable name to store the http response
Note: You can either use Image path/url or Base64 field in your process.
You can use the Response variable name fileas shown in the example.
getRespone
5.37.1 Explicit content detection
Explicit content detection activity detects explicit content such as adult content or violent content within an image. This feature uses five categories (adult, spoof, medical, violence and racy) and returns likelihood that each is present in a given image.
You can use the Response variable name fileas shown in the example.
getRespone
5.38 Microsoft Cognitive Services
Microsoft Cognitive Services component uses Microsoft (Azure) Cognitive Services API. Microsoft Azure Cognitive Services is a set of APIs that make it easy for you to include advanced artificial intelligence capabilities in your apps. To use Microsoft Cognitive Services, you need an Azure Account and a proper subscription model for available APIs. Some Microsoft Cognitive Services features are free to use and you can learn more information from Microsoft Cognitive Services documentation. Some activity responses are in JSON format.
Computer Vision and Face API work with image files. Image files must have a public url address in a web site or storage.
Language API works with text, you can input texts in the modeler.
There are 9 separate activities under Microsoft Cognitive services. These activities work on Computer Vision API, Language API and Face API services. You should create the appropriate APIs from the Azure administration panel to run the related activities. You will need the appropriate API endpoint url and API key information to use each activity.
You can examine the table to find out which activity works with which API.
Text detection activity detects words from image files. It uses optical character recognition (OCR) technology. The results are JSON format, including the entire extracted string, individual words, and their bounding boxes.
You can find detailed information and documentation about Microsoft Cognitive Services text detection features.
Face detection activity detects faces from image files. Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
You can find detailed information and documentation about Microsoft Cognitive Services face detection features.
Sentiment analysis, features help you find out what people think of your brand or topic by mining text for clues about positive or negative sentiment, and can associate them with specific aspects of the text.
You can find detailed information and documentation about Microsoft Cognitive Services sentiment analysis features.
Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful.
getResponse
5.38.1 Key phrase extraction
You can use key phrase extraction to identify the main concepts in the text quickly. For example, in the text “The food was delicious, and the staff was wonderful.“, the key phrase extraction will return the main topics: “food” and “wonderful staff.”
You can find detailed information and documentation about Microsoft Cognitive Services key phrase extraction features.
The food was delicious, and the staff was wonderful.
getResponse
5.38.1 Object detection
Object detection returns the bounding box coordinates (in pixels) for each object found in the image. You can use this functionality to process the relationships between the objects in an image. The object detection function applies tags based on the objects or living things identified in the image.
You can find detailed information and documentation about Microsoft Cognitive Services object detection features.
The Computer Vision Image Analysis service can extract a wide variety of visual features from your images. For example, it can determine whether an image contains adult content, find specific brands or objects, or find human faces.
You can find detailed information and documentation about Microsoft Cognitive Services analyze image features.
Describe image can analyze an image and generate a human-readable phrase that describes its contents. The algorithm returns several descriptions based on different visual features, and each description is given a confidence score. The final output is a list of descriptions ordered from highest to lowest confidence.
You can find detailed information and documentation about Microsoft Cognitive Services describe image features.
Tag image can return content tags for thousands of recognizable objects, living beings, scenery, and actions that appear in images. Tags are not organized as a taxonomy and do not have inheritance hierarchies. Tagging is not limited to the main subject, such as a person in the foreground, but also includes the setting (indoor or outdoor), furniture, tools, plants, animals, accessories, gadgets, and so on.
You can find detailed information and documentation about Microsoft Cognitive Services tag image features.
You can automate end-user processes by connecting the SAP GUI application with the SAP component. While using the SAP component, you can use the necessary activities (e.g. Mouse Actions, Set Methods, Functions etc.) under the Applications component while interacting with the SAP application.
To perform your automation operations in the SAP application, you need to find the clickable fields or form fields on the application. You can use the Tracker app to find clickable or form fields. You can access the Tracker application using path C:Robusta…drivertrackertracker.exe.
You can access the information required to use the Tracker application from the Help menu or by pressing the F1 key.
Choose the menu item Options… from the system menu of the SAP® Logon.
Choose the node Scripting.
The Scripting must be installed and activated.
It is better to disable the notifications, otherwise you got a requester for each script execution.
It is better to disable the using of native Windows dialogs. On this way the native Windows dialogs, e.g. like Save as or Open, are replaced with a dynpro-based dialog. So you have the possibility to record your activities also with these dialogs.
Enable SAP® GUI Scripting on Application Server
Use the transaction code RZ11 in the ok field.
Use the profile parameter sapgui/user_scripting and press the Display button.
The current value must be TRUE.
If it is FALSE, press the Change Value button and change it to TRUE on all servers.
5.39.1 Open SAP session
Open SAP session activity opens the SAP application and login the system.
*SAP Application name
Reference name of the application will be opened.
*Connection name
SAP Logon screen’s connection name.
*Username
Enter the username used when logining the SAP application.
*Password
Enter the password used when logining the SAP application.
Client
Enter the client value when logining the SAP application.
Language
Enter the language value when logining the SAP application.
*SAP Logon exe path
The directory of the SAP application is entered.
Wait time
Can be used during login to the SAP application.(ms)
Note: * Fields selected with are required, others are optional.
You can use the SAP Application name as shown in the example.
${newSapConnection}
You can use the Statusbar typeas shown in the example.
You can choose the appropriate type from the list.
MESSAGEMESSAGE TYPE
You can use the Response variableas shown in the example.
You can get the related message from status bar, and store in a variable.
getStatus[/direciton]
6. Orchestrator Components
6.1 Reporting/Dashboard
Dashboard Access
You can access the Robusta RPA Dashboard by clicking on the Reporting icon from the Robusta management panel or from https://xxxxx.xxx:5601 from your Robusta Orchestrator address.
After clicking on the reporting field, the Kibana login screen appears on the screen. You can log in to the system using the username and password provided to you.
After logging in, click on the Dashboard title in the Bar on the left side of the screen.
After clicking on the Dashboard title in the left bar, you can see the predefined dashboard list on the screen.
If you want to create a different dashboard other than the default dashboards, you can create a custom dashboard by using the “Create Dashboard” button at the top right of the screen.
Dashboard General Features
While viewing with Dashboard, you can take advantage of the maximize, share, copy, and edit features.
Full Screen
By using the “Full Screen” option at the top left of the screen, you can view all graphs and numerical indicators in full screen.
Share
With the Share button, you can share instant or live data of the dashboard. With Embed Code, you can share dashboard display links in the iFrame and with Permalinks.
Clone
With the Clone option, you can create a new dashboard by copying the dashboard you viewed.
Edit
With the Edit option, you can make changes on the dashboard of your choice. You can move the charts around, add new charts, delete the charts shown on the screen, or edit the information that the charts show.
Search
You can search and view it by typing the name of the chart you want to view in the Search field.
Schedule
You can view data for the time range you selected by selecting the time range you want to view in the Schedule field.
Refresh
You can refresh the received data with the Refresh button.
Add Filter
With the Add Filter option, you can filter according to the fields used in the creation of the panels and the values they will receive. Depending on the filter applied, you can view information about only one process or only one user.
Options
In the upper right section of any panel, click the “…” By clicking the button, you can access the Properties section of the panel you are viewing. Thanks to this features section, you can examine the information screens in detail and view them in the time interval you choose or in full screen. In addition, with the Inspect option, you can view the data shown by the relevant panel as a table and save it in CSV format.
6.1.1 Delay Dashboard
With the delay dashboard, you can review how long the triggered or queued processes started in Robusta Orchestrator and view the reports. There are a total of 7 panels and tables in the Delay Dashboard.
According to the time interval you select from the Delayed Processes in Minutes panel, you can view how much delay is experienced in total according to the key information of your processes.
Delayed Processes by Process Instance Name
From the Delayed Processes by Process Instance Name indicator, you can view how much delay is experienced each time your process is triggered. According to the key information, the delays experienced according to different triggering situations from each process are shown.
Total Delayed Processes by Worker in Minutes
From the Delayed Processes by Worker in Minutes panel, you can view how much delay is experienced on a worker basis, and in cases where there are multiple workers, you can load balance between your workers.
Delayed Process Instances by Worker in Minutes
In the Delayed Process Instances by Worker in Minutes panel, you can view how much delay is experienced on a worker-by-worker basis when each process is triggered. With this panel, you can view which triggering is delayed and how long, and you can load balance the worker according to the time interval in which the delays are experienced.
Delayed Processes by Top 5 Workers in Minutes
In the Delayed Processes by Top 5 Workers in Minutes panel, you can view the 5 workers with the most delays according to the magnitude of the delay.
Delayed Processes by Process Definition
From the Delayed Processes by Process Definition table, you can see which process is delayed in which table, how much process is delayed in total, and how many triggers this delay is experienced.
Delayed Processes by Process Instance
In the Delayed Processes by Process Instance table, you can view the amount of time in time that each process is triggered.
6.1.1 Worker Activities
With the Worker Activities Dashboard, you can view how many minutes and how many seconds the workers working in Orchestrator worked in the time interval you specified, how many times which process worked, how busy each worker was at which time of the day, and more information about your workers. There are a total of 9 panels and tables in the Worker Activities Dashboard.
Worker-App-Process Selection Filter
SumOfProcessDurationInMinutes
SumOfProcessDurationInSeconds
Worker – Process Count By Started Date
Process Duration By Started Date
Worker Busyness Chart
Running Workers
Running Processes Table
Waiting Process Queue Table
Worker-App-Process Selection Filter
Work-App-Process Selection Filter is a filtering screen that allows you to view the information shown in this dashboard by filtering it for Worker, App and Process.
Sum of Process Duration in Minutes
In the Sum of Process Duration in Minutes panel, you can view the total number of minutes the workers in your Orchestrator worked during the selected time interval.
Sum of Process Duration in Seconds
In the Sum of Process Duration in Seconds panel, you can view the total number of seconds the workers in your Orchestrator worked during the selected time interval.
Worker-Process Run List
You can view the information about which process has run how many times from the Worker-Process Run List panel.
In addition, by clicking on each process, you can switch to a more detailed view on a process basis.
Worker Process Count by Start Date
With the Worker Process Count by Start Date graph, you can view how long your processes are running based on the start date.
You can view the part of the chart that you want to see in more detail with the mouse and make views on the basis of day-hour-minute. Since the time range you choose offers a dynamic display, other panels will also be affected by this filtering.
Process Duration by Start Date
With the Process Duration by Start Date chart, you can view how many seconds the processes that started in the time interval you selected were running.
You can view the part of the chart that you want to see in more detail with the mouse and make views on the basis of day-hour-minute. Since the time range you choose offers a dynamic display, other panels will also be affected by this filtering.
Worker Busyness Chart
With the Worker Busyness Chart, you can view how busy the workers working in the Orchestrator are in the time period you choose. Thanks to this graph, you can analyze which worker works in which time interval, plan load balancing among your workers or determine the time interval in which your new processes will run.
You can get more detailed information about the status of the relevant process with your mouse over a range shown on the panel.
Running Workers
With the Running Workers chart, you can get information about the workers who worked during the time period you selected. This graph shows which processes the workers run.
You can get more detailed information about the status of the relevant process with your mouse over a range shown on the panel.
Running Processes Table
Running Processes Table, you can use the table to list the user, the worker, and the date on which the process started.
Waiting Process Queue Table
By using the Waiting Process Queue Table, you can view the processes waiting in the queue in a list according to the time of trigger, user information, and process name.
6.1.1 Worker Highlights
With the Worker Highlights Dashboard, you can view the number of active workers on Orchestrator, the busyness status and occupancy rates of your workers, and the pending processes. There are a total of 6 panels on the Worker Highlights Dashboard.
It shows the number of workers working in Orchestrator during the time period you specify from the Active Worker Count panel. If there are no active workers in the time period you specify, the result is shown as “0”.
Enabled Worker Count
From the Enabled Worker Count panel, you can view the number of workers waiting to work on Orchestrator in the time interval you specify.
Pending Process Count
You can view the number of processes whose status is in “pending” on Orchestrator in the time interval you specify from the Pending Process Count panel.
Daily Worker Load Status Last 24 Hours
With the Daily Worker Load Status Last 24 Hours panel, you can view the occupancy rate of workers in the last 24 hours as a percentage through Orchestrator.
Daily Worker Load Status Last 6 Hours
With the Daily Worker Load Status Last 6 Hours panel, you can view the occupancy rate of workers in the last 6 hours as a percentage through Orchestrator.
Daily Worker Load Status Last 7 Days
With the Daily Worker Load Status Last 7 Days panel, you can view the occupancy rate of daily workers in the last 7 days as a percentage through Orchestrator.
6.1.1 Worker & Process Highlights
With the Worker & Process Highlights Dashboard, you can view the start times of your Workers and processes running on Orchestrator, end lines, successful-unsuccessful completed processes, your processes running on a worker basis and much different information. There are a total of 20 panels and tables in the Worker & Process Highlights Dashboard.
From the Running Process panel, you can view the number of processes that ran in the time interval you selected on Orchestrator.
Success Process
From the Success Process panel, you can view the number of successfully completed processes in the time interval you select on Orchestrator.
Failed Process
From the Failed Process panel, you can view the number of failed processes in the time interval you select on Orchestrator.
Cancelled Process
From the Cancelled Process panel, you can view the number of canceled processes in the time period you selected on Orchestrator.
Process Selection Filter
Work-App-Process Selection Filter is a filtering screen that allows you to view the information shown in this dashboard by filtering it for Worker, App and Process.
Most Used 5 Workers
With the Most Used 5 Workers chart, you can view how many processes the top 5 most used workers ran on Orchestrator during the time period you selected.
If you hover over the area indicated by the mouse on the graph, you can view the number of processes that the relevant worker has run. You can also filter on the basis of worker by clicking on the field shown.
Most Used 5 Workers by Processes
With the Most Used 5 Workers by Processes chart, you can view how many times the 5 most used workers ran which process on Orchestrator in the time period you selected.
If you hover over the area shown with the mouse on the graph, you can view the name of the process that the relevant worker has run and how many times it has run. You can also filter on the basis of worker and process by clicking on the field shown.
Most Used 5 Processes
With the Most Used 5 Processes chart, you can view the top 5 most run processes on Orchestrator during the time period you choose.
If you hover over the area indicated by the mouse on the graph, you can view the number of times the process runs. You can also filter on the basis of worker and process by clicking on the field shown.
Most Used 5 Processes by Status
With the Most Used 5 Processes by Status chart, you can see the status of the 5 most worked processes on Orchestrator in the time period you selected. You can view status statuses as successful, failed, and revoked.
If you hover over the area indicated by the mouse on the graph, you can view how many times the relevant process has run. You can also filter on the basis of worker and process status by clicking on the field shown.
End Status Distribution
With the End Status Distribution chart, you can view the successful, failed, and canceled statuses of the processes running on Orchestrator as a percentage during the time period you choose.
End Status Table by Process
With the End Status Table by Process table, you can view the number of failed processes that ran on Orchestrator during the time period you selected. You can download the table with all statuses to your computer by using the Export option at the bottom left. You can switch between pages by clicking on the pages at the bottom right.
Most Used 5 Workers by Start Date
With the Most Used 5 Workers by Start Date chart, you can view the number of times per day that workers working on Orchestrator worked during the time period you selected.
Most Used 5 Processes by Start Date
With the Most Used 5 Processes by Start Date chart, you can view the number of times per day that the processes running on Orchestrator ran during the time period you selected.
End Status by Start Date
With the End Status by Start Date chart, you can view the completion status of the processes running on Orchestrator on a daily basis during the time period you choose. By selecting a specific time range with the mouse, you can dynamically filter the chart and the entire dashboard.
Process & Status by Latest 5 Worker
With the Process & Status by Latest 5 Worker chart, you can view the processes run by the last 5 workers running on Orchestrator during the time period you choose and the completion status of these processes.
If you hover over the area shown with the mouse on the graph, you can view how many times the relevant process has been completed. You can also filter on the basis of worker and process status by clicking on the field shown.
Average Duration of Top 10 Processes in Minutes
With the Average Duration of Top 10 Processes in Minutes chart, you can view the average number of minutes the top 10 processes that worked on Orchestrator during the time period you selected.
Top 10 Failed Reason of Transactions
With the Top 10 Failed Reason of Transactions chart, you can view the top 10 reasons why processes fail due to tasks or activity in processes running on Orchestrator during the time period you select. Thanks to this graph, you can identify the tasks or activities that receive the most errors in your processes.
Status Trend by Worker
With the Status Trend by Worker chart, you can view the process completion status of the workers by date on Orchestrator as a trend in the time range you choose. Thanks to this graph, you can view which workers have succeeded or failed the processes on which dates. By selecting a specific time range with the mouse, you can dynamically filter the chart and the entire dashboard.
Process Status Trend by Date
With the Process Status Trend by Date chart, you can view the status of the processes completed on Orchestrator as a trend in the time period you choose. By selecting a specific time range with the mouse, you can dynamically filter the chart and the entire dashboard.
End Event Name Table by Process
With the End Event Name Table by Process table, you can view the activity with which the processes that were completed by failing on Orchestrator in the time interval you selected. In the export field at the bottom right, you can download the table in CSV form to your computer and switch between pages using the page numbers at the bottom left.
6.2 IDM (Identity management)
IDM is an interface where you can administrate all users’ authorities and authorize who can access where. Management authorization is given to certain users and only authorized users can access IDM.
6.2.1 Users
Users is an interface where all user in Robusta engine are listed, created and other operations like changing user properties are made.
Create user
Access to user creation field through this button.
Select an action
Selected user details can be changed.
Search by name
Users on the list can be found via this field.
Found … matching users, showing 1 to 100 Show next 100
By clicking can show all users by 100.
Order by user id
Orders users by user name.
Create user
To create a new user, click the Create user button and fill in the relevant fields.
User id
User name that user will use to access Robusta. The part before @mail.com.
Email
User name that user will use for Robusta.
Password
Password of user.
First name
First name of user.
Last name
Last name of user.
Tenant
Tenant user will belong to.
To active Select an action button, a user must be selected.
Change details
User’s details are changed through this window.
Change password
User’s password are changed through this window.
Delete
Delete the selected user/s.
Id
User name that users use to access Robusta.
Email
Email that is defined to user.
Name
Name of user.
Tenant
All users in an organization belongs to the same tenant.
Select an action > Change details
Email
Email that user uses for Robusta.
First name
First name of user.
Last name
Last name of user.
Tenant
Tenant user belongs to.
Select an action > Change password
Password
New password.
Repeat password
Type new password again.
6.2.1 Groups
Groups is an interface where you can create groups and add users to groups. Groups interface helps to form groups based on organization/company and or department.
Created group IDs are used as authorization restriction in group access component in Apps interface that are created in Modeler.
To create a new group, click the Create group button.
Fill in the fields and click Save button.
Group id
Id of group.
Name
Name of group.
To add user to group, select group from list and click add user field.
To edit group, click pen button. To delete group, click trashcan button. To delete group member, from list, click the trashcan button.
Atfer clicking the pen button, a window will open. You can change group’s name and click the Save button.
6.2.1 Privileges
Privileges is an interface that you can manage who or which group can access where.
There are 3 different authorization control areas in this section.
Access Modules
Manage access to modules is managed based on individuals and groups.
Restrict Pages
Manage access to pages of modules with access permission is restricted. It is managed on an individual basis.
Restrict Functions
Manage access to functions of modules with access permission is restricted. It is managed on an individual basis.
Users
Manage users for the relevant application.
Groups
Manage groups for the relevant application.
Add a user
Add a user for the relevant application.
ID
User name.
Email
Email of user
Name
First and last name of user.
.kb-row-layout-id_1c9dcf-85 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_1c9dcf-85 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_1c9dcf-85 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_1c9dcf-85 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_1c9dcf-85 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_1c9dcf-85 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_524120-31 > .kt-inside-inner-col,.kadence-column_524120-31 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_524120-31 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_524120-31 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_524120-31 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_524120-31 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_524120-31{position:relative;}@media all and (max-width: 1024px){.kadence-column_524120-31 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_524120-31 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
To Add Users
Click Add a user
If no users added yet, Click No users added yet. Click here to add a user.
Use the search box to find users
.kadence-column_249f78-a9 > .kt-inside-inner-col,.kadence-column_249f78-a9 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_249f78-a9 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_249f78-a9 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_249f78-a9 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_249f78-a9 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_249f78-a9{position:relative;}@media all and (max-width: 1024px){.kadence-column_249f78-a9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_249f78-a9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
To Add Groups
Click Add a group
Use the search box to find groups.
To Delete User/Group
.kb-row-layout-id_03767b-c8 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_03767b-c8 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_03767b-c8 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_03767b-c8 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_03767b-c8 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_03767b-c8 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_6fa57e-7a > .kt-inside-inner-col,.kadence-column_6fa57e-7a > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_6fa57e-7a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_6fa57e-7a > .kt-inside-inner-col{flex-direction:column;}.kadence-column_6fa57e-7a > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_6fa57e-7a > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_6fa57e-7a{position:relative;}@media all and (max-width: 1024px){.kadence-column_6fa57e-7a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_6fa57e-7a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Click trashcan icon.
.kadence-column_18e975-0a > .kt-inside-inner-col,.kadence-column_18e975-0a > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_18e975-0a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_18e975-0a > .kt-inside-inner-col{flex-direction:column;}.kadence-column_18e975-0a > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_18e975-0a > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_18e975-0a{position:relative;}@media all and (max-width: 1024px){.kadence-column_18e975-0a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_18e975-0a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Manage the permissions of users authorized to access the Add Privilege To Group function
Add Privilege To User
Manage the permissions of users authorized to access the Add Privilege To User function
Add User To Group
Manage the permissions of users authorized to access the Add User To Group function
Change User Details
Manage the permissions of users authorized to access the Change User Details function
Change User Password
Manage the permissions of users authorized to access the Change User Password function
Create Group
Manage the permissions of users authorized to access the Create Group function
Create User
Manage the permissions of users authorized to access the Create User function
Delete Group
Manage the permissions of users authorized to access the Delete Group function
Delete User
Manage the permissions of users authorized to access the Delete User function
Edit Group
Manage the permissions of users authorized to access the Edit Group function
Remove Privilege From Group
Manage the permissions of users authorized to access the Remove Privilege From Group function
Remove Privilege From User
Manage the permissions of users authorized to access the Remove Privilege From User function
Remove User From Group
Manage the permissions of users authorized to access the Remove User From Group function
Create App
Manage the permissions of users authorized to access the Create App function
Create Decision Table
Manage the permissions of users authorized to access the Create Decision Table function
Create Form
Manage the permissions of users authorized to access the Create Form function
Create Process
Manage the permissions of users authorized to access the Create Process function
Edit App
Manage the permissions of users authorized to access the Edit App function
Edit Decision Table
Manage the permissions of users authorized to access the Edit Decision Table function
Edit Form
Manage the permissions of users authorized to access the Edit Form function
Edit Process
Manage the permissions of users authorized to access the Edit Process function
Export Apps
Manage the permissions of users authorized to access the Export Apps function
Import App
Manage the permissions of users authorized to access the Import App function
Import Decision Table
Manage the permissions of users authorized to access the Import Decision Table function
Import Process
Manage the permissions of users authorized to access the Import Process function
Record Process
Manage the permissions of users authorized to access the Record Process function
Create Task
Manage the permissions of users authorized to access the Create Task function
Start Process
Manage the permissions of users authorized to access the Start Process function
Update Process Status
Manage the permissions of users authorized to access the Update Process Status function
Add App to Worker Group
Manage the permissions of users authorized to access the Add App to Worker Group function
Add Entity to Utterance
Manage the permissions of users authorized to access the Add Entity to Utterance function
Add Worker to Worker Group
Manage the permissions of users authorized to access the Add Worker to Worker Group function
Change Database Definition Details
Manage the permissions of users authorized to access the Change Database Definition Details function
Change Database Event Details
Manage the permissions of users authorized to access the Change Database Event Details function
Change Entity Details
Manage the permissions of users authorized to access the Change Entity Details function
Change File Event Details
Manage the permissions of users authorized to access the Change File Event Details function
Change Ftp Definition Details
Manage the permissions of users authorized to access the Change Ftp Definition Details function
Change Intent Details
Manage the permissions of users authorized to access the Change Intent Details function
Change Mail Definition Details
Manage the permissions of users authorized to access the Change Mail Definition Details function
Change Project Details
Manage the permissions of users authorized to access the Change Project Details function
Change Secured Key Details
Manage the permissions of users authorized to access the Change Secured Key Details function
Change Utterance Details
Manage the permissions of users authorized to access the Change Utterance Details function
Change Utterance Entity Details
Manage the permissions of users authorized to access the Change Utterance Entity Details function
Change Worker Log Level
Manage the permissions of users authorized to access the Change Worker Log Level function
Check Worker Status
Manage the permissions of users authorized to access the Check Worker Status function
Create Database Definition
Manage the permissions of users authorized to access the Create Database Definition function
Create Database Event
Manage the permissions of users authorized to access the Create Database Event function
Create Entity
Manage the permissions of users authorized to access the Create Entity function
Create File Event
Manage the permissions of users authorized to access the Create File Event function
Create Ftp Definition
Manage the permissions of users authorized to access the Create Ftp Definition function
Create Intent
Manage the permissions of users authorized to access the Create Intent function
Create Mail Definition
Manage the permissions of users authorized to access the Create Mail Definition function
Create Project
Manage the permissions of users authorized to access the Create Project function
Create Secured Key
Manage the permissions of users authorized to access the Create Secured Key function
Create Utterance
Manage the permissions of users authorized to access the Create Utterance function
Create Worker
Manage the permissions of users authorized to access the Create Worker function
Create Worker Group
Manage the permissions of users authorized to access the Create Worker Group function
Delete App from Worker Group
Manage the permissions of users authorized to access the Delete App from Worker Group function
Delete Database Definition
Manage the permissions of users authorized to access the Delete Database Definition function
Delete Database Event
Manage the permissions of users authorized to access the Delete Database Event function
Delete Entity
Manage the permissions of users authorized to access the Delete Entity function
Delete File Event
Manage the permissions of users authorized to access the Delete File Event function
Delete Ftp Definition
Manage the permissions of users authorized to access the Delete Ftp Definition function
Delete Intent
Manage the permissions of users authorized to access the Delete Intent function
Delete Mail Definition
Manage the permissions of users authorized to access the Delete Mail Definition function
Delete Project
Manage the permissions of users authorized to access the Delete Project function
Delete Utterance
Manage the permissions of users authorized to access the Delete Utterance function
Delete Utterance Entity
Manage the permissions of users authorized to access the Delete Utterance Entity function
Delete Worker
Manage the permissions of users authorized to access the Delete Worker function
Delete Worker from Worker Group
Manage the permissions of users authorized to access the Delete Worker from Worker Group function
Delete Worker Group
Manage the permissions of users authorized to access the Delete Worker Group function
Download Worker Logs
Manage the permissions of users authorized to access the Download Worker Logs function
Edit Worker Group
Manage the permissions of users authorized to access the Edit Worker Group function
Enable/Disable Worker Screenshotting
Manage the permissions of users authorized to access the Enable/Disable Worker Screenshotting function
Ftp Definition Events
Manage the permissions of users authorized to access the Ftp Definition Events function
Mail Definition Events
Manage the permissions of users authorized to access the Mail Definition Events function
Train Project Model
Manage the permissions of users authorized to access the Train Project Model function
Update System Parameters
Manage the permissions of users authorized to access the Update System Parameters function
Update Worker
Manage the permissions of users authorized to access the Update Worker function
Upload License
Manage the permissions of users authorized to access the Upload License function
6.3 RPA Admin
RPA Admin is an interface where robots on which processes will be run, file, database, FTP and passwords are defined.
6.3.1 Workers
In the workers’ tab, you can define new workers, check the workers’ status, and create worker groups.
6.3.1 Definitions
Definitons field allows the digital employees/robots to be identified with their IP address and Port number.
Create Worker: By clicking on this area, robots are created where the processes will run. In the image, previously created robots are seen in the “Matching Workers” area.
Create worker
Access worker creation field through this button.
Check worker status
Check all existing workers status.
Upload license
Upload the purchased licence via this button.
Select an action
Selected workers in the list can be updated, deleted or made status passive.
Search By Worker Name
Workers on the list can be found via this field.
Found … matching worker(s), showing 1 to 10 Show next 10
By clicking can show all workers by 10.
Order by worker name
Orders workers by worker name.
Name
Name of worker.
Hostname
Information of access address.
Minimum Business Priority
Minimum worker priority number that is accepted by the worker.
Take Screenshot
Take screenshot is used to take screenshots for each step in front-end interface where steps are performed while processes working.
Enabled
The worker is enabled or not. (Y/N)
Server status
Status of server: Up, Down and Unknown. Up: Worker is accessible. Down: Worker is not accessible. Unknown: Worker is passive.
Worker status
Availability status of worker: Available, Busy, Maintenance and Unknown. Available indicates worker is ready or can run a new task, Busy indicates worker is running a task, Maintenance indicates worker in maintenance and Unkown indicates worker is passive.
Apps
Shows apps in worker by clicking eye button.
Click Create worker button to create a new worker.
Worker name
The name that will be given to the robot/digital employee.
Hostname
IP address and Port Number information of the robot/digital worker
Minimum business priority
Priority definition is made by giving a value from 1 to 99 at what priority the robot / Digital Worker is required to do. The priority level is 1, the lowest and 99 the highest.
Status
Robot / Digital Employee is active or passive (enabled: Y / N) is selected or not.
All these information can be seen Matching field area in the image above.
After finishing with Create worker window,the steps specified on the Worker Group page should be performed.
6.3.2 Build Info
Build Info is an interface where workers’ RPA services update status is demonstrated.
Select Worker
From list box, select the desired worker to investigate.
Filter
Click the Filter button to search worker’s services.
Application name
Name of application.
Build time
Time interval application or Java service is built.
Commit id
Id of application.
6.3.3 Worker Groups
Worker Groups field allows matching apps and workers when specific apps are requested to run on specific workers. Same worker or apps can be defined in more than one group and give business priority.
By clicking Create worker group, robot groups are created for the robots where the processes will run.
2. Fill in the Name, Minimum Business Priority and Maximum Priority fields.
Name
Name of worker group
Minimum business priority
Minimum priority of worker group. The priority level is from 1 to 99. The lowest priority level is 1, the highest priority level is 99. The lower the number is, the higher the priority is.
Max. Bp number
Number of worker that will run simultanously.
Enabled
The created group will be active or passive.
3. To add worker to worker group, click Add worker field and in Search by name area box, you can search worker and click on the worker name to add.
4. To add app to worker group, click Add app field and in Search by name area box, you can search app and click on the app name to add.
Performing the steps specified in the Workers area, and after the above-mentioned steps are performed, robots / digital employees where the processes will be run are ready to be planned by the Management Module (Orchestrator).
6.3.4 File Events
File Events area starts a new process according to operation status such as adding the specific folder to the relevant file, deleting or editing and defines a certain condition for process whose runtime is due. Server where orchestrator is installed must have folders, shared and public folders that server can access.
Create file event
Access file event creation field through this button.
Select an action
Selected file events can be deleted or their details can changed.
Search by file event name
File events on the list can be found via this field.
Show next 10
By clicking can show all file events by 10.
Order by file event name
Orders workers by worker name.
Name
Name of worker.
Description
Description of file event.
Action type
File Event operation type is determined. If File Event has to work under a condition, PRE-CONDITION; TRIGGER is selected only if it will listen for any changes in the folder and trigger a process to run.
To create a file event, click Create file event button and fill in the relevant field. There are two options to create an event; Pre-Conditions and Trigger. Pre-Condition means a process can only be run when the described condition would be provided. On the other hand, Trigger means a described situation occurs or not, then determined process run. Trigger option always listens the described directory without allocate any robot. Click Save button to close the window.
Name
Name that will be given to file event.
Description
Description of file event.
Enable
Determine whether File Event will be active / running. If Enable is selected, the event becomes active.
Path
The directory in which the folder that will be listened is given.
Filename
The file name to be listened to is given with its extension. This field is not mandatory but optional. (Ex: *. , Report_ * .txt etc. The file name can also be given using REGEX statements.)
Action type
File Event operation type is determined. If File Event has to work under a condition, PRE-CONDITION; TRIGGER is selected only if it will listen for any changes in the folder and trigger a process to run.
Event type
Which changes file event will listen or under which condition file event will work. For TRIGGER, event types are FILE ADDED, FILE REMOVED and FILE CHANGED. For PRE-CONDITION, event type is EXIST.
Process
Process that will run for file event. Only in TRIGGER.
Parameters
Parameters of file event.
Worker
Worker that will run for file event. Only in TRIGGER.
6.3.1 Database
Database is an interface where database information is defined and listed.
6.3.1 Definitions
Db definitions is an interface to define database informations. All databases that have JDBC interface can be connected. By making definitions on Db definitions interface can run SQL queries and if condition is met the returned results, you can start a process.
Create db definitions
Access db definition creation field through this button.
Select an action
Selected database definitions can be deleted or their details can be changed.
Search by db definition name
Database definitions on the list can be found via this field.
Show next 10
By clicking can show all database definitions by 10.
Order by db definition name
Orders database definitions by database definitions name.
Name
Name of database definition.
Description
Description of database definition.
Username
Name of user that will create database definitions.
Driver name
Driver type of database.
To create db defition, click Create db definition button. On the opening window, fill in the relevant fields and click Test button to check database connection. Click Save button to finish database definition.
Db definition name
Name of db definition.
Description
Description db definition.
Db DriverName
JDBC driver.
URL
JDBC URL information.
Username
Name of authorized database user.
Password
Password of user. If free text is selected, password will be seen in log data. If it is desired password not to be seen, information should be entered through vault system.
6.3.2 Events
Db Events interface lists the created database events and in database events, SQL queries can be executed.
Create db event
Access db event creation field through this button.
Select an action
Selected database event can be deleted or their details can be changed.
Search by db event name
Database event on the list can be found via this field.
Show next 10
By clicking can show all database event by 10.
Order by file event name
Orders database event by database events name.
Click Create db event button to open the db event window. Fill in the relevant field and click Save button.
Name
Name of database event.
Description
Description of database event.
Db connection name
Select the defined database definition.
SQL text
SQL query. If a result is returned, condition is met.
6.3.3 Ftp Definitions
Ftp Definitions allows listening to a specific folder via FTP and/or SFTP connection. Ftp definitions can start a process according to the condition of specific file being in desired directory or define precondition for process whose runtime is due.
Create ftp definition
Access ftp definition creation field through this button.
Select an action
Selected ftp definitions can be deleted, their details can be changed or a new ftp event can be defined.
Search by ftp definition name
Database definitions on the list can be found via this field.
Show next 10
By clicking can show all database definitions by 10.
Order by db definition name
Orders database definitions by database definitions name.
Name
Name of database definition.
Description
Description of database definition.
Hostname
Username
Name of user that will create database definitions.
Connection type
Click Create ftp definiton button to create ftp definition.
Name
Name of ftp definiton.
Description
Description of ftp defintion.
Connection type
FTP / SFTP option is selected.
Hostname
The server name.
Port
Port information.
Username
Server username information.
Password
Server password information. If free text is selected, password will be seen in log data. If it is desired password not to be seen, information should be entered through vault system.
button allows checking the FTP connection and settings before creating the ftp definition.
To define ftp event, select ftp definition from list, click Select an action button and select Events.
On the opening window, fill in the relevant fields. There are two options to create an event; Pre-Conditions and Trigger. Pre-Condition means to start process whose runtime is due, desired file must be in directory. Trigger means if file is in the relevant directory, a new process starts. In the Interval box, the frequency of operation is entered. Select the process from Process box. In the parameter field, parameters of event is entered. If you want file to be deleted after process is done, select Remove in Post action list, if you want to move file, select Move in Post action list. Last, click Save button to finish to define the ftp event
Events
Select file events that was created.
Name
Name that will be given to ftp event.
Enable
Determine whether Ftp Event will be active/running. If Enable is selected, the event becomes active.
Path
The directory in which the folder that will be listened is given.
Filename
The file name to be listened to is given with its extension. This field is not mandatory but optional. (Ex: *. , Report_ * .txt etc. The file name can also be given using REGEX statements.)
Action type
There are two options to create an event; Pre-Conditions and Trigger. Pre-Condition means to start process whose runtime is due, desired file must be in directory. Trigger means if file is in the relevant directory, a new process starts.
Interval
Frequency of ftp event. Only in TRIGGER.
Process
Process that will run for ftp event. Only in TRIGGER.
Parameters
Parameters of ftp event. Only in TRIGGER.
Worker
Worker that will run for ftp event. Only in TRIGGER.
Post action
If you want file to be deleted after process is done, select Remove in Post action list, if you want to move file, select Move in Post action list. Only in TRIGGER.
Path
If you select Move in Post action list, type the directory path of ftp event to move it another directory. Only in TRIGGER.
6.3.1 Secured keys
Secured keys is an interface where secure and unsecure variable definitions are made to access systems or use within process. Confidential data like passwords are defined here to hide in vault in a secure environment.
Create secure key
Access secure key creation field through this button.
Select an action
Selected secured keys details can be changed.
Search by secured key name
Secured key on the list can be found via this field.
Order by secured key name
Orders secured keys by secured key name.
Key group
Group information to distinguish key.
Name
Name of secured key.
Secured
Key value is visible in the list or not.
Key value
Value of key.
To use Secured Keys field via RPA-Admin interface, vault service must be active. To start vault service, follow the steps below:
Run CMD as administrator.
On the screen type vault server -config=C:RobustaOrchestratorvaultconfig.hcl and press enter.
Then, a new CMD window will be opened and unseal first 3 key.
The keys aforementioned are in vault_keys file in C:RobustaOrchestratorvault directory.
vault unseal key1 (enter)
vault unseal key2 (enter)
vault unseal key3 (enter)
Click Create secured key button to create key. On the image below, you can see file events definition that is created.
In Key group box, type key group and think of each app as key group. In Key box, enter information that will be kept. If information entered is a password that must be hidden, select Secure checkbox. Click Save button to finish to create key.
Key group
Group information to distinguish key.
Key
Name of key.
Value
The value to be given to the key.
Secured
Determines whether the value given to the key is visible in the list. If selected, Key Value column in the list appears as ” ***** “.
The generated keys can be called as as variables and their values can be used in an encrypted way within processes. These keys can be typed as vault(Key Group,Key) in every field where variables can be used.
If you want to use PASSWORD variable in the MAILEXCHANGE key group within a process, you should type vault(MAILEXCHANGE,PASSWORD) to use in an encrypted way.
The key value can not accept some of the special characters. For example: “ç”,”ß”,”é” etc.
6.3.1 Mail definitions
Mail definitions is an interface where authorized username and protocol information like IMAP, POP3, EXCHANGE and SMTP is defined to read, send mail et. within process. It enables mail definitions to be made globally and to use these environment-independent definitions.
Create mail definition
Access mail definition creation field through this button.
Select an action
Selected mail definitions can be deleted, their details can be changed or a new ftp event can be defined.
Search by mail definition name
Mail definitions on the list can be found via this field.
Show next 10
By clicking can show all mail definitions by 10.
Order by Mail Definition Name
Orders mail definitions by mail definitions name.
Name
Name of mail definition.
Description
Description of mail definition.
Protocol
Protocol information of mail definition.
By clicking the Create Mail Definition button, a mail identifier and a mail event listener are created. You can see the previously created Mail Event definitions in the image below and enter mail definitions into the relevant fields.
Name
Name of mail definition.
Description
Description of name.
Protocol
Mail Protocol information. IMAP, POP3, EXCHANGE, SMTP protocols are supported.
Hostname
Mail server name.
Username
Mail username information.
Password
Mail password information.
SSL,TLS Enables, TLS Required
SSL, TLS is selected according to the requirement.
Domain
Domain information.
Server Type
Type of server.
After mail definition is made, click Select an action button and choose Events to add event.
Fill in the fields to make an event listener definition. Although the fields for PRE-CONDITION and TRIGGER options are similar, there are differences, they will be displayed separately.
PRE-CONDITION
Saved events
If you want to use “event” defined before, it is selected from the list. If the list is empty, it means there is no “event” defined before.
Enable
It is determined whether the Mail Event will be active/working. If Enable is selected, the event becomes active.
Name
Name of mail event.
Action type
Mail Event operation type is determined. If Maill Event has to work under a certain condition, PRE-CONDITION;TRIGGER is selected only if it will listen for any changes in the folder and trigger a process to run.
Folder
The folder name you want to rest is written in the mailbox. The name displayed in the mail interface is taken as basis. (Eg: A Turkish mail interface is written as “Inbox” and an English mail interface is written as “Inbox”.)
Only unread
Only unread mails are taken as basis.
Mark as read
Mark unread mails as read.
From newest to oldest – oldest to newest
The order in which emails should be read can be selected.
Trigger one by one – all in one
“Trigger all in one” refers to activating multiple triggers simultaneously or collectively, while “Trigger one by one” means activating each trigger separately, in a sequential order.
From
The information about who will send the mail.
To
The information to whom the mail will be sent.
Subject
The subject of the mail.
Newer than(seconds)
Controls mailbox periodically based on the Check interval(seconds) field. If mail that is sent from email address that is defined in the To field with the subject is newer than seconds in the Check interval(seconds) field, it is pre-condition to start an event.
TRIGGER
Saved events
If you want to use “event” defined before, it is selected from the list. If the list is empty, it means there is no “event” defined before.
Enable
It is determined whether the Mail Event will be active/working. If Enable is selected, the event becomes active.
Name
Name of mail event.
Action type
Mail Event operation type is determined. If Maill Event has to work under a certain condition, PRE-CONDITION;TRIGGER is selected only if it will listen for any changes in the folder and trigger a process to run.
Folder
The folder name you want to rest is written in the mailbox. The name displayed in the mail interface is taken as basis. (Eg: A Turkish mail interface is written as “Inbox” and an English mail interface is written as “Inbox”.)
Only unread
Only unread mails are taken as basis.
Mark as read
Mark unread mails as read.
Check interval(seconds)
How many seconds intervals the control will be made.
Process
Process that will be triggered.
Parameters
Process parameter that will be triggered.
Worker
On which worker mail event will be executed.
From
The information about who will send the mail. Multiple values can be entered.
To
The information to whom the mail will be sent. Multiple values can be entered.
Subject
The subject of the mail. Multiple values can be entered.
Newer than(seconds)
Controls mailbox periodically based on the Check interval(seconds) field. If mail that is sent from email address that is defined in the To field with the subject is newer than seconds in the Check interval(seconds) field, it triggers the event.
6.4 Modeler
Modeler is an interface where processes are designed and consists of all BPMN and RPA services.
6.4.1 Processes
General overview
Processes is an interface for creating processes, integrating the existing processing into the system or displaying these processes together.
To access the Processes interface, user information defined to your name must be used to login.
Processes interface
Navigation bar
You can switch between Processes, Form, Decision tables and Apps in navigation bar.
Create Process
It is used for creating new processes.
Import Process
It is used for importing a process XML file that was created before to add to the “Processes” interface.
Record Process
Automatically saves actions performed on screen and browser and convert them to processses.
Search bar
The processes wished to be searched on the “Processes” interface can be found through this bar.
Main content
The area that all processes are listed.
Create process
It is used for creating new processes.
Click the Create Process button in the Process interface to create a process.
After filling the fields, click the Create new model button.
Model name
The visible name of the model. Spaces can be used. It is a required field. Spaces can be used. The use of special characters is not allowed.
Model key
The technical name of the model. Spaces cannot be used. It is a required field. The use of special characters is not allowed.
Priority
By default, it is 50. It shows the priority of a process. When there are processes more than one in t field, the process that own lower number has higher priority.
Human effort
By default, it is 50. This field is used on the reporting screen to calculate how many man-days the robot does.
Description
The description of the model. Used for documentation. It is not a required field.
Import process
It is used for importing a process XML file that was created before to add to the Processes interface.
To add an existing process to the “Process” interface, click the Import process button.
2. Click the Dosya seç button to select the XML file where it is located or drag and drop XML file into Drop a .bpmn or .bpmn20.xml BPMN XML file field.
3. Process that is added is displayed in the Visual editor.
Note: If a process with the same name is added, it can be saved with the “Keep as new version” option.
Record process
Additional informations
The date information Licensed by Robusta till 2023-12-30 in the top left corner of the interface shows the last date when a user could use the “Processes” interface.
The date information Today at 10:21 AM at the bottom of the process window shows the last date when a user updated the process.
6.4.1 Decision Tables
What is Decision Table?
Decision tables in Robusta; It is used to model complex logic. Input values are subjected to the decision-making process and as a result of this process, output values are produced (Outputs are assigned as values to variable or variables and can be used in the process). Processes created using these output variables can be easily accessed and edited.
In What Types of Processes Can Decision Tables Be Used?
Authorization – To decide which authorizations will be given to people
Validation – To check if an application or a claim statement is complete and its content is valid
Addressing Target Groups an example of which is determining products or advertising banners that may be of interest for a certain user.
For example, a decision table can be used in the “Food Order Process”, which allows to decide on restaurants to eat according to various preferences.
.kadence-column_e5e6db-e9 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-column_e5e6db-e9 > .kt-inside-inner-col,.kadence-column_e5e6db-e9 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_e5e6db-e9 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_e5e6db-e9 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_e5e6db-e9 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_e5e6db-e9 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_e5e6db-e9{position:relative;}@media all and (max-width: 1024px){.kadence-column_e5e6db-e9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_e5e6db-e9 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Entering Values and Selecting Operators
Double-click the relevant cell to enter values into the cells.
The operator selection of the relevant row is made from the field to the left of the columns.
About Rules
“Rule” is the name of each row in decision tables.
The number of “Rules” can be increased in two ways;
by Clicking Actions > Add Rule
by Right-clicking on any “Rule” > Add Rule Below or Insert Rule Above
6.4.3 Hit Policy - General Rules
When more than one rule matches the input data, this is known as overlapping rules, “Hit Policy” specifies what the Decision Table should do as a result. The “Hit Policy” is succinctly stated using the first character of the policy name for clarity.
#kt-layout-id_dd4fa7-6b > .kt-row-column-wrap{align-content:start;}:where(#kt-layout-id_dd4fa7-6b > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}#kt-layout-id_dd4fa7-6b > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var( --global-kb-row-default-top, 25px );padding-bottom:var( --global-kb-row-default-bottom, 25px );padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, calc(30% - ((var(--global-kb-gap-md, 2rem) * 1 )/2)))minmax(0, calc(70% - ((var(--global-kb-gap-md, 2rem) * 1 )/2)));}#kt-layout-id_dd4fa7-6b > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){#kt-layout-id_dd4fa7-6b > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){#kt-layout-id_dd4fa7-6b > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_033011-d3 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-column_033011-d3 > .kt-inside-inner-col,.kadence-column_033011-d3 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_033011-d3 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_033011-d3 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_033011-d3 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_033011-d3 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_033011-d3{position:relative;}.wp-block-kadence-column.kadence-column_033011-d3 > .kt-inside-inner-col{margin-top:100px;}@media all and (max-width: 1024px){.kadence-column_033011-d3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_033011-d3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Hit Policy is selected in this field.
.kadence-column_2bc580-4f > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-column_2bc580-4f > .kt-inside-inner-col,.kadence-column_2bc580-4f > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_2bc580-4f > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_2bc580-4f > .kt-inside-inner-col{flex-direction:column;}.kadence-column_2bc580-4f > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_2bc580-4f > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_2bc580-4f{position:relative;}@media all and (max-width: 1024px){.kadence-column_2bc580-4f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_2bc580-4f > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_7a76d4-05 > .kt-inside-inner-col{padding-top:100px;}.kadence-column_7a76d4-05 > .kt-inside-inner-col,.kadence-column_7a76d4-05 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_7a76d4-05 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_7a76d4-05 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_7a76d4-05 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_7a76d4-05 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_7a76d4-05{position:relative;}@media all and (max-width: 1024px){.kadence-column_7a76d4-05 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_7a76d4-05 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
A collection data type is a complex type that is made up of one or more elements, all of the same data type.
.kadence-column_49166a-d5 > .kt-inside-inner-col,.kadence-column_49166a-d5 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_49166a-d5 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_49166a-d5 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_49166a-d5 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_49166a-d5 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_49166a-d5{position:relative;}@media all and (max-width: 1024px){.kadence-column_49166a-d5 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_49166a-d5 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
ANY OF
Used when the condition is expected to contain one of the data in it.
NONE OF
Used when the condition is expected to contain none of the data in it.
ALL OF
Used when the condition is expected to contain all.
NOT ALL OF
Used when the condition is not expected to be exactly the same.
==
Used when the condition is expected to be equal. It checks that the whole structure is equal, including its order.
=!
Used when the condition is expected to be not equal. It checks that the whole structure is not equal, including its order.
Example of using Collection
“Collection” Variable Value
Outputs
{9,5}
b,d
{5,9}
b,d,e
{2,7}
a,b
6.4.5 Apps
General overview
Apps is an interface to categorize processes in same project, publish and make the processes ready to run.
Create app
It is used for creating a new app.
Import app
An app zip file that was created before can be added to the “Apps” interface by the “Import app” field.
Search bar
The apps wished to be searched on the “Apps” interface can be found through this bar.
Main content
The area that all apps are listed.
Create App
It is used for creating a new app.
Click the Create App button on the Apps interface to create an app.
After filling the fields, click the Create new app definition button.
App definition name
The visible name of the app. Spaces can be used. It is a required field.
App definition key
The technical name of the app. Spaces cannot be used. It is a required field.
Description
The description of the app. Used for documentation. It is not a required field.
App editor
App editor can be reached after creating a new app or from existing app. On this interface, you can change icon and themes and add new processes.
Change icon
Optionally, apart from the default icon, a more suitable icon for process can be chosen.
Change Theme
Optionally, apart from the default theme, a more suitable theme for process can be chosen.
Groups access
Specifies which groups can access app that is created.
User access
Specifies which users can access app that is created.
Edit included models
Specifies which processes will be included in app.
Import app
To add an existing app to the Apps interface, click the Import App button.
Click the Dosya Seç button to select the zip file where it is located or drag and drop the zip file.
Process that is added is displayed on the Visual editor and after the desired edits, click the Save button to finish the importing.
,
6.4.1 Forms
General overview
Form structures are used to add manual steps to processes in Robusta. Various information given by the people who fill out the forms are kept in the variables defined in the forms. It can be called in the process by using the User Task activity or by defining it in the Start Event activity.
Create form
It is used for creating new form.
Search bar
The forms desired to be searched on the “Forms” interface can be found through this bar.
Main content
The area where all forms are listed.
6.4.1 Create Form
Click on one of the decision table creation buttons marked below on the Decision Tables tab.
Since both Required and Read-only jobs are mutually exclusive, they should not be checked simultaneously. Otherwise, the form cannot be completed by the user.
.kadence-column_eb9a7e-35 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-column_eb9a7e-35 > .kt-inside-inner-col,.kadence-column_eb9a7e-35 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_eb9a7e-35 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_eb9a7e-35 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_eb9a7e-35 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_eb9a7e-35 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_eb9a7e-35{position:relative;}@media all and (max-width: 1024px){.kadence-column_eb9a7e-35 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_eb9a7e-35 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
Since both the character type and the number are determined in the Input Mask field, the Minimum or Maximum length fields should not be used if this field is used. If mutually exclusive rules are defined, the form cannot be completed. (For example, if the Input mask field has 10 characters but the Maximum length field is 5).
6.4.3 Using Forms in the Process
Form structures in Robusta can be called in two ways, by defining them in the “User Task” activity or in the “Start Event” activity.
The people to whom the form will be assigned must have the same tenant information.
The User Task activity does not have a timeout period and waits until it takes action. Boundary timer event activity can be used to avoid this.
A timeout duration is entered in the Time duration field and the Cancel activity box is checked. As a result, if the form is not filled within this period, the process is completed.
If parameters are wanted to be sent in at the beginning of the process, this feature can be used and while the process is scheduled, the form can be filled in via the Scheduler and the relevant information can be sent to the process.
.kb-row-layout-id_c513e2-7f > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_c513e2-7f > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_c513e2-7f > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_c513e2-7f > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_c513e2-7f > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_c513e2-7f > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_ba51b2-ff > .kt-inside-inner-col,.kadence-column_ba51b2-ff > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_ba51b2-ff > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_ba51b2-ff > .kt-inside-inner-col{flex-direction:column;}.kadence-column_ba51b2-ff > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_ba51b2-ff > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_ba51b2-ff{position:relative;}@media all and (max-width: 1024px){.kadence-column_ba51b2-ff > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_ba51b2-ff > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_12886a-de > .kt-inside-inner-col{padding-top:35px;}.kadence-column_12886a-de > .kt-inside-inner-col,.kadence-column_12886a-de > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_12886a-de > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_12886a-de > .kt-inside-inner-col{flex-direction:column;}.kadence-column_12886a-de > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_12886a-de > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_12886a-de{position:relative;}@media all and (max-width: 1024px){.kadence-column_12886a-de > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_12886a-de > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kb-row-layout-id_bac91d-84 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_bac91d-84 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_bac91d-84 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_bac91d-84 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_bac91d-84 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_bac91d-84 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_96d63e-83 > .kt-inside-inner-col,.kadence-column_96d63e-83 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_96d63e-83 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_96d63e-83 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_96d63e-83 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_96d63e-83 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_96d63e-83{position:relative;}@media all and (max-width: 1024px){.kadence-column_96d63e-83 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_96d63e-83 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_68d945-54 > .kt-inside-inner-col,.kadence-column_68d945-54 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_68d945-54 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_68d945-54 > .kt-inside-inner-col{flex-direction:column;}.kadence-column_68d945-54 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_68d945-54 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_68d945-54{position:relative;}@media all and (max-width: 1024px){.kadence-column_68d945-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_68d945-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kb-row-layout-id_ac94b3-89 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id_ac94b3-89 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id_ac94b3-89 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id_ac94b3-89 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id_ac94b3-89 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id_ac94b3-89 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}
.kadence-column_bf58aa-dd > .kt-inside-inner-col,.kadence-column_bf58aa-dd > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_bf58aa-dd > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_bf58aa-dd > .kt-inside-inner-col{flex-direction:column;}.kadence-column_bf58aa-dd > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_bf58aa-dd > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_bf58aa-dd{position:relative;}@media all and (max-width: 1024px){.kadence-column_bf58aa-dd > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_bf58aa-dd > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
.kadence-column_7905a0-ef > .kt-inside-inner-col,.kadence-column_7905a0-ef > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column_7905a0-ef > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column_7905a0-ef > .kt-inside-inner-col{flex-direction:column;}.kadence-column_7905a0-ef > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column_7905a0-ef > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column_7905a0-ef{position:relative;}@media all and (max-width: 1024px){.kadence-column_7905a0-ef > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column_7905a0-ef > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}
The form appears in the Processes tab of the Assigned person’s Scheduler module.
The form is opened by clicking the Active tasks field.
When this process is done, the form is completed and if variables in this form are used in the process, the information entered by the user is transferred to the process.
The completion button cannot be clicked until the required fields in the form are filled.
While the process is being scheduled, parameters that are requested to be sent from outside can be sent.
It is filled in the Form Scheduler screen while the process is scheduled.
Fill in the required fields and click the Start process button.
6.5 Scheduler
Scheduler, a component of management module, is the interface that enables digital employees / robots to be created, defined by groups, and time scheduling and monitoring according to their priorities.
6.5.1 Processes
Processes area is an interface that allows planning for each process separately.
The fields in the Processes area and their usage is detailed below.
1. After entering the Scheduler page, you will see the screen where applications appear on. Select one of them and the application is entered. Click the Processes field to build a plan for each process in the application. A screen like the following is encountered in the Processes area. By clicking the Start process button on this screen, it is decided which process will be selected and then the planning is done for the process.
1.1 Select the application.
1.2 Click the Start a Process button to enter into the process
2. Time planning is made in periods on the basis of minute, hour, day, week, month and year within the desired process. In addition, you can determine through this field the working conditions of process, such as which digital employee will work on that process, and what kind of planning will be made according to the process ending with error and ending with success. There are two properties for such cases: Scheduling and Working properties. In the Scheduling properties, you can plan with respect to time, in the Working properties, you can plan what worker do in case of error or success. Click the Start process button after you are done with this area.
Every
It is the field that allows the process to be planned on the basis of minute, hour, day, week, month, year. After the desired expression is selected on the combo box, time scheduling is done.
Start date
The day information on which the planning will start is selected from the calendar field.
End date
The date on which the planning will end is selected from the calendar.
Once
If the process will be run once (1), it is run without entering the day information, start and end dates, only by clicking this field.
Immediately
It enables the process to run immediately / instantaneously on the desired digital employee without waiting in line.
Worker
Allows the process to be run again in case of an unexpected error, the number of digits to be written in this field. (Ex: 3; if the process results in an error, it is run 3 more times.)
Retry count
The number of retry of process
Preevent
It is the area where the prerequisites needed for the process to run are determined. After the prerequisite definitions are made in the RPA-Admin area, the definitions are made by selecting the process-specific PreEvent combo box. (Options: FTP, MAIL, FILE)
Post process
It is the area where another process to be added will be planned in case the process ends successfully or unsuccessfully. By clicking the checkbox, the process to be run in case of successful and / or unsuccessful completion is selected from the combo box list.
Send process logs
Sends process logs of working process.
3. After the process is started, it is observed from the Processes interface at run time; Successful and / or unsuccessful results are examined in detail through the Show Log, Show Diagram interfaces. Processes generally successful, unsuccessful, etc. Click the Show logs to observe logs and cause of error.
When you click Showing running processes, you can search watch and search processes.
Running
Shows running processes.
Failed
Shows failed processes.
Cancelled
Shows cancelled processes.
Success
Shows successful processes.
All
Shows all processes.
Process Name
Search by process name.
Start Date
Define start date to search.
End Date
Define end date to search.
Search
Click Search button to search processes according to the certain conditions.
6.5.1 Scheduled processes
The Scheduled Process area allows display of many information such as the names, status, scheduling times and frequencies of all digital employees / robots (workers) that are scheduled for time.
The Scheduled Process field can be accessed by clicking on any of the applications (applications) on the Scheduler landing page.
By clicking on the Task app application (apps) in the first image below, the Scheduled Processes field in the second image is displayed.
You can see all processes, their status, date information and working conditions.
Left section
PROCESS NAME
In order to reach any process in the list on the right, the name of the process is entered in this field.
PROCESS KEY
Key information is entered in this field to search according to the keys used in the processes in the list on the right.
PARAMETERS
Parameter information is entered in this field to search according to the parameters used in the processes in the list on the right. Parameteres be given in json file format.
WORKER
It allows to search by worker in the list in the right pane. The desired worker is selected from the list.
PROCESS STATUS
It allows to search according to the status of the processes in the list in the right pane. The desired status information is selected from the list. (INITIAL, SCHEDULED, PAUSING, PAUSED, RESUMING, RESUMED, CANCELLING, CANCELLED, COMPLETED, WAITING).
START DATE
It enables the processes in the list on the right to be searched according to their starting dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
END DATE
It allows the processes in the list on the right to be searched according to their end dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
SCHEDULED DATE
It enables the processes in the list on the right to be searched according to their planned dates. Date information is selected from the opened calendar. If you want to give a range, other date information is entered in the second field.
Recurring processes
It allows the recurring processes to be searched.
Processes with waiting instances
It allows the waiting processes to be searched.
Processes with running instances
It allows the running processes to be searched.
Right section
Select an action
It allows stopping or canceling the planned process. It can be accessed by clicking the PAUSE and CANCEL options.
Process name
It is the area where the scheduled process names are displayed.
Process key
It is the area where the scheduled process keys are displayed.
Status
It is the area whIt is the area where the information about the stage of the planned process is displayed. Status information for INITIAL, SCHEDULED, PAUSING, PAUSED, RESUMING, RESUMED, CANCELLING, CANCELLED, COMPLETED, WAITING is displayed in this area.ere the planning date and time information is displayed.
Scheduled date
It is the area where the planning date and time information is displayed.
Start date
It is the area where start date and time information are displayed
End date
It is the area where end date and time information are displayed.
Cron
It is the area where the working frequency of the planned process is displayed.
Once
It is the area where the information whether the planned process is planned for one time or not is displayed. Appears as Y (Yes), N (No) expressions.
Immediately
It is the area where the information whether the planned process is run immediately without waiting in the queue is displayed. Appears as Y (Yes), N (No) expressions.
Priority
It is the field where priority of the planned process are displayed.
Parameters
It is the field where the credentials of the planned process are displayed as JSON expression. “RunOnce, RunImmediately, retryCount, process name (name)” etc. in the Process field. It is the area where a lot of information is displayed.
Instances
Details obtained at the working stage of the process, such as process logs, flow diagram and process status information, are displayed separately by clicking this field. The image below shows the screen encountered after clicking the Instances field.