Variables commands
set · input · output · variable · string · number · boolean · list · dictionary · datetime · datatable
set Set
Declares or updates a variable.
Parameters of every variant
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable name |
Types (--type, optional)
--type:string
| Parameter | Value | Default | Description |
|---|
--value | any value | | Initial text; may contain $variables$ |
--type:number
| Parameter | Value | Default | Description |
|---|
--value | any value | | Initial number, e.g. 42 or 3.14 (default 0) |
--type:boolean
| Parameter | Value | Default | Description |
|---|
--value | any value | | true or false (default false) |
--type:datetime
| Parameter | Value | Default | Description |
|---|
--value | any value | | now or a date/time like 2026-09-30 14:30:00 (default now) |
--type:list
| Parameter | Value | Default | Description |
|---|
--value | any value | | JSON array, e.g. ["a", "b", 3] (default empty) |
--type:dictionary
| Parameter | Value | Default | Description |
|---|
--value | any value | | JSON object, e.g. {"name": "Ali", "age": 30} (default empty) |
--type:record
| Parameter | Value | Default | Description |
|---|
--value | any value | | JSON object, e.g. {"Name": "Ali", "Age": 30} (default empty) |
--type:datatable
| Parameter | Value | Default | Description |
|---|
--value | any value | | Columns and rows, e.g. {"columns": ["Name", "Age"], "rows": [["Ali", 30]]} (default empty) |
--type:file
| Parameter | Value | Default | Description |
|---|
--value | any value | | File path |
--type:browser
| Parameter | Value | Default | Description |
|---|
--value | any value | | A browser page variable ($page$) |
--type:window
| Parameter | Value | Default | Description |
|---|
--path | text | | Application executable path (wildcards allowed) A file on the agent machine. |
--title | text | | Window title (wildcards allowed) |
--type:credential
| Parameter | Value | Default | Description |
|---|
--vault required | text | | Vault name |
--credential required | text | | Credential name within the vault |
Without --type (Keep existing type)
| Parameter | Value | Default | Description |
|---|
--value required | any value | | New value |
Examples
set --name:url --type:string --value:"https://example.com"
set --name:counter --type:number --value:0
set --name:isActive --type:boolean --value:true
set --name:notepadWin --type:window --path:"C:\Windows\notepad.exe" --title:"*Notepad*"
set --name:items --type:list --value:["a", "b", 3]
set --name:config --type:dictionary --value:{"env": "prod", "retries": 3}
set --name:people --type:datatable --value:{"columns": ["Name", "Age"], "rows": [["Ali", 30], ["Veli", 25]]}
set --name:today --type:datetime --value:"now"
set --name:loginCred --type:credential --vault:"Production" --credential:"AdminLogin"
output Output
Declares a task output parameter. Must be at the top of the task.
Parameters
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | |
--type required | one of string, number, boolean, window, browser, list, dictionary, datatable, datetime, file, record, credential | | |
Examples
output --name:result --type:string
output --name:totalAmount --type:number
variable Variable
Variable operations for every type in one command. Kept for existing tasks: new tasks use string, number, boolean, list, dictionary, datetime and datatable. Without --output, the result updates the variable in place.
Actions (--action)
--action:assign
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--action:substring
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--start required | number | | |
--length | number | | |
--output | variable name | | Variable that receives the result |
--action:replace
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--old required | text | | |
--new required | text | | |
--output | variable name | | Variable that receives the result |
--action:trim
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:trimleft
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:trimright
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:uppercase
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:lowercase
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:titlecase
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:length
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:isempty
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:isnumber
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:tostring
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:tonumber
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:toboolean
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:abs
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:floor
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:ceiling
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:truncate
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:sqrt
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:not
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:keys
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:values
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:rowcount
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:columncount
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:todatetime
Text → date/time (e.g. 2026-09-30 14:30 or with --format like dd.MM.yyyy).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--format | text | | e.g. dd.MM.yyyy HH:mm; any common format when empty |
--output | variable name | | Variable that receives the result |
--action:between
The text after the first --start and before the next --end (empty when either is not found).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--start | text | | Text before the part you want; from the beginning when empty |
--end | text | | Text after the part you want; to the end when empty |
--output | variable name | | Variable that receives the result |
--action:base64encode
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:base64decode
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:urlencode
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:urldecode
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:hash
The hash of the text as lowercase hex.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--algorithm | one of md5, sha1, sha256, sha512 | sha256 | |
--output | variable name | | Variable that receives the result |
--action:lastindexof
Position of the last occurrence of --value in the text (-1 when missing).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | text | | |
--output | variable name | | Variable that receives the result |
--action:repeat
The text repeated --count times.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--count required | number | | |
--output | variable name | | Variable that receives the result |
--action:power
The number raised to the power --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:startswith
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | text | | |
--output | variable name | | Variable that receives the result |
--action:endswith
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | text | | |
--output | variable name | | Variable that receives the result |
--action:split
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--separator required | text | | |
--output | variable name | | Variable that receives the result |
--action:concat
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:padleft
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--totalwidth required | number | | |
--paddingchar | text | | |
--output | variable name | | Variable that receives the result |
--action:padright
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--totalwidth required | number | | |
--paddingchar | text | | |
--output | variable name | | Variable that receives the result |
--action:insert
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--format required | text | | |
--args | text | | |
--output | variable name | | Variable that receives the result |
--action:regex
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--pattern required | text | | |
--output | variable name | | Variable that receives the result |
--action:regexmatch
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--pattern required | text | | |
--output | variable name | | Variable that receives the result |
--action:regexreplace
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--pattern required | text | | |
--replacement required | text | | |
--output | variable name | | Variable that receives the result |
--action:contains
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:remove
String: --start/--length. List: --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--start | number | | |
--length | number | | |
--value | any value | | |
--output | variable name | | Variable that receives the result |
--action:add
Number: adds --value. List: appends --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:increment
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--by | number | 1 | |
--action:decrement
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--by | number | 1 | |
--action:subtract
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:multiply
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:divide
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:modulo
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:min
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:max
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:round
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--decimals | number | 0 | |
--output | variable name | | Variable that receives the result |
--action:random
| Parameter | Value | Default | Description |
|---|
--min required | number | | |
--max required | number | | |
--output required | variable name | | Variable that receives the result |
--action:removeat
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--action:removerow
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--action:clear
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--action:toggle
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--action:reverse
List or data table: rows in reverse order. Text: characters reversed.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:count
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:indexof
Text: position of --value (-1 when missing). List: index of the item.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:sort
List: sorts the values. Data table (or list of records): sorts the rows by --column.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column | text | | |
--ascending | true / false | true | |
--output | variable name | | Variable that receives the result |
--action:getat
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--output | variable name | | Variable that receives the result |
--action:getrow
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--output | variable name | | Variable that receives the result |
--action:join
List: the items as one text with --separator between them. Data table: joined with the table --with on the columns --on (see datatable --action:join).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--separator | text | , | |
--with | $variable$ | | |
--on | text | | |
--type | one of inner, left, full | | |
--output | variable name | | Variable that receives the result |
--action:setat
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | |
--value required | any value | | |
--action:addkey
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--key required | text | | |
--value required | any value | | |
--action:removekey
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--key required | text | | |
--action:getvalue
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--key required | text | | |
--output | variable name | | Variable that receives the result |
--action:containskey
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--key required | text | | |
--output | variable name | | Variable that receives the result |
--action:now
| Parameter | Value | Default | Description |
|---|
--output required | variable name | | Variable that receives the result |
--action:adddays
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:addhours
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:addminutes
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:addseconds
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:addmonths
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:addyears
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:datediff
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:parse
| Parameter | Value | Default | Description |
|---|
--value required | text | | |
--format | text | | |
--output required | variable name | | Variable that receives the result |
--action:getpart
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--part required | one of year, month, day, hour, minute, second, millisecond, dayofweek, dayofyear | | |
--output | variable name | | Variable that receives the result |
--action:and
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | true / false | | |
--output | variable name | | Variable that receives the result |
--action:or
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | true / false | | |
--output | variable name | | Variable that receives the result |
--action:addrow
Appends a row: a record variable or a JSON object, e.g. {"Name": "Ali", "Age": 30}. New keys become columns.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--value required | any value | | $record$ or {"Column": value, ...} |
--action:columns
Column names as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--output | variable name | | Variable that receives the result |
--action:addcolumn
Adds a column: empty, or with --value for every row (a formula may use $row.Column$).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column required | text | | |
--value | any value | | The value of every row: a formula calculated for each row, where $row.Column$ is that row's value (e.g. =$row.Price$ * $row.Qty$), or a fixed value. Empty when not set |
--action:removecolumn
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column required | text | | |
--action:distinct
Rows without duplicates, as a new data table.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--columns | text | | Compare only these columns, comma separated (e.g. Email); the first row of each is kept. All columns when empty |
--output | variable name | | Variable that receives the result |
--action:groupby
One row per group with the --aggregates calculations, as a new data table.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--columns required | text | | The columns that form a group, comma separated, e.g. Department or Region, Year |
--aggregates | text | | What each group row gets, comma separated: Name=function(Column) with sum, count, avg, min, max, first or last; count() counts the rows. E.g. Total=sum(Amount), Orders=count() |
--output | variable name | | Variable that receives the result |
--action:lookup
The --return value of the first row whose --column equals --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column required | text | | The column to search |
--value required | any value | | The value to find (numbers match numbers, text ignores case) |
--return | text | | The column whose value you want; the whole row as a record ($found.Column$) when empty |
--default | any value | | The result when no row matches (empty when not set) |
--output required | variable name | | Variable that receives the result |
--action:aggregate
The sum, count, average, minimum or maximum of a column.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--function required | one of sum, count, avg, min, max | | sum, count (non-empty values; rows without --column), average, smallest or largest |
--column | text | | The column to calculate (not needed for count, which then counts the rows) |
--output required | variable name | | Variable that receives the result |
--action:getcolumn
The values of one column as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column required | text | | |
--output | variable name | | Variable that receives the result |
--action:getcell
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | Row index, 0 for the first row |
--column required | text | | |
--output | variable name | | Variable that receives the result |
--action:setcell
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--index required | number | | Row index, 0 for the first row |
--column required | text | | |
--value required | any value | | |
--action:filter
Rows whose column matches, as a new data table.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | Variable to operate on |
--column required | text | | |
--operator required | one of =, !=, >, <, >=, <=, contains, startswith, endswith | | |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
Examples
variable --action:assign --name:strVar --value:"test"
variable --action:substring --name:strVar --start:0 --length:2 --output:res
variable --action:replace --name:strVar --old:"t" --new:"x" --output:res
variable --action:trim --name:strVar --output:res
variable --action:trimleft --name:strVar --output:res
variable --action:trimright --name:strVar --output:res
variable --action:uppercase --name:strVar --output:res
variable --action:lowercase --name:strVar --output:res
variable --action:length --name:strVar --output:res
variable --action:contains --name:strVar --value:"es" --output:res
variable --action:startswith --name:strVar --value:"te" --output:res
variable --action:endswith --name:strVar --value:"st" --output:res
variable --action:split --name:strVar --separator:"," --output:resList
variable --action:concat --name:strVar --value:"ing" --output:res
variable --action:padleft --name:strVar --totalwidth:10 --paddingchar:" " --output:res
variable --action:padright --name:strVar --totalwidth:10 --paddingchar:" " --output:res
variable --action:remove --name:strVar --start:0 --length:1 --output:res
variable --action:insert --name:strVar --index:1 --value:"a" --output:res
variable --action:format --name:strVar --format:"Value: {0}" --args:"123" --output:res
variable --action:regex --name:strVar --pattern:"[a-z]+" --output:resList
variable --action:regexreplace --name:strVar --pattern:"[0-9]" --replacement:"" --output:res
variable --action:regexmatch --name:strVar --pattern:"[a-z]+" --output:resBool
variable --action:titlecase --name:strVar --output:res
variable --action:indexof --name:strVar --value:"es" --output:resNum
variable --action:lastindexof --name:strVar --value:"t" --output:resNum
variable --action:between --name:strVar --start:"[" --end:"]" --output:res
variable --action:base64encode --name:strVar --output:res
variable --action:base64decode --name:strVar --output:res
variable --action:urlencode --name:strVar --output:res
variable --action:urldecode --name:strVar --output:res
variable --action:hash --name:strVar --algorithm:sha256 --output:res
variable --action:reverse --name:strVar --output:res
variable --action:repeat --name:strVar --count:3 --output:res
variable --action:isempty --name:strVar --output:resBool
variable --action:isnumber --name:strVar --output:resBool
variable --action:tostring --name:anyVar --output:res
variable --action:tonumber --name:strVar --output:resNum
variable --action:toboolean --name:strVar --output:resBool
variable --action:todatetime --name:strVar --format:"dd.MM.yyyy" --output:resDt
variable --action:assign --name:numVar --value:10
variable --action:increment --name:numVar --by:1
variable --action:decrement --name:numVar --by:1
variable --action:add --name:numVar --value:5 --output:res
variable --action:subtract --name:numVar --value:5 --output:res
variable --action:multiply --name:numVar --value:5 --output:res
variable --action:divide --name:numVar --value:5 --output:res
variable --action:modulo --name:numVar --value:3 --output:res
variable --action:round --name:numVar --decimals:2 --output:res
variable --action:abs --name:numVar --output:res
variable --action:min --name:numVar --value:5 --output:res
variable --action:max --name:numVar --value:15 --output:res
variable --action:random --min:1 --max:100 --output:res
variable --action:floor --name:numVar --output:res
variable --action:ceiling --name:numVar --output:res
variable --action:truncate --name:numVar --output:res
variable --action:sqrt --name:numVar --output:res
variable --action:power --name:numVar --value:2 --output:res
variable --action:tostring --name:numVar --output:res
string String
Text operations on a text variable. Without --output, the result replaces the variable.
Actions (--action)
--action:trim
Removes spaces, tabs and line breaks from both ends (trim), the start or the end.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:trimleft
Removes spaces, tabs and line breaks from both ends (trim), the start or the end.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:trimright
Removes spaces, tabs and line breaks from both ends (trim), the start or the end.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:uppercase
All letters as capitals.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:lowercase
All letters as small letters.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:titlecase
The first letter of every word as a capital.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:replace
Replaces every occurrence of --old with --new (case-sensitive).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--old required | text | | |
--new required | text | | |
--output | variable name | | Variable that receives the result |
--action:substring
Part of the text: from --start (0 = first character), --length characters (to the end when empty).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--start required | number | | |
--length | number | | |
--output | variable name | | Variable that receives the result |
--action:between
The text after the first --start and before the next --end (empty when either is not found).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--start | text | | Text before the part you want; from the beginning when empty |
--end | text | | Text after the part you want; to the end when empty |
--output | variable name | | Variable that receives the result |
--action:concat
Adds --value to the end of the text.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:insert
Inserts --value at position --index (0 = before the first character).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--index required | number | | |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:remove
Removes --length characters from --start (to the end when --length is empty).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--start required | number | | |
--length | number | | |
--output | variable name | | Variable that receives the result |
--action:padleft
Fills the text to --totalwidth characters with --paddingchar at the start (padleft) or the end, e.g. 42 → 00042.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--totalwidth required | number | | |
--paddingchar | text | | |
--output | variable name | | Variable that receives the result |
--action:padright
Fills the text to --totalwidth characters with --paddingchar at the start (padleft) or the end, e.g. 42 → 00042.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--totalwidth required | number | | |
--paddingchar | text | | |
--output | variable name | | Variable that receives the result |
--action:repeat
The text repeated --count times.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--count required | number | | |
--output | variable name | | Variable that receives the result |
--action:reverse
The characters in reverse order.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:split
Splits the text at every --separator into a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--separator required | text | | |
--output required | variable name | | Variable that receives the result |
--action:length
Number of characters.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output required | variable name | | Variable that receives the result |
--action:isempty
true when the text is empty or only spaces.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output required | variable name | | Variable that receives the result |
--action:isnumber
true when the text is a number.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output required | variable name | | Variable that receives the result |
--action:contains
true when the text contains, starts with or ends with --value (case-sensitive).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | text | | |
--output required | variable name | | Variable that receives the result |
--action:startswith
true when the text contains, starts with or ends with --value (case-sensitive).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | text | | |
--output required | variable name | | Variable that receives the result |
--action:endswith
true when the text contains, starts with or ends with --value (case-sensitive).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | text | | |
--output required | variable name | | Variable that receives the result |
--action:indexof
Position of the first --value (0 = first character, -1 when missing).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | text | | |
--output required | variable name | | Variable that receives the result |
--action:lastindexof
Position of the last --value (-1 when missing).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--value required | text | | |
--output required | variable name | | Variable that receives the result |
--action:regex
Every match of the regular expression --pattern, as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--pattern required | text | | |
--output required | variable name | | Variable that receives the result |
--action:regexmatch
true when the regular expression --pattern matches.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--pattern required | text | | |
--output required | variable name | | Variable that receives the result |
--action:regexreplace
Replaces the matches of --pattern with --replacement ($1 for a group).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--pattern required | text | | |
--replacement required | text | | |
--output | variable name | | Variable that receives the result |
Puts the text and --args into --format: {0} is the text, {1}… the args, e.g. "Order {0} of {1}".
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--format required | text | | |
--args | text | | Comma-separated values for {1}, {2}… |
--output | variable name | | Variable that receives the result |
--action:base64encode
Encodes or decodes the text as Base64 or for a URL.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:base64decode
Encodes or decodes the text as Base64 or for a URL.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:urlencode
Encodes or decodes the text as Base64 or for a URL.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:urldecode
Encodes or decodes the text as Base64 or for a URL.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output | variable name | | Variable that receives the result |
--action:hash
The hash of the text as lowercase hex.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--algorithm | one of md5, sha1, sha256, sha512 | sha256 | |
--output | variable name | | Variable that receives the result |
--action:tonumber
The text as a number (fails when it is not one).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output required | variable name | | Variable that receives the result |
--action:toboolean
The text as true/false (true, yes, 1 / false, no, 0).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--output required | variable name | | Variable that receives the result |
--action:todatetime
The text as a date/time (e.g. 2026-09-30 14:30, or with --format like dd.MM.yyyy).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The text variable |
--format | text | | e.g. dd.MM.yyyy HH:mm; any common format when empty |
--output required | variable name | | Variable that receives the result |
Examples
string --action:trim --name:customer
string --action:uppercase --name:code --output:upper
string --action:replace --name:text --old:"," --new:"." --output:fixed
string --action:substring --name:iban --start:0 --length:4 --output:country
string --action:between --name:mail --start:"Order no: " --end:" " --output:orderNo
string --action:split --name:csvLine --separator:";" --output:parts
string --action:padleft --name:id --totalwidth:6 --paddingchar:0 --output:padded
string --action:regexreplace --name:phone --pattern:"[^0-9]" --replacement:"" --output:digits
string --action:contains --name:subject --value:"Invoice" --output:isInvoice
string --action:length --name:text --output:size
string --action:tonumber --name:amountText --output:amount
string --action:todatetime --name:dateText --format:"dd.MM.yyyy" --output:date
number Number
Calculations on a number variable. Without --output, the result replaces the variable.
Actions (--action)
--action:increment
Adds --by to the variable (increment) or takes it away (decrement), in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--by | number | 1 | |
--action:decrement
Adds --by to the variable (increment) or takes it away (decrement), in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--by | number | 1 | |
--action:add
The number plus --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:subtract
The number minus --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:multiply
The number times --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:divide
The number divided by --value (fails on 0).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:modulo
The remainder of dividing by --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:power
The number raised to the power --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:min
The smaller (min) or larger (max) of the number and --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:max
The smaller (min) or larger (max) of the number and --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--value required | number | | |
--output | variable name | | Variable that receives the result |
--action:round
Rounded to --decimals places (halves away from zero).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--decimals | number | 0 | |
--output | variable name | | Variable that receives the result |
--action:floor
Down (floor), up (ceiling) or toward zero (truncate) to a whole number.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output | variable name | | Variable that receives the result |
--action:ceiling
Down (floor), up (ceiling) or toward zero (truncate) to a whole number.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output | variable name | | Variable that receives the result |
--action:truncate
Down (floor), up (ceiling) or toward zero (truncate) to a whole number.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output | variable name | | Variable that receives the result |
--action:abs
The number without its sign.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output | variable name | | Variable that receives the result |
--action:sqrt
The square root.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output | variable name | | Variable that receives the result |
--action:random
A random whole number from --min to --max.
| Parameter | Value | Default | Description |
|---|
--min required | number | | |
--max required | number | | |
--output required | variable name | | Variable that receives the result |
The number as text in a .NET format, e.g. {0:N2} → 1,234.50, {0:00000} → 00042 (invariant culture).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--format required | text | | |
--output required | variable name | | Variable that receives the result |
--action:tostring
The number as text.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The number variable |
--output required | variable name | | Variable that receives the result |
Examples
number --action:increment --name:counter
number --action:add --name:total --value:$line.Amount$
number --action:multiply --name:price --value:1.2 --output:gross
number --action:round --name:gross --decimals:2
number --action:random --min:1 --max:100 --output:pick
number --action:format --name:gross --format:"{0:N2}" --output:grossText
boolean Boolean
Logic on a true/false variable. Without --output, the result replaces the variable.
Actions (--action)
--action:toggle
Turns true into false and false into true, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The true/false variable |
--action:not
The opposite value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The true/false variable |
--output | variable name | | Variable that receives the result |
--action:and
true when both the variable and --value are true.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The true/false variable |
--value required | true / false | | |
--output | variable name | | Variable that receives the result |
--action:or
true when the variable or --value is true.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The true/false variable |
--value required | true / false | | |
--output | variable name | | Variable that receives the result |
--action:tostring
true or false as text.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The true/false variable |
--output required | variable name | | Variable that receives the result |
Examples
boolean --action:toggle --name:found
boolean --action:and --name:valid --value:$hasStock$ --output:canOrder
list List
Works with a list variable (index 0 is the first item). Without --output, the result replaces the variable.
Actions (--action)
--action:add
Adds --value to the end.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:insert
Inserts --value at --index.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--index required | number | | |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:setat
Replaces the item at --index, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--index required | number | | |
--value required | any value | | |
--action:remove
Removes the first item equal to --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:removeat
Removes the item at --index, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--index required | number | | |
--action:clear
Removes every item, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--action:getat
The item at --index.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--index required | number | | |
--output required | variable name | | Variable that receives the result |
--action:count
Number of items.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--output required | variable name | | Variable that receives the result |
--action:isempty
true when the list has no items.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--output required | variable name | | Variable that receives the result |
--action:contains
true when an item equals --value.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--value required | any value | | |
--output required | variable name | | Variable that receives the result |
--action:indexof
Index of the first item equal to --value (-1 when missing).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--value required | any value | | |
--output required | variable name | | Variable that receives the result |
--action:sort
Sorts the items (numbers by value, text alphabetically); a list of records by --column.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--ascending | true / false | true | |
--column | text | | For a list of records: the field to sort by |
--output | variable name | | Variable that receives the result |
--action:reverse
The items in reverse order.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--output | variable name | | Variable that receives the result |
--action:join
The items as one text with --separator between them, e.g. a, b, c.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The list variable |
--separator | text | , | |
--output required | variable name | | Variable that receives the result |
Examples
list --action:add --name:names --value:$row.Name$
list --action:getat --name:names --index:0 --output:first
list --action:count --name:names --output:howMany
list --action:sort --name:names --ascending:false
list --action:join --name:names --separator:", " --output:text
dictionary Dictionary
Works with a dictionary or record variable (keys and their values). Without --output, the result replaces the variable.
Actions (--action)
--action:addkey
Sets the value of --key (adds the key when it is new), in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--key required | text | | |
--value required | any value | | |
--action:removekey
Removes --key, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--key required | text | | |
--action:getvalue
The value of --key (fails when the key is missing).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--key required | text | | |
--output required | variable name | | Variable that receives the result |
--action:containskey
true when --key exists.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--key required | text | | |
--output required | variable name | | Variable that receives the result |
--action:keys
The keys as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--output required | variable name | | Variable that receives the result |
--action:values
The values as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--output required | variable name | | Variable that receives the result |
--action:count
Number of keys.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--output required | variable name | | Variable that receives the result |
--action:isempty
true when there are no keys.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
--output required | variable name | | Variable that receives the result |
--action:clear
Removes every key, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The dictionary or record variable |
Examples
dictionary --action:addkey --name:order --key:Status --value:Done
dictionary --action:getvalue --name:order --key:Total --output:total
dictionary --action:keys --name:order --output:fields
datetime Datetime
Dates and times: the current time, reading a date from text, adding time, differences, parts and formatting.
Actions (--action)
--action:now
The current date and time of the agent machine.
| Parameter | Value | Default | Description |
|---|
--output required | variable name | | Variable that receives the result |
--action:parse
A date/time read from text, e.g. 30.09.2026 with --format dd.MM.yyyy.
| Parameter | Value | Default | Description |
|---|
--value required | text | | The text, e.g. $invoice.Date$ |
--format | text | | e.g. dd.MM.yyyy HH:mm; any common format when empty |
--output required | variable name | | Variable that receives the result |
--action:adddays
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:addhours
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:addminutes
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:addseconds
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:addmonths
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:addyears
Adds days, hours, minutes, seconds, months or years (negative values go back).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | number | | How many; negative goes back |
--output | variable name | | Variable that receives the result |
--action:datediff
Days from --value to the date (fractions for hours; negative when --value is later).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--value required | any value | | The other date: a $variable$ or a date like 2026-01-31 |
--output required | variable name | | Variable that receives the result |
--action:getpart
One part of the date as a number (dayofweek: 0 = Sunday).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--part required | one of year, month, day, hour, minute, second, millisecond, dayofweek, dayofyear | | |
--output required | variable name | | Variable that receives the result |
The date as text in a format, e.g. dd.MM.yyyy, yyyy-MM-dd HH:mm or MMMM yyyy.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The date/time variable |
--format required | text | | d day, M month, y year, H hour, m minute, s second; e.g. dd.MM.yyyy |
--output required | variable name | | Variable that receives the result |
Examples
datetime --action:now --output:started
datetime --action:parse --value:$invoice.Date$ --format:"dd.MM.yyyy" --output:invoiceDate
datetime --action:adddays --name:invoiceDate --value:30 --output:dueDate
datetime --action:datediff --name:dueDate --value:$started$ --output:daysLeft
datetime --action:getpart --name:started --part:month --output:month
datetime --action:format --name:dueDate --format:"dd.MM.yyyy" --output:dueText
datatable Datatable
Works with a data table variable (rows with named columns; row 0 is the first). Without --output, the result replaces the variable.
Actions (--action)
--action:addrow
Appends a row: a record variable or a JSON object, e.g. {"Name": "Ali", "Age": 30}. New keys become columns.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--value required | any value | | $record$ or {"Column": value, ...} |
--action:removerow
Removes the row at --index, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--index required | number | | Row index, 0 for the first row |
--action:getrow
The row at --index as a record ($row.Column$).
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--index required | number | | Row index, 0 for the first row |
--output required | variable name | | Variable that receives the result |
--action:getcell
The value in row --index, column --column.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--index required | number | | Row index, 0 for the first row |
--column required | text | | |
--output required | variable name | | Variable that receives the result |
--action:setcell
Changes the value in row --index, column --column, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--index required | number | | Row index, 0 for the first row |
--column required | text | | |
--value required | any value | | |
--action:rowcount
Number of rows.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--output required | variable name | | Variable that receives the result |
--action:columncount
Number of columns.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--output required | variable name | | Variable that receives the result |
--action:columns
The column names as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--output required | variable name | | Variable that receives the result |
--action:addcolumn
Adds a column, in place: empty, or with --value in every row. A formula is calculated for each row and $row.Column$ is that row's value, e.g. --value:=$row.Price$ * $row.Qty$.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | Name of the new column |
--value | any value | | The value of every row: a formula calculated for each row, where $row.Column$ is that row's value (e.g. =$row.Price$ * $row.Qty$), or a fixed value. Empty when not set |
--action:removecolumn
Removes a column, in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | |
--action:getcolumn
The values of one column as a list.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | |
--output required | variable name | | Variable that receives the result |
--action:join
Joins the table with the table --with on matching --on columns, as a new data table: the columns of --with are added (a name already taken gets a suffix, e.g. Name_2). Numbers match numbers written as text; text ignores case.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--with required | $variable$ | | The other data table, e.g. $customers$ |
--on required | text | | The column both tables share, e.g. CustomerId, or Left=Right when the names differ, e.g. Id=CustomerId (several pairs comma separated) |
--type | one of inner, left, full | inner | inner: only rows with a match; left: every row of the table (empty values without a match); full: every row of both tables |
--output | variable name | | Variable that receives the result |
--action:distinct
The rows without duplicates, as a new data table (the first of each is kept); with --columns only those columns are compared.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--columns | text | | Compare only these columns, comma separated (e.g. Email); the first row of each is kept. All columns when empty |
--output | variable name | | Variable that receives the result |
--action:groupby
One row per group of equal --columns values, with the --aggregates calculations (sum, count, avg, min, max, first, last), as a new data table, e.g. the total per department.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--columns required | text | | The columns that form a group, comma separated, e.g. Department or Region, Year |
--aggregates | text | | What each group row gets, comma separated: Name=function(Column) with sum, count, avg, min, max, first or last; count() counts the rows. E.g. Total=sum(Amount), Orders=count() |
--output | variable name | | Variable that receives the result |
--action:lookup
Finds the first row whose --column equals --value and gives its --return column (or the whole row as a record); --default when no row matches.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | The column to search |
--value required | any value | | The value to find (numbers match numbers, text ignores case) |
--return | text | | The column whose value you want; the whole row as a record ($found.Column$) when empty |
--default | any value | | The result when no row matches (empty when not set) |
--output required | variable name | | Variable that receives the result |
--action:aggregate
One number from a column: its sum, count, average (avg), minimum or maximum. Empty cells are skipped; avg/min/max of no values is empty.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--function required | one of sum, count, avg, min, max | | sum, count (non-empty values; rows without --column), average, smallest or largest |
--column | text | | The column to calculate (not needed for count, which then counts the rows) |
--output required | variable name | | Variable that receives the result |
--action:filter
The rows whose --column compares to --value, as a new data table.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | |
--operator required | one of =, !=, >, <, >=, <=, contains, startswith, endswith | | |
--value required | any value | | |
--output | variable name | | Variable that receives the result |
--action:sort
Sorts the rows by --column.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--column required | text | | |
--ascending | true / false | true | |
--output | variable name | | Variable that receives the result |
--action:reverse
The rows in reverse order.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--output | variable name | | Variable that receives the result |
--action:isempty
true when the table has no rows.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
--output required | variable name | | Variable that receives the result |
--action:clear
Removes every row (the columns stay), in place.
| Parameter | Value | Default | Description |
|---|
--name required | variable name | | The data table variable |
Examples
datatable --action:addrow --name:report --value:{"Name": "$name$", "Total": $total$}
datatable --action:getcell --name:orders --index:0 --column:Total --output:firstTotal
datatable --action:filter --name:orders --column:Status --operator:= --value:Open --output:open
datatable --action:sort --name:orders --column:Date --ascending:false
datatable --action:rowcount --name:orders --output:rows
datatable --action:join --name:orders --with:$customers$ --on:"CustomerId=Id" --type:left --output:ordersWithCustomers
datatable --action:distinct --name:applicants --columns:"Email" --output:uniqueApplicants
datatable --action:groupby --name:sales --columns:"Region, Month" --aggregates:"Total=sum(Amount), Orders=count(), Average=avg(Amount), Last=max(Date)" --output:summary
datatable --action:addcolumn --name:lines --column:Total --value:=$row.Price$ * $row.Qty$
datatable --action:lookup --name:rates --column:Currency --value:$invoice.Currency$ --return:Rate --default:1 --output:rate
datatable --action:aggregate --name:sales --function:sum --column:Amount --output:totalSales