Create Bot Operation
Before reading this topic, see the detailed Operation description here.
Create Bot Operation
To create a Bot Operation, do as follows:
Go to System Settings and select Operations.

Click the Create Operation button.
Enter the Operation Details.

- Specify the Operation Name and select the Category.
- Select the Operation Type:
- BASIC: the default type
- SCRAPER: used to automatically create a Bot Task intended for scraping web pages
- ETL: used to add Answers to the Bot Task. These answers can define variables, parameters, or column names used in the config code. By using ETL configs, you improve the config re-using and flexibility. Business users (non-programmers) do not need to edit the config code directly; they only need to specify parameters in Answers while adding Bot Task to a BP
- FORM: deprecated; you cannot expect it to work with stable quality
- RECORDER: can only be imported from the Recorder perspective. To create a Recorder Operation, make a recording in the Recorder perspective, and select Publish to Control Tower. For more details, refer to RPA Recorder.
Switch to Advanced Mode and paste your valid XML code from Web-Harvest IDE.
If you are creating an ETL config, select Add Answer. These Answers are completed when using the Bot Step in a BP. You can set some parameters or variables, for example, map input and output columns.

Save the Operation.
Use variables and Answer values
Variables
<var-def name="var_name">: defines a new variable in your config.<var name="var_name"/>: returns a value of the defined variable inside the tag.${var_name}: returns a value of the defined variable in tag attributes.Example:
<single-column name="http" value="${var_name}"/>To return a value of a variable from step input data inside another tag, for example,
ocr_link, use the template processor:<mail smtp-host="smtp.example.com" smtp-port="587" type="text" to="venkata@example2.com" security="ssl"> <template>${ocr_link}</template> </mail>
Answers
{{answer_code}}: returns the ETL answer value.Example:
<var-def name="input_column"> {{column_with_url}} </var-def>
Column names in Answers
All the code of ETL config is processed by FreeMarker engine. To return a value from input file column name defined in Answer, you should wrap it with the <#noparse>...</#noparse> tag. FreeMarker does not search FTL tags and interpolations and other special character sequences in the body of this directive, except the noparse end-tag.
Example:
<export include-original-data="true">
<#noparse>
<single-column name="http" value="${output_column}"/>
</#noparse>
</export>
Add Bot Task to Business Process
To add Bot Task to BP, do the following:
Add a new Bot Task from the toolbar or from the sidebar of the Design Business Process tab.
Select your Bot Operation as a base for a new Bot Task
Enter needed parameters in the Answer fields if needed.
On the Design tab, complete the following fields:
- Name (required): enter a Bot Task name.
- Description (optional): add a Bot Task description.
- Unique Identifier (generated automatically): you can apply the ID for config inclusions in the include-config plugin.
- Execution time limit (recommended): set up a processing time limit for a Bot Task (in seconds). For more details, see Configure Bot Task alerts and forced stop.
- Bot Source: link to config metadata in a selected Bot Source.
- Type: specify the Bot Config type.
- Code Editor: enter Bot Task code.