BotreamDocs Website Türkçe v0.1.1

Variables commands

set · input · output · variable · string · number · boolean · list · dictionary · datetime · datatable

set Set

Declares or updates a variable.

Parameters of every variant

ParameterValueDefaultDescription
--name requiredvariable nameVariable name

Types (--type, optional)

--type:string
ParameterValueDefaultDescription
--valueany valueInitial text; may contain $variables$
--type:number
ParameterValueDefaultDescription
--valueany valueInitial number, e.g. 42 or 3.14 (default 0)
--type:boolean
ParameterValueDefaultDescription
--valueany valuetrue or false (default false)
--type:datetime
ParameterValueDefaultDescription
--valueany valuenow or a date/time like 2026-09-30 14:30:00 (default now)
--type:list
ParameterValueDefaultDescription
--valueany valueJSON array, e.g. ["a", "b", 3] (default empty)
--type:dictionary
ParameterValueDefaultDescription
--valueany valueJSON object, e.g. {"name": "Ali", "age": 30} (default empty)
--type:record
ParameterValueDefaultDescription
--valueany valueJSON object, e.g. {"Name": "Ali", "Age": 30} (default empty)
--type:datatable
ParameterValueDefaultDescription
--valueany valueColumns and rows, e.g. {"columns": ["Name", "Age"], "rows": [["Ali", 30]]} (default empty)
--type:file
ParameterValueDefaultDescription
--valueany valueFile path
--type:browser
ParameterValueDefaultDescription
--valueany valueA browser page variable ($page$)
--type:window
ParameterValueDefaultDescription
--pathtextApplication executable path (wildcards allowed) A file on the agent machine.
--titletextWindow title (wildcards allowed)
--type:credential
ParameterValueDefaultDescription
--vault requiredtextVault name
--credential requiredtextCredential name within the vault
Without --type (Keep existing type)
ParameterValueDefaultDescription
--value requiredany valueNew 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"

input Input

Declares a task input parameter. Must be at the top of the task.

Parameters

ParameterValueDefaultDescription
--name requiredvariable name
--type requiredone of string, number, boolean, window, browser, list, dictionary, datatable, datetime, file, record, credential
--defaultany valueUsed when the caller passes no value; written like set --value
--requiredtrue / falsetrue

Examples

input --name:orderId --type:string --required:true
input --name:maxRetries --type:number --default:3 --required:false

output Output

Declares a task output parameter. Must be at the top of the task.

Parameters

ParameterValueDefaultDescription
--name requiredvariable name
--type requiredone 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
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--action:substring
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--start requirednumber
--lengthnumber
--outputvariable nameVariable that receives the result
--action:replace
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--old requiredtext
--new requiredtext
--outputvariable nameVariable that receives the result
--action:trim
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:trimleft
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:trimright
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:uppercase
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:lowercase
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:titlecase
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:length
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:isempty
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:isnumber
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:tostring
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:tonumber
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:toboolean
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:abs
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:floor
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:ceiling
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:truncate
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:sqrt
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:not
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:keys
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:values
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:rowcount
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:columncount
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:todatetime

Text → date/time (e.g. 2026-09-30 14:30 or with --format like dd.MM.yyyy).

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--formattexte.g. dd.MM.yyyy HH:mm; any common format when empty
--outputvariable nameVariable that receives the result
--action:between

The text after the first --start and before the next --end (empty when either is not found).

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--starttextText before the part you want; from the beginning when empty
--endtextText after the part you want; to the end when empty
--outputvariable nameVariable that receives the result
--action:base64encode
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:base64decode
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:urlencode
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:urldecode
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:hash

The hash of the text as lowercase hex.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--algorithmone of md5, sha1, sha256, sha512sha256
--outputvariable nameVariable that receives the result
--action:lastindexof

Position of the last occurrence of --value in the text (-1 when missing).

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredtext
--outputvariable nameVariable that receives the result
--action:repeat

The text repeated --count times.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--count requirednumber
--outputvariable nameVariable that receives the result
--action:power

The number raised to the power --value.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:startswith
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredtext
--outputvariable nameVariable that receives the result
--action:endswith
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredtext
--outputvariable nameVariable that receives the result
--action:split
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--separator requiredtext
--outputvariable nameVariable that receives the result
--action:concat
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--outputvariable nameVariable that receives the result
--action:padleft
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--totalwidth requirednumber
--paddingchartext
--outputvariable nameVariable that receives the result
--action:padright
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--totalwidth requirednumber
--paddingchartext
--outputvariable nameVariable that receives the result
--action:insert
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--value requiredany value
--outputvariable nameVariable that receives the result
--action:format
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--format requiredtext
--argstext
--outputvariable nameVariable that receives the result
--action:regex
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--pattern requiredtext
--outputvariable nameVariable that receives the result
--action:regexmatch
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--pattern requiredtext
--outputvariable nameVariable that receives the result
--action:regexreplace
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--pattern requiredtext
--replacement requiredtext
--outputvariable nameVariable that receives the result
--action:contains
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--outputvariable nameVariable that receives the result
--action:remove

String: --start/--length. List: --value.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--startnumber
--lengthnumber
--valueany value
--outputvariable nameVariable that receives the result
--action:add

Number: adds --value. List: appends --value.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--outputvariable nameVariable that receives the result
--action:increment
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--bynumber1
--action:decrement
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--bynumber1
--action:subtract
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:multiply
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:divide
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:modulo
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:min
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:max
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:round
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--decimalsnumber0
--outputvariable nameVariable that receives the result
--action:random
ParameterValueDefaultDescription
--min requirednumber
--max requirednumber
--output requiredvariable nameVariable that receives the result
--action:removeat
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--action:removerow
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--action:clear
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--action:toggle
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--action:reverse

List or data table: rows in reverse order. Text: characters reversed.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:count
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:indexof

Text: position of --value (-1 when missing). List: index of the item.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--outputvariable nameVariable that receives the result
--action:sort

List: sorts the values. Data table (or list of records): sorts the rows by --column.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--columntext
--ascendingtrue / falsetrue
--outputvariable nameVariable that receives the result
--action:getat
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--outputvariable nameVariable that receives the result
--action:getrow
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--outputvariable nameVariable 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).

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--separatortext,
--with$variable$
--ontext
--typeone of inner, left, full
--outputvariable nameVariable that receives the result
--action:setat
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumber
--value requiredany value
--action:addkey
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--key requiredtext
--value requiredany value
--action:removekey
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--key requiredtext
--action:getvalue
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--key requiredtext
--outputvariable nameVariable that receives the result
--action:containskey
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--key requiredtext
--outputvariable nameVariable that receives the result
--action:now
ParameterValueDefaultDescription
--output requiredvariable nameVariable that receives the result
--action:adddays
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:addhours
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:addminutes
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:addseconds
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:addmonths
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:addyears
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requirednumber
--outputvariable nameVariable that receives the result
--action:datediff
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value
--outputvariable nameVariable that receives the result
--action:parse
ParameterValueDefaultDescription
--value requiredtext
--formattext
--output requiredvariable nameVariable that receives the result
--action:getpart
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--part requiredone of year, month, day, hour, minute, second, millisecond, dayofweek, dayofyear
--outputvariable nameVariable that receives the result
--action:and
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredtrue / false
--outputvariable nameVariable that receives the result
--action:or
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredtrue / false
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--value requiredany value$record$ or {"Column": value, ...}
--action:columns

Column names as a list.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--outputvariable nameVariable that receives the result
--action:addcolumn

Adds a column: empty, or with --value for every row (a formula may use $row.Column$).

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--column requiredtext
--valueany valueThe 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
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--column requiredtext
--action:distinct

Rows without duplicates, as a new data table.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--columnstextCompare only these columns, comma separated (e.g. Email); the first row of each is kept. All columns when empty
--outputvariable nameVariable that receives the result
--action:groupby

One row per group with the --aggregates calculations, as a new data table.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--columns requiredtextThe columns that form a group, comma separated, e.g. Department or Region, Year
--aggregatestextWhat 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()
--outputvariable nameVariable that receives the result
--action:lookup

The --return value of the first row whose --column equals --value.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--column requiredtextThe column to search
--value requiredany valueThe value to find (numbers match numbers, text ignores case)
--returntextThe column whose value you want; the whole row as a record ($found.Column$) when empty
--defaultany valueThe result when no row matches (empty when not set)
--output requiredvariable nameVariable that receives the result
--action:aggregate

The sum, count, average, minimum or maximum of a column.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--function requiredone of sum, count, avg, min, maxsum, count (non-empty values; rows without --column), average, smallest or largest
--columntextThe column to calculate (not needed for count, which then counts the rows)
--output requiredvariable nameVariable that receives the result
--action:getcolumn

The values of one column as a list.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--column requiredtext
--outputvariable nameVariable that receives the result
--action:getcell
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumberRow index, 0 for the first row
--column requiredtext
--outputvariable nameVariable that receives the result
--action:setcell
ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--index requirednumberRow index, 0 for the first row
--column requiredtext
--value requiredany value
--action:filter

Rows whose column matches, as a new data table.

ParameterValueDefaultDescription
--name requiredvariable nameVariable to operate on
--column requiredtext
--operator requiredone of =, !=, >, <, >=, <=, contains, startswith, endswith
--value requiredany value
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:trimleft

Removes spaces, tabs and line breaks from both ends (trim), the start or the end.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:trimright

Removes spaces, tabs and line breaks from both ends (trim), the start or the end.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:uppercase

All letters as capitals.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:lowercase

All letters as small letters.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:titlecase

The first letter of every word as a capital.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:replace

Replaces every occurrence of --old with --new (case-sensitive).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--old requiredtext
--new requiredtext
--outputvariable nameVariable that receives the result
--action:substring

Part of the text: from --start (0 = first character), --length characters (to the end when empty).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--start requirednumber
--lengthnumber
--outputvariable nameVariable that receives the result
--action:between

The text after the first --start and before the next --end (empty when either is not found).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--starttextText before the part you want; from the beginning when empty
--endtextText after the part you want; to the end when empty
--outputvariable nameVariable that receives the result
--action:concat

Adds --value to the end of the text.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredany value
--outputvariable nameVariable that receives the result
--action:insert

Inserts --value at position --index (0 = before the first character).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--index requirednumber
--value requiredany value
--outputvariable nameVariable that receives the result
--action:remove

Removes --length characters from --start (to the end when --length is empty).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--start requirednumber
--lengthnumber
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--totalwidth requirednumber
--paddingchartext
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--totalwidth requirednumber
--paddingchartext
--outputvariable nameVariable that receives the result
--action:repeat

The text repeated --count times.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--count requirednumber
--outputvariable nameVariable that receives the result
--action:reverse

The characters in reverse order.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:split

Splits the text at every --separator into a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--separator requiredtext
--output requiredvariable nameVariable that receives the result
--action:length

Number of characters.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--output requiredvariable nameVariable that receives the result
--action:isempty

true when the text is empty or only spaces.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--output requiredvariable nameVariable that receives the result
--action:isnumber

true when the text is a number.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--output requiredvariable nameVariable that receives the result
--action:contains

true when the text contains, starts with or ends with --value (case-sensitive).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredtext
--output requiredvariable nameVariable that receives the result
--action:startswith

true when the text contains, starts with or ends with --value (case-sensitive).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredtext
--output requiredvariable nameVariable that receives the result
--action:endswith

true when the text contains, starts with or ends with --value (case-sensitive).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredtext
--output requiredvariable nameVariable that receives the result
--action:indexof

Position of the first --value (0 = first character, -1 when missing).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredtext
--output requiredvariable nameVariable that receives the result
--action:lastindexof

Position of the last --value (-1 when missing).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--value requiredtext
--output requiredvariable nameVariable that receives the result
--action:regex

Every match of the regular expression --pattern, as a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--pattern requiredtext
--output requiredvariable nameVariable that receives the result
--action:regexmatch

true when the regular expression --pattern matches.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--pattern requiredtext
--output requiredvariable nameVariable that receives the result
--action:regexreplace

Replaces the matches of --pattern with --replacement ($1 for a group).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--pattern requiredtext
--replacement requiredtext
--outputvariable nameVariable that receives the result
--action:format

Puts the text and --args into --format: {0} is the text, {1}… the args, e.g. "Order {0} of {1}".

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--format requiredtext
--argstextComma-separated values for {1}, {2}…
--outputvariable nameVariable that receives the result
--action:base64encode

Encodes or decodes the text as Base64 or for a URL.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:base64decode

Encodes or decodes the text as Base64 or for a URL.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:urlencode

Encodes or decodes the text as Base64 or for a URL.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:urldecode

Encodes or decodes the text as Base64 or for a URL.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--outputvariable nameVariable that receives the result
--action:hash

The hash of the text as lowercase hex.

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--algorithmone of md5, sha1, sha256, sha512sha256
--outputvariable nameVariable that receives the result
--action:tonumber

The text as a number (fails when it is not one).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--output requiredvariable nameVariable that receives the result
--action:toboolean

The text as true/false (true, yes, 1 / false, no, 0).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--output requiredvariable nameVariable 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).

ParameterValueDefaultDescription
--name requiredvariable nameThe text variable
--formattexte.g. dd.MM.yyyy HH:mm; any common format when empty
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--bynumber1
--action:decrement

Adds --by to the variable (increment) or takes it away (decrement), in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--bynumber1
--action:add

The number plus --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:subtract

The number minus --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:multiply

The number times --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:divide

The number divided by --value (fails on 0).

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:modulo

The remainder of dividing by --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:power

The number raised to the power --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:min

The smaller (min) or larger (max) of the number and --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:max

The smaller (min) or larger (max) of the number and --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--value requirednumber
--outputvariable nameVariable that receives the result
--action:round

Rounded to --decimals places (halves away from zero).

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--decimalsnumber0
--outputvariable nameVariable that receives the result
--action:floor

Down (floor), up (ceiling) or toward zero (truncate) to a whole number.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--outputvariable nameVariable that receives the result
--action:ceiling

Down (floor), up (ceiling) or toward zero (truncate) to a whole number.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--outputvariable nameVariable that receives the result
--action:truncate

Down (floor), up (ceiling) or toward zero (truncate) to a whole number.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--outputvariable nameVariable that receives the result
--action:abs

The number without its sign.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--outputvariable nameVariable that receives the result
--action:sqrt

The square root.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--outputvariable nameVariable that receives the result
--action:random

A random whole number from --min to --max.

ParameterValueDefaultDescription
--min requirednumber
--max requirednumber
--output requiredvariable nameVariable that receives the result
--action:format

The number as text in a .NET format, e.g. {0:N2} → 1,234.50, {0:00000} → 00042 (invariant culture).

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--format requiredtext
--output requiredvariable nameVariable that receives the result
--action:tostring

The number as text.

ParameterValueDefaultDescription
--name requiredvariable nameThe number variable
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe true/false variable
--action:not

The opposite value.

ParameterValueDefaultDescription
--name requiredvariable nameThe true/false variable
--outputvariable nameVariable that receives the result
--action:and

true when both the variable and --value are true.

ParameterValueDefaultDescription
--name requiredvariable nameThe true/false variable
--value requiredtrue / false
--outputvariable nameVariable that receives the result
--action:or

true when the variable or --value is true.

ParameterValueDefaultDescription
--name requiredvariable nameThe true/false variable
--value requiredtrue / false
--outputvariable nameVariable that receives the result
--action:tostring

true or false as text.

ParameterValueDefaultDescription
--name requiredvariable nameThe true/false variable
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--value requiredany value
--outputvariable nameVariable that receives the result
--action:insert

Inserts --value at --index.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--index requirednumber
--value requiredany value
--outputvariable nameVariable that receives the result
--action:setat

Replaces the item at --index, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--index requirednumber
--value requiredany value
--action:remove

Removes the first item equal to --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--value requiredany value
--outputvariable nameVariable that receives the result
--action:removeat

Removes the item at --index, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--index requirednumber
--action:clear

Removes every item, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--action:getat

The item at --index.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--index requirednumber
--output requiredvariable nameVariable that receives the result
--action:count

Number of items.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--output requiredvariable nameVariable that receives the result
--action:isempty

true when the list has no items.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--output requiredvariable nameVariable that receives the result
--action:contains

true when an item equals --value.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--value requiredany value
--output requiredvariable nameVariable that receives the result
--action:indexof

Index of the first item equal to --value (-1 when missing).

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--value requiredany value
--output requiredvariable nameVariable that receives the result
--action:sort

Sorts the items (numbers by value, text alphabetically); a list of records by --column.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--ascendingtrue / falsetrue
--columntextFor a list of records: the field to sort by
--outputvariable nameVariable that receives the result
--action:reverse

The items in reverse order.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--outputvariable nameVariable that receives the result
--action:join

The items as one text with --separator between them, e.g. a, b, c.

ParameterValueDefaultDescription
--name requiredvariable nameThe list variable
--separatortext,
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--key requiredtext
--value requiredany value
--action:removekey

Removes --key, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--key requiredtext
--action:getvalue

The value of --key (fails when the key is missing).

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--key requiredtext
--output requiredvariable nameVariable that receives the result
--action:containskey

true when --key exists.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--key requiredtext
--output requiredvariable nameVariable that receives the result
--action:keys

The keys as a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--output requiredvariable nameVariable that receives the result
--action:values

The values as a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--output requiredvariable nameVariable that receives the result
--action:count

Number of keys.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--output requiredvariable nameVariable that receives the result
--action:isempty

true when there are no keys.

ParameterValueDefaultDescription
--name requiredvariable nameThe dictionary or record variable
--output requiredvariable nameVariable that receives the result
--action:clear

Removes every key, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe 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.

ParameterValueDefaultDescription
--output requiredvariable nameVariable that receives the result
--action:parse

A date/time read from text, e.g. 30.09.2026 with --format dd.MM.yyyy.

ParameterValueDefaultDescription
--value requiredtextThe text, e.g. $invoice.Date$
--formattexte.g. dd.MM.yyyy HH:mm; any common format when empty
--output requiredvariable nameVariable that receives the result
--action:adddays

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:addhours

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:addminutes

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:addseconds

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:addmonths

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:addyears

Adds days, hours, minutes, seconds, months or years (negative values go back).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requirednumberHow many; negative goes back
--outputvariable nameVariable that receives the result
--action:datediff

Days from --value to the date (fractions for hours; negative when --value is later).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--value requiredany valueThe other date: a $variable$ or a date like 2026-01-31
--output requiredvariable nameVariable that receives the result
--action:getpart

One part of the date as a number (dayofweek: 0 = Sunday).

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--part requiredone of year, month, day, hour, minute, second, millisecond, dayofweek, dayofyear
--output requiredvariable nameVariable that receives the result
--action:format

The date as text in a format, e.g. dd.MM.yyyy, yyyy-MM-dd HH:mm or MMMM yyyy.

ParameterValueDefaultDescription
--name requiredvariable nameThe date/time variable
--format requiredtextd day, M month, y year, H hour, m minute, s second; e.g. dd.MM.yyyy
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--value requiredany value$record$ or {"Column": value, ...}
--action:removerow

Removes the row at --index, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--index requirednumberRow index, 0 for the first row
--action:getrow

The row at --index as a record ($row.Column$).

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--index requirednumberRow index, 0 for the first row
--output requiredvariable nameVariable that receives the result
--action:getcell

The value in row --index, column --column.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--index requirednumberRow index, 0 for the first row
--column requiredtext
--output requiredvariable nameVariable that receives the result
--action:setcell

Changes the value in row --index, column --column, in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--index requirednumberRow index, 0 for the first row
--column requiredtext
--value requiredany value
--action:rowcount

Number of rows.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--output requiredvariable nameVariable that receives the result
--action:columncount

Number of columns.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--output requiredvariable nameVariable that receives the result
--action:columns

The column names as a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--output requiredvariable nameVariable 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$.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtextName of the new column
--valueany valueThe 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtext
--action:getcolumn

The values of one column as a list.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtext
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--with required$variable$The other data table, e.g. $customers$
--on requiredtextThe column both tables share, e.g. CustomerId, or Left=Right when the names differ, e.g. Id=CustomerId (several pairs comma separated)
--typeone of inner, left, fullinnerinner: only rows with a match; left: every row of the table (empty values without a match); full: every row of both tables
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--columnstextCompare only these columns, comma separated (e.g. Email); the first row of each is kept. All columns when empty
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--columns requiredtextThe columns that form a group, comma separated, e.g. Department or Region, Year
--aggregatestextWhat 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()
--outputvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtextThe column to search
--value requiredany valueThe value to find (numbers match numbers, text ignores case)
--returntextThe column whose value you want; the whole row as a record ($found.Column$) when empty
--defaultany valueThe result when no row matches (empty when not set)
--output requiredvariable nameVariable 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.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--function requiredone of sum, count, avg, min, maxsum, count (non-empty values; rows without --column), average, smallest or largest
--columntextThe column to calculate (not needed for count, which then counts the rows)
--output requiredvariable nameVariable that receives the result
--action:filter

The rows whose --column compares to --value, as a new data table.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtext
--operator requiredone of =, !=, >, <, >=, <=, contains, startswith, endswith
--value requiredany value
--outputvariable nameVariable that receives the result
--action:sort

Sorts the rows by --column.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--column requiredtext
--ascendingtrue / falsetrue
--outputvariable nameVariable that receives the result
--action:reverse

The rows in reverse order.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--outputvariable nameVariable that receives the result
--action:isempty

true when the table has no rows.

ParameterValueDefaultDescription
--name requiredvariable nameThe data table variable
--output requiredvariable nameVariable that receives the result
--action:clear

Removes every row (the columns stay), in place.

ParameterValueDefaultDescription
--name requiredvariable nameThe 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
Botream 0.1.1 · Generated 2026-10-14