Magento2x Conditionals¶
Conditional Processing or Execution Conditions gives you the power to decide if a particular action on Magento will be executed or not when the workflow is triggered by the incoming event. This is similar to the if-then-else logic applied to the execution of an action based on the attribute from the trigger event of the workflow.
Think of Conditional Processing as an equivalent of if-then-else, as decision diamond in the flow chart, or the Conditional Branching in BPEL (Business Process Execution Language).
You can add conditional processing to any action in your workflow and evaluate which actions should be performed in response to a particular trigger event identified by its characteristics or the data attributes. You can apply complex logic using AND, OR and grouping of such conditions. Each of the conditions supports different operators based on the event data type being a string (abc and/or 123), number (123), boolean (true/false) etc. Read here to find more about Conditional Processing.
Example Scenario¶
We will take a scenario where you are using Magento as the trigger application. There could be multiple application actions invoked upon receiving a Magento trigger. Each of the actions in the flow would apply its execution condition based on the data attributes of the Magento trigger event. This will allow each of the actions to independently choose to execute based on the defined execution conditions.
In this example, the workflow is triggered when a New Category
is added to the Magento application. It has two actions, the first action is that a new row will be added in Smartsheet and in the second action a new record will be created in MySQL.
When using Magento as the trigger application and entity as Categories
, the following attributes will be available to you in all your application actions:
- Name - Name of Category
- Is Active - Active Category or not?
- ID - Category ID
- Parent ID - Category parent ID
- Position - Category Position
- Level - Category Level
In Figure 1 below, the action on Smartsheet will only be carried out if Name
equals Electronic
.
Similarly in Figure 2 below, in the same workflow, a record will be created in MySQL only if property Name
equals Electronic
and property is Active
is set as true
.