Fields
{{fields["field_id_here"]}}
Current User
{{user["email"]}}
{{user["username"]}}
Date/Time
{{date}}
{{time}}
Methods
|
Name |
Usage Syntax |
Input |
Result |
|---|---|---|---|
|
Format |
format("%{0}%") |
Cat |
%Cat% |
|
Split |
split("|",2) |
Cat|Dog |
Dog |
|
ToLower |
toLower() |
Cat |
cat |
|
ToUpper |
toUpper() |
Cat |
CAT |
|
TrimWhiteSpace |
trim() |
Cat |
Cat |
|
AsFinanaicalYear |
asFinancialYear("dd/MM") - Where dd/MM is the day/month that the financial year starts on. eg Australia would be 01/07 |
01/04/2018 |
2017-2018 |
|
AsFinanaicalYear |
asFinancialYear("dd/MM", "dd/MM/yyyy") Where dd/MM is the day/month that the financial year starts on. eg Australia would be 01/07 Where dd/MM/yyyy is the date formatting of the input date (defaults to the culture of the IIS server). eg Australia would be "dd/MM/yyyy". USA would be "MM/dd/yyyy" |
01/04/2018 |
2017-2018 |
|
Exists |
exists() |
Value |
true |
|
Starts With |
startsWith("Fri") |
Friday |
true |
|
Ends With |
endsWith("ay") |
Saturday |
true |
|
Contains |
contains("ver") |
Conversion |
true |
|
Matches (regex) |
matches("[0-9]2") |
abc123IAM |
true |
|
Date field output conversion |
Convert the date output format to YYYYMMDD {{fields["date_field"] | asDate() | format("{0:yyyyMMdd}")}} |
12/02/2021 |
20210221 |
{fields["field_id_here"]|method1|method2}}
Note: Methods can be chained together and are run sequentially.
Example usage syntax:
{{fields["field_id_here"]|split(",",2)}}
This would get the value of the field with id "field_id_here", split on the comma and then return the 2nd value.
{{fields["field_id_here"]|split("|",2)|trim()}}
This would get the value of the field with id "field_id_here", split on the pipe and then return the 2nd value.
Then it would trim all leading and trailing white space.
{{fields["financial_date_id"]|asFinancialYear("01/07")}}
This would get the value of the field with id ""field_id_here", and convert it to a human readable financial year.
{{fields["field_id_here"]|exists()|condition("yes", "no")}}
This would get the value of the field with id "field_id_here".
Then if it has a value it would return the text "yes" otherwise it would return "no".
{{fields["field_id_here"]|contains("ver")|condition("TrueValue", "FalseValue")}}
This would get the value of the field with id "field_id_here".
Then if it's value contains "ver" it returns "TrueValue" otherwise it would return "FalseValue".
Complex Methods
{{fields["workflow"] | exists() | condition(format("{0} || uA1 || new workflow", fields["workflow"]), "")}}
Reading left to right;
-
Start with
fields["workflow"]as our input -
|delimits operations in the filter chain, and is very similar to bash shells and how they pipe outputs-
When a pipe exists, everything on the left side is evaluated, and passed into the right side as input
-
They respect parentheses, and will be ignored if nested in quotes
-
-
exists()will see whether the input value (fields["workflow"]) is empty, null, or whitespace, and return true/false -
condition(trueOutput,falseOutput)will take a boolean input, and return either itstrueOutputorfalseOutput-
Think of it as an if statement
-
When
truethe first argument is evaluated,-
format(text,values[])leverages the standard .net string format, and can use placeholders matched to the input indices, starting from 0
-
-
When
falsethen the second argument is evaluated, which is an empty string ("")
-