Workflow Logic Blocks
Workflow logic blocks allow you to configure event handlers for a Screen through an intuitive point-and-click interface. You can define complex actions and conditional logic that can be triggered by attribute field updates, custom events, or at different stages of a screen's execution sequence.
To open the logic block editor for a screen:
- Publish the workflow (see Workflow Publishing).
- Open the screen's <> menu.
- Select Open Logic Block Editor.
Add, Rename, Find, and Delete Workflow Logic Blocks
To manage logic blocks, use the left panel of the logic block editor to:
- Create a logic block: Click + Add New Logic Block at the bottom of the panel.
- Rename a logic block: Click the logic block's name to select it, then type to overwrite the existing name.
- Find a logic block: Use the Search logic block field at the top of the panel to enter search keywords.
- Delete a logic block: Hover over the logic block's name and click the trashcan icon that appears next to it.
Configure a Workflow Logic Block's Executable Logic
The executable logic defines the actions or computations that the logic block performs when its trigger conditions are met (see Configure a Workflow Logic Block's Trigger(s)). To add executable logic to a logic block:
- In the logic block editor, select the logic block by clicking its name in the left panel.
- In the logic block editor's main panel, click the + buttons to add conditional blocks or actions to the executable logic.
Conditional blocks are decision-making operators that allow selective execution of logic or a choice between alternate execution paths based on whether a condition is true or false. Conditional blocks contain three operands: IF, THEN, and ELSE:
| Operand | Description |
|---|---|
| IF |
This is the condition, an expression that evaluates to either true or false based on the values of various form fields. Click + inside the IF node and use the point-and-click interface to define your expression. In its simplest form, the IF condition is based on a single attribute evaluation (e.g.: Name is not blank). The available operands include the Screen Exposed Data as well as system attributes such as Business States or Process States. The available operators depend on the data type of the attribute: generic operators such as is blank or is not blank, text specific operators such as starts with or contains, date specific operators such as years since or days until anniversary, etc. You can also create complex boolean logic by grouping conditions hierarchically with logical operators:
E.g.: Form Mode equals Insert AND (applicant.firstName isBlank OR applicant.lastName isBlank) |
| THEN |
This is the execution path taken when the IF condition evaluates to true. Click + inside the THEN node and use the point-and-click interface to define this path. You can include a sequence of Data Actions, Field Actions, Logic Actions, Navigation Actions, UI Actions, or even other conditional blocks to create complex, nested decision trees. |
| ELSE |
This is the execution path taken when the IF condition evaluates to false. Click + inside the ELSE node and use the point-and-click interface to define this path. You can include a sequence of Data Actions, Field Actions, Logic Actions, Navigation Actions, UI Actions, or even other conditional blocks to create complex, nested decision trees. |
Data actions synchronize the user interface with the data store, either by refreshing the screen's state from the database or by committing the current screen data to the database.
| Data Action | Description |
|---|---|
| Refresh Form Data | Reloads the full screen state from the database, updating all attribute fields. |
| Save Data | Saves the screen data to the database, ensuring all changes are committed. |
Field actions allow you to control the values and properties of the screen's attribute fields.
| Field Action | Description |
|---|---|
| Set Value | Assigns a specified value to an attribute field. |
| Set Empty | Clears the content of an attribute field, leaving it blank. |
| Set Visibility | Shows or hides an attribute field. Set to true to make the attribute visible, set to false to hide it. |
| Set Editable | Makes an attribute field editable or read-only. Set to true to allow editing, set to false to make it read-only. |
| Set Required Level | Sets the mandatory status of an attribute field:
|
| Focus | Sets the attribute field as the target for keyboard interaction, ensuring it receives keyboard inputs such as typing, arrow key navigation, or shortcuts. |
| Set Helper Text | Configures the hint text of the attribute field, allowing field-specific guidance or explanations to be displayed. |
| Remove Option | For list attributes based on option sets, removes an option set item from the selection list. |
| Reset Options | For list attributes based on option sets, restores all option set items that may have been previously removed. |
Logic actions allow you call endpoints, client-side app logic, or logic blocks.
| Logic Action | Description |
|---|---|
| Execute Endpoint | Calls a specific endpoint (see Endpoints). If the endpoint has predefined input parameters or output structure, an I/O Parameters field is displayed, allowing you to map attribute fields to specific inputs or outputs. |
| Call UI Logic Method | Calls a public method defined in the workflow's Application Logic. E.g.: Copy |
| Call Presenter Method | Calls a public method defined in the workflow's Presenter. E.g.: Copy |
| Call Logic Block | Triggers a workflow logic block from the same screen. |
Navigation actions allow you to refresh the current screen or redirect the user to a different destination within the platform.
Navigation actions are final actions. You cannot insert additional actions or conditional blocks in the executable logic after a navigation action.
| Navigation Action | Description |
|---|---|
| Reload Page | Reloads the current screen. |
| Navigate to Dashboard | Navigates to a specified dashboard (see Dashboards). |
| Navigate to Record | Opens a record referenced in the current screen in a specified form. |
| Go to Next Step | Advances to the next workflow step (equivalent to clicking the Next button in the user interface). |
| Go to Previous Step | Returns to the previous workflow step (equivalent to clicking the Back button in the user interface). |
| Stop Navigation | Closes the workflow. |
| Navigate to List | Opens a specified entity view (see Data Views). |
| Navigate Home | Navigates to the FintechOS Portal homepage. |
| Navigate to Custom Flow | Navigates to a specified custom flow (see Custom Flows). |
UI Actions allow you to manipulate the user interface or control UI behavior by showing or hiding loading screens, setting UI elements' properties, and displaying messages.
| UI Action | Description |
|---|---|
| Loading Panel | Shows or hides the loading screen animation. |
| Remove Edit Button | Removes the Edit button for an option set or lookup attribute field. This restricts users to only select preexisting values and prevents them from editing the option set or the related entity of the lookup attribute. |
| Set Step Read Only | Changes the read-only status of all attributes on the screen:
|
| Show Message | Displays one of the following message types:
|
| Set Button State | Configures if a button is interactive:
|
| Set Button Visibility | Configures if a button is visible in the user interface:
|
| Set Table Visibility | Configures if a table is visible in the user interface:
|
| Set Table Editable | Configures if a table can be edited by the user:
|
| Set Container Visibility | Configures if a container is visible in the user interface:
|
| Set Container Editable | Configures if a container's contents can be edited by the user:
|
Configure a Workflow Logic Block's Trigger(s)
A trigger is an event that causes a logic block’s executable logic to run. You can configure multiple triggers for each logic block.
To configure a trigger:
- In the Logic Block Designer, select the logic block by clicking its name in the left panel.
- Click the gear icon in the top-right corner of the screen to open the right panel.
- Fill in the sections in the Triggers & Functionality tab:
- Functionality: Optionally enter a description of the logic block's triggers and executable logic.
- Triggers - Data Change: Click +Add Data Change Trigger to run the executable logic when a specific attribute field is updated.
- Triggers - On Event: Click +Add On Event Trigger run the executable logic based on one of the following events:
- On Step Enter - Each time the screen is displayed and the screen's user interface is rendered.
- Before Go Next - Before advancing to the next step in the workflow.
- Before Go Previous - Before reverting to the previous step in the workflow.
- Before Save Data - Before the screen data is saved to the database (e.g., when clicking Next).
- After Data Refresh - After the screen state is loaded from the database.
- On Navigation Error - When a navigation action fails.
- Custom Event - A custom event (e.g. defined using a Button).
Preview the Workflow Logic Block's Code
The code underlying each logic block is generated automatically as you configure the block from the point-and-click interface. To view this code:
- In the Logic Block Designer, select the logic block by clicking its name in the left panel.
- Click the gear icon in the top-right corner of the Logic Block Designer to open the right panel.
- Select the Code Preview tab to display the generated code.
Review the Workflow Logic Block Triggers
To review the step's logic blocks grouped by their triggers:
- In the Logic Block Designer, click the gear icon in the top-right corner to open the right panel.
- Select the Triggers & Blocks tab to view all triggers configured for the form step, along with their associated logic blocks.