Conditional Processing or Execution Conditions gives you the power to decide if a particular action on PagerDuty 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.
We will take a scenario where you are using PagerDuty as the trigger application. There could be multiple application actions attached to be invoked upon receiving a PagerDuty trigger. Each of the actions in the flow would apply its own execution condition based on the data attributes of the PagerDuty 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 incident is created in the PagerDuty system. It has two actions, the first, Post Message action via Slack, and the second, Send Email action via Gmail.
When using PagerDuty as the trigger application, the following attributes will be available to you in all your application actions:
- Urgency - High or Low
- Created at - Incident created date
- Title - Title of the Incident
- Incident Number - The number of the incident (
In Figure 1 below, the action on Slack will be performed only if the Urgency of the Incident in PagerDuty trigger event equals to "High" and Title starts with "Demo".
Similarly in Figure 2 below, in the same workflow, an email from Gmail will only be sent if the Title of incident starts with "Joe".