Expressions
With expressions, you can structure and manipulate data before binding the data to the UI components. Expressions are JSONata language-based. JSONata is a lightweight query and transformation language for JSON data. JSONata is a rich complement of built-in operators and functions providing options to manipulate and combine data.
The shared expressions can be set either in the index.jigx file or in the itself. The expressions property is used for this and allows you to choose a custom name for the expression and save a value.
Expressions that are set in the index.jigx are reusable throughout your whole solution.
These expressions are only available in the itself.
Using IntelliSense in shows where and when you can add an expression by displaying the =$ or =@ctx. In expressions alwasy start with =. converts @ctx. to $$. when executing expressions in jsonata.
Adding an empty array index [] in the path forces jsonata to return an array of one item versuses the normal behavior where it returns the item directly.
Expressions can be used in many ways when creating apps, here are common use cases:
Use | Description | Example |
datasource | To call data from a datasource | =@ctx.datasource.mydata.datacolumn |
component | Used inside a component to reference data in that component | =@ctx.component.state.value |
components | Used in a to reference data from various components in that | =@ctx.components.list.state.filter |
current item | Use data in the current component | =@ctx.current.item.value |
jig | Pull data in from another | =@ctx.jig.inputs.jigname.description |
jigs | Pull data in from multiple s | =@ctx.jigs. |
organization | Reference the name or id of the organization | =@ctx.organization.name |
solution | Reference the solution | =@ctx.solution.name |
system | Get data about various system values such as offline status | =@ctx.system.isOffline |
user | Reference data about the current user | =@ctx.user.displayName |
Expressions are a powerful and flexible way to transform and extract data for use in a . Below are links to examples showing how JSONata expressions can be used when creating apps.
JSONata expressions | Example of use |
Aggregation | To return minimum, maximum or an average value in an array. |
Boolean | Evaluate data to find a true or false result. |
Compare values in data and use the value in a conditional logical expression, e.g., is an amount greater than 100. | |
Date & Time | Return a date and time in various formats, e.g., ISO 8601. |
Navigate and access specific elements or properties within a data set, e.g., for filtering or searching. | |
Compare values or display data based on certain conditions and using logical statements, e.g., adding HTML variable in content, or a multi-select as a functionParameter. | |
variable set used in expressions to manipulate data specific to a , e.g., determining the logged-in user, or the organization and solution. | |
Used for query refinement. | |
String | There are many uses for using string expressions, these can be to concatenate two strings to display multiple data records in one row or write numbers as strings, or select only a few characters from the whole string. |


