Accessing JSONata Unit Properties
- To view/modify the unit property, click on the JSONata unit. Upon clicking the unit, a property panel opens below, and the unit gets highlighted.
- The property panel will open and display the following sections:
- Input
- Processing
- Output
- By default, all sections are displayed unless you have specified panel settings in the user settings.

- The Input section provides the details on the inbound message, and the following tabs are provided in the section:
- Data section: The Data section provides the name of the processed units of the flow.
- Message: The Message section displays the inbound message of the selected unit.
Image
Data Section
- The section provides details on inbound messages and lists units that have already been processed. The following message details will be shown:
- Complete Message:
- The Complete Message represents the entire message payload, including:
- Message Header
- Start Message
- Input Message
- Any additional structural elements
- Message Header:
- The Message Header contains metadata about the message rather than the message's business data.
- It helps the system understand how to handle the message.
- It helps in tracking and tracing, routing, logging, and error handling.
- Start Message:
- The Start Message is the initial structure received by the Start Unit when the flow begins.
- It defines the expected input format.
- It acts as the primary data structure for processing.
- It is usually defined using XML or JSON schema.
- This message becomes the main working data object throughout the flow.
- Input Message:
- The Input Message refers to the actual incoming payload provided to the flow at runtime.
- In testing → comes from the Test Message (XML).
- In production → comes from API, queue, subscription, etc.
- It populates the Start Message structure and is then used by downstream units like Mapping, Condition, or API calls.
- Already Processed Units:
- The units that are processed before the System Call unit will be listed here. The unit will be displayed by its name.
- You can click any unit to view the data processed by that unit. The message will be displayed in the
Image
- A Search option is also provided to search for the unit name from the list.
- Enter the unit name in the search field, and the result will be displayed instantly.
- To close the search, click on the Clear (x) icon.
Image
- A Sort icon is provided to arrange the list as needed.
- You can also arrange the units either in ascending order (A to Z) or descending order (Z to A) using the icon next to the search icon. By default, the units are arranged in ascending order.
- Click the Sort icon to switch to descending order.
- Click again to return to the default ascending order.
Image
- A Collapse icon is provided next to the Sort icon. You can use this function to increase the message's working area for better readability and more space.
- Click on the icon to collapse the listing.
Image
- After clicking the Collapse icon, the listing collapses.
- However, you will still be able to view the icon of the respective units.
- When you hover over the icon, you can view the names of the units. Additionally, you can click any link to view its message.
Image
Message Section
- You can view the message of any of the units listed in the Data section.
- To view the message of any unit, click on the unit in the Data section. The message will be displayed instantly.
Image
Search
- A search option is also provided to find any node in the message.
- Enter the node name in the search field, and the result will be displayed instantly and highlighted.
- If more than one result is displayed, a navigation icon and a results counter are provided. You can navigate through the search results using the navigation icons.
- To close the search, click the 'x' icon.
Image
Legends
- A legend icon is provided to help you understand the message. The color of the nodes indicates their status.
- Click the Legend icon to view the details. When you click the icon, the list will show the legend used in the message.
Image
Adjust Message Font Size
- A Font Size box is provided to increase or decrease the message's font size.
- The current font size will be shown in the box.
- Click on the box to increase or decrease the font size.
Image
- After clicking the Font Size box, a slider will appear below it.
- Use the slider to increase or decrease the font size.
- As you slide, the change in size will be reflected in the message instantly.
- The supported font size ranges from 8 to 72.
Image
Switch Between Code and Tree View
- By default, the message will be displayed in Tree View.
- Click on the Switch to Code View icon.
Image
- The inbound message gets switched to code view.
- Click the icon again to switch back to tree view mode.
Image
- You can view the inbound message in tree/code view.
- By default, the message will be displayed in tree view. Switch to tree view mode if you are in code view.
- Please note that you cannot edit a message in tree view mode. The message will be displayed in read-only mode. To edit the message, switch to code view.
- The tree view provides the following icons in the toolbar:
- Find: This option allows you to find any parameter in the inbound message.
- Font Size: You can set the message font for clearer viewing. The available font size range is from 8 to 24. Select the desired value from the drop-down.
- Show Legend: Provide the list of the legend used in the message.
Image
View/Modify Inbound Message (Code View)
- To view the message in code view, switch to code view by clicking on the icon.
Image
- The code view will show the message in XML format. You can edit the message in this mode as needed.
- A toolbar is provided to help you to edit the message efficiently. The code view provides the following icons in the toolbar:
- Cut:
- Function: Removes the selected text or object from its current location and places it on the clipboard.
- Use Case: Moving content from one place to another.
- Copy:
- Function: Copies the selected text or object to the clipboard without removing it from its original location.
- Use Case: Duplicating content.
- Paste:
- Function: Inserts the clipboard content into the current location.
- Use Case: Adding previously cut or copied content.
- Find:
- Function: Searches for specific text or patterns within the document or code.
- Use Case: Quickly locating words, phrases, or code snippets.
- Replace:
- Function: Finds specific text and replaces it with new text.
- Use Case: Updating repeated terms or correcting errors throughout a document.
- Beautify:
- Function: Formats code or text to make it more readable and properly indented.
- Use Case: Cleaning up messy code for better readability.
- Word Wrap:
- Function: Ensures that long lines of text automatically wrap to fit within the visible window without horizontal scrolling.
- Use Case: Easier reading and editing of long lines.
- Maximize:
- Function: Expands the editor or window to full screen for better focus and visibility.
- Use Case: Working without distractions or seeing more content at once.
- Once you have modified the message, click the Save button to save the changes.
Image
View Variables
- The section will display the defined variables. You can create global or local variable on the section.
- To open the Variable section, click on the Variable menu.
Image
- A list of the variables gets displayed. The list provides both global and local variables.
- Global Variables:
- A global variable is one declared at a higher level and accessible from any part of the flow.
- Key Characteristics:
- Accessible throughout the entire flow
- Can be used by multiple units
- Retains its value during the flow execution
- When to Use:
- Shared configuration values
- Data that must be reused across multiple units
- Environment-level settings
- Local Variables:
- A local variable is declared inside a specific unit or block and can only be accessed within that scope.
- Key Characteristics:
- Limited visibility
- Exists only within the unit
- Not accessible outside the specific unit
- When to Use:
- Unit-specific logic
- Temporary calculations
- Intermediate processing values
Image
Add Variables
- To add variables, click on the (+) icon as shown on the screen.
Image
- An Add Variable pop-up will appear, displaying the following fields. All fields are mandatory.
- Variable Name:
- It is a text field; you can enter the variable name in this field.
- You are free to use any name of your choice.
- Scope:
- You need to select the variable scope from the drop-down.
- The following scopes are provided in the drop-down:
- Local: A local variable is declared within a specific unit and can be accessed only by that unit.
- Global: A global variable is one declared at a higher level and accessible to all units from any part of the flow.
- Variable Type:
- Once you have selected the scope, select the variable type from the drop-down.
- The following variable types are available:
- Fixed: A fixed variable has a constant value that you manually define, and it does not change during execution.
- User: A user variable gets its value from user input.
- Expression: An expression variable is calculated using logic or formulas.
- Once you have filled all the fields, click on the Add button.
- Click Cancel to close the pop-up.
Image
- The newly added variable gets added to the list.
- Now you can edit the variable and set the values.
Image
Edit Variables
- To edit any variable, hover over the variable band and click on the Edit icon.
- Based on the variable type, the edit screen will open.
Image
Edit Fixed Variable Type
- On clicking the edit icon, the Fixed Variable pop-up will open.
- You can modify the value in the Value field. This field is mandatory and cannot be left blank.
- Once the modification is complete, click the Save button.
- Click on the Cancel button to close the pop-up.
Image
Edit User Defined Variable Type
- On clicking the edit icon, the User Variable pop-up will open. You can modify the following fields:
- Label: This field allows you to change the label of the variable.
- Description: This field allows you to change the existing description.
- Mandatory: Make the variable mandatory or non-mandatory using the Yes or No from the drop-down.
- Data Type: This field allows you to set the data type for the selected variable.
- Default Value: Set the default value for the selected variable.
- Once the modification is complete, click the Save button.
- Click on the Cancel button to close the pop-up.
Image
Edit Expression Variable Type
- On clicking the edit icon, the Expression Variable pop-up will open.
- You can modify the existing expression of the variable. You can define the expression in the expression field. If you need any variable in your expression, you can drag and drop it from the list. Please note that you cannot use (drag & drop) the selected variable in your expression.
- Once the modification is complete, click the Save button.
- Click on the Cancel button to close the pop-up.
Image
Delete Variables
- To delete any variable, hover over the variable band and click on the Delete icon.
Image
- A Delete Variable pop-up will appear.
- Click on the Yes button to delete the chosen variable.
- Click on the No button close the pop-up.
Image
Processing Section
The Processing section provides the configuration details of the selected unit and provides the following tabs. You can switch between the tabs by clicking on them:
- Details Tab: The Details Tab contains the general information and basic properties of the flow. Typically includes the unit name and its description.
- Configuration Tab: Defines the technical setup and runtime-related settings. Typically includes payload handling, exposed objects, and error-handling settings.
- Design: The Design Tab is the visual workspace where you build the actual flow logic. Typically includes request document, key handling, error handling, etc.
Image
Details Tab
The Details tab provides basic details of the JSONata unit, including its name and description. The Details tab is displayed by default. It provides the following fields:
- Name:
- The unit name is provided in this section, and you may modify the existing name within this field.
- Click the field to update the unit's name.
- Upon completing the modifications, click the 'Save' button in the action area of the screen.
- Description:
- This field describes the processing unit, and you can modify the existing description.
- Click the field to edit the unit's description.
- Once you are done with the modification, click the Save button in the action area of the screen.
Image
Configuration Tab
- To switch to the Configuration tab, click it. The Configuration tab provides configuration details for the JSONata unit.
- The following fields will be shown on the tab:
- Payload Handling
- Continue flow on error
- Exposed Object
- Click any of the bands to view and modify the settings.
Image
Payload Handling
This setting allows you to define how a flow receives, processes, transforms, and passes message data (payload) between units during execution. In simple terms, it allows you to select the specific payload that you do not want to process.
- Expand the band by clicking it. Once expanded, you will see the Remove for further processing field.
- Click the field to view the available payload. Select the payload you do not want to process.
- You can also type the payload type in the field; the entered payload is listed, and then select it.
Image
- The selected payload is added to the field as a chip. The chip contains the 'X' icon; you can remove the payload by clicking the 'X' icon.
- Once you have added the payloads you do not want to process, click the Save button.
Image
Continue Flow on Error
Continue Flow on Error is a configuration option that allows a flow to continue executing even if a specific unit encounters an error. Instead of stopping the entire flow, execution moves to the next configured step.
- A toggle switch is provided on the band, and by default, it is disabled.
- To allow the process to continue despite an error, enable the toggle switch.
- Click the Save button to save the configuration.
Image
Exposed Object
An Exposed Object is a data structure or variable that is made available outside the flow as part of its output. It defines what information the flow will return to the calling system.
- Expand the band by clicking it. Once expanded, you will see the Object drop-down field.
Image
- Click the field to view the available objects. Select the required object that you want to process.
Image
- Once the object is selected, click the Save button.
Image
Design Tab
- To switch to the Design tab, click it. The Design tab provides configuration details for the JSONata unit.
- The following fields will be shown on the tab:
- Request Document
- Storage
- JSONata
- Inbound Parameter
- Outbound Format
- Outbound Parameter
- Click any of the bands to view and modify the settings.
Image
Request Document
A request document is a structured data message sent from one system to another when a request is made. It defines the format and content of the transmitted data in JSON format.
- Expand the band by clicking it. Once expanded, you will see the Data Source field.
- Fx - Function:
- This field supports the Expression Builder, which helps you create logical expressions or formulas without writing complex code. An expression is a combination of Fields / Variables, Operators, Values, and Functions. It allows you to write your own expression.
- It provides a structured interface where you can:
- Select fields or variables
- Choose operators (like =, ≠, >, <, AND, OR, NOT)
- Add functions such as string, date, and math functions
- Build conditions step by step to ensure syntax is correct.
- You can drag and drop any nodeset from the Input section into the Data Source field. Open any message in the Input section, then drag the nodeset into the field.
- Please note that you can only drop one nodeset into the field. If you drop a new nodeset on top of an existing nodeset, the existing nodeset will be replaced by the new one.
Image
Storage
- Expand the band by clicking it. Once expanded, you will see the Storage field.
- Click on the drop-down to view the list of available options:
- JSONata belongs to automation
- JSONata belongs to the partner's library
- Select an appropriate option from the drop-down.
- Once the storage option is selected, click Save.
Image
JSONata
JSONata is a lightweight query and transformation language for JSON data. It works similarly to XPath (for XML), but specifically for JSON structures.
- Expand the band by clicking it.
- A drop-down will display the name of the current JSON file. If you have not added any JSON yet, you can add the JSON file by using the plus icon next to the field.
Image
- The drop-down will display the used JSON name, and the JSON will appear below.
- You can make modifications to JSON.
- A toolbar is provided to help you with smooth editing.
- An Expand/Collapse icon is provided to expand the working area.
- Click on the icon to expand or collapse the stylesheet.
Image
Add New JSON File
- Click on the plus icon.
- On clicking the (+) icon, an Add JSONata pop-up will open.
Image
- Enter the name of the stylesheet in the Name field.
- Click the Add button to add the stylesheet. Upon clicking the Add button, a new stylesheet will be added to the list. Please remember that this JSONata file provides the standard structure. You need to edit the JSON to your requirements to use it.
- After making modifications, click the Save button.
Image
Inbound Parameter
- Expand the band by clicking it. Once expanded, you will see the following fields:
- XML attribute identifier: A unique attribute name used to identify an attribute within an XML element.
- XML attributes parent link identifier: Defines the relationship between a child element and its parent element.
- Default Data Type: Defines the default data type assigned to the attribute.
- Name Space Handling: Used to manage XML namespaces and avoid naming conflicts.
- Object Handling: Defines how XML elements and attributes are mapped into objects or classes.
- Once the section is closed, the number of the selected inbound parameters will be displayed. For example, if one parameter is added to the field, the closed band will display '1'.
Image
Conditions to display the Inbound Parameter section:
- Once the request document is pulled, the system will know whether it is an XML or a JSON file.
- If the request document is XML, show the Inbound Parameter field.
- If the request document is JSON, disable the Inbound Parameter field.
- If there is no request document, disable the Inbound Parameter field.
Image
XML attribute identifier
- An XML attribute identifier is a unique name used to identify an attribute within an XML element.
- It is a text box field.
- Enter the attribute identifier from the XML.
XML attribute parent link identifier
- An XML attribute parent link identifier establishes a relationship between a child element and its parent element.
- It is a text box field.
- Enter the value from the XML.
Default data type
- It is a drop-down field.
- Select the appropriate data type (values are provided by the API, such as a string).
- Defines the default data type assigned to the attribute.
Name Space Handling
- Namespace handling is the process of managing XML namespaces to avoid naming conflicts between elements and attributes that have the same name but different meanings.
- It is a drop-down field.
- Select a value from the drop-down provided by the API, such as a URI (prefix).
Object Handling
- Object handling refers to how XML data is mapped to objects. It defines how elements, attributes, and hierarchies are converted into objects, fields, or classes.
- It is a drop-down field.
- Select the appropriate object mapping option.
Image
- Expand the band by clicking it. Once expanded, you will see the Outbound Format section.
- It is a drop-down field with JSON and XML as options. By default, the JSON option will be selected. However, you can change the value to XML as needed.
Image
Conditions to display the Outbound Parameter section