This block is responsible for making a decision based on some logic, for instance, it can ask 'is the price larger than 500?', which will give one out of the two answers, either a 'YES' or a 'NO', leading to different execution paths, e.g.:
This allows creating business logic that will contain some decision making. It's useful when you have some data, and depending on some condition, you want to have two separate paths to execute your logic.
How to use it? Just drag-and-drop the following into your diagram:
Then click the following button:
You will see an editor where you can create your decision expression. In the dialogue, you can drag-and-drop data fields from previous steps, and do a comparison operation, e.g.:
You can use the following comparison operators:
If your expression needs to perform several things, you will need to separate them either via AND or OR, e.g.:
You can also drag-and-drop the 'User' block into your expression:
What will happen after this block is executed? It will either take the 'Yes' or the 'No' path.
Possible Warnings: Sometimes you may use a data select as your field inside your 'Decision' expression. If that happens, you might see the following warning:
You can ignore this warning if you know that your data access block will only have 1 result. You can also ignore it, and the app will only use the first record from your data access block.
Each Decision block includes three connection points: Yes, No, and After. These determine the flow of your application based on the condition you define within the block.
The Yes and No paths are evaluated at runtime, depending on how the condition is configured.
The After path runs after either the Yes or No path finishes, but only if that path loops back to the Decision block.
To work correctly, the Yes path should connect to the Yes connector, execute its logic, and then return to the Decision block. The same rule applies to the No path: it should run its logic and reconnect to the Decision block afterward.
In most cases, both the Yes and No paths should return to the Decision block.
However, if you want to end the process at this point instead, you can connect either path directly to an End or Exit block.
The After connector is used to continue the flow after the decision is resolved. It only triggers after one of the Yes or No paths has executed and returned to the Decision block. So for each Decision block, you define either the Yes or No logic, and once that’s complete and loops back, the flow continues through the After connector.
What if only the Yes Path is defined? If you’ve configured logic for the Yes path but left the No path empty, and the platform expects both paths to be present, you can simply add a placeholder block to the No path. The platform only checks that both paths are connected, it doesn’t require complex logic on both sides. For example, you can use a simple Calculation block in the No path with something like 2 + 2 as its logic. This satisfies the requirement without affecting your overall flow.
Was this article helpful?
Got a question? Chat with Fenorri AI now!