Conditional Processing or Execution Conditions gives you the power to decide if a particular action on the application will be performed or not when the workflow is triggered by the incoming event. This is akin to the ability to apply 'if-then-else' logic to the execution of an action based on the value of 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 decide 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 types like a string, number, boolean, etc. Read here to find more about Conditional Processing.
At the time of defining action if you want to act depending on some criteria passed for trigger then you can use conditional processing.
We will take a scenario where you use Redis as a trigger application. There could be multiple application actions attached to be invoked upon receiving a Redis trigger. Each of the actions in the flow would apply its execution condition based on the data attributes of the Redis 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 key gets deleted in the Redis database. The attributes of the deleted key will be saved as an incident in ServiceNow.
When using Redis "Key Deleted" as the trigger application, the following attributes will be available to you in all your application actions:
- Port - Port is the Redis instance TCP port. By default, the Redis server is configured to run on the default port 6379.
- Database - Database is the Redis instance DB to use/select (numeric index). Redis provides 0-15 indexes for databases and the default value is 0.
- Operated On - The data type that the Redis database is operated On. Example: String, Lists, etc.
- Operation Type - Operation type is the Redis command used for the selected data type. Example: HSET
- Operation Result - Operation Result is the value returned from the Redis Command.
In Figure 1 below, the action on ServiceNow will perform if the