Expression Syntax Components
Use Friendly Enough Expression Language (FEEL) to assign the Task's assignee using one or more rules.
Friendly Enough Expression Language (FEEL) is a syntax ProcessMaker Platform uses to design expressions that calculate values based on dynamic conditions either within Request data and/or Magic Variables. ProcessMaker Platform uses these Expression Syntax Components for the following purposes:
Use Expression Syntax Components for Visibility Rule settings in Screen Builder controls that describe under which condition(s) that Screen control to display. See an example.
If an expression in a control evaluates as True, then that control displays during a Request. If an expression in a control does not evaluate as True, then that control does not display during a Request.
Spaces are allowed before and after expression components, such as arithmetic and comparison operators, to more easily read the expression.
If a Screen control does not have an expression in its Visibility Rule setting, then that control displays by default.
Request variable values can be used when composing Visibility Rule expressions. For example, to dynamically compare the
_user.id
Magic Variable value that represents the unique identifier for the user against a Request variable called BusinessBankerID
that represents the current Request variable value derived from a Collection during a Request, use the "equal to" comparative operator to compare those values: _user.id == businessBankerId
.If a Screen control affected by a visibility rule is hidden by default from custom CSS, the visibility rule overrides the custom CSS design. For example, if custom CSS is designed to hide a Screen control by default when that control's visibility rule dictates that it be visible, the visibility rule overrides the custom CSS to display that control. As a best practice, use visibility rules instead of custom CSS to hide a control by default.
The following Task-type BPMN elements can use rules to dynamically assign its Task:
Each rule can only have one expression, but by using logical operators multiple conditions can be specified in that expression. You may use multiple rules to better confine the condition(s) to whom to assign the Task. You may use Magic Variables in your expression syntax.
Specify the condition(s) that must occur in a Request to trigger that Sequence Flow element, thereby triggering its connecting element. By setting different conditions on all outgoing Sequence Flow elements from an Exclusive Gateway or Inclusive Gateway element, you determine the business requirements for each Request of that Process model. ProcessMaker Platform evaluates a Sequence Flow element's condition(s) to trigger by reviewing the Request's data to an expression that describes the condition(s). You may use Magic Variables in your expression syntax.
Use the following expression syntax components to compose the expression that describes to whom is assigned a Task referenced in a Form Task element or Manual Task element.
Spaces are allowed before and after expression components, such as arithmetic and comparison operators, to more easily read the expression.
Combine expressions using logical operators. Example:
(not approved) or (cost > 500)
.Component | Syntax | Example |
---|---|---|
string | "hello world" or 'hello world' | FullNameInput == "Louis Canera" |
number | 100 | cost > 500 |
array | [ value1, value2] | myFruit not in ["apples", "oranges"] |
Boolean | true and false | directorSigned |
Component | Syntax |
---|---|
addition | + |
subtraction | - |
multiplication | * |
division | / |
Component | Syntax |
---|---|
not | not |
and | and |
or | or |
Component | Syntax |
---|---|
equal to | == |
not equal to | != |
less than | < |
greater than | > |
less than or equal to | <= |
greater than or equal to | >= |
Component | Syntax |
---|---|
concatenate matches | ~ |
Component | Syntax |
---|---|
contains | in |
does not contain | not in |
Component | Syntax | Example |
---|---|---|
range | .. | foo in 1..10 |
Last modified 1mo ago