Workflow Basics
A workflow requires a defined scope, frequency, and action in order to run.
The scope of the workflow includes the trigger for what initiates the workflow, and additional conditions to be met along with that trigger.
The frequency of the workflow defaults to “once per incident” but can also be set to occur every time the conditions and/or trigger for the workflow are met.
The action is the meat and potatoes of the workflow, or thing you’re creating a workflow to automate.
Scope
When should the workflow run?
Scope controls when a workflow will be executed. The scope is comprised of a trigger and zero or more conditions. The scope of the workflow includes Triggers and Conditions needed to execute the workflow.
Triggers
Triggers are events in the system. For example, Incident Opened is fired when someone opens a new Jeli incident, whether from the Jeli app for Slack or from the API.
Jeli supports the following triggers:
Incident opened (sent when an incident is opened by any means)
Incident closed
Severity changed
Stage changed
Conditions
Conditions consist of an Incident Dimension and a conditional operator. Incident dimensions refer to the various fields on a Jeli Incident. These fields can be compared using a conditional operator to determine whether a workflow should run.
Incident dimensions:
Severity
Stage
Type
Incident Name
Incident Roles
Incident Roles, Severity, and Types can be customized in Settings under Incident Response.
Operators:
These vary based on the selected dimension.
is / is not
Check if the given dimension is equal or not equal to one of the selected values.
ex: Severity is 0. The workflow will run based on the trigger + on the condition that the severity is set to 0.
is set / is not set
Check if the dimension exists on the incident or not.
ex: Communications Lead is not set. The workflow will run based on the trigger + on the condition that the Communications Lead role has not been set.
includes / does not include
Check if the dimension includes the substring. Matching will ignore case.
ex: Incident name includes down. The workflow will run based on the trigger + on the condition that the Incident Name includes the word “down”
How to add a new condition
Select
Add Condition
Select the incident dimension:
Severity
Stage
Type
Incident Name
Incident Roles
Select the operator:
is / is not
is set / is not set
includes / does not include
Provide relevant values for the selected incident dimension and operator.
Important: Each dimension can only be used once per workflow. Conditions are not required to create a workflow, but multiple dimensions per workflow are supported.
Frequency
The Frequency function lets you indicate how often you want the workflow to run. There are two options:
Once per incident
Every match, in other words – every time the scope is met
Once per incident
Recommended to use this frequency with the triggers of Incident Opened / Incident Closed
For example:
Name: Sev 0 Creation email notification
Trigger: Incident Opened
Conditions: Severity is 0
Frequency: run once per Incident
Action: Send email to engdirectors@company.com
Every match
Runs every time scope is met (trigger + conditions). Recommended to use this frequency with the triggers of Severity Change / Stage Changed
For example:
Name: Update Support on Incident Stage
Trigger: Stage Changed
Conditions: Type is Customer Facing, Severity is 0
Frequency: every time scope is met
Action: Send message to a channel #support-oncall
Actions
These are the actions the workflow can take when the scope is met. Actions have no limits on duplicates, you can send a different message to different users from the same workflow. Each action will have additional information you need to add, such as the email address and message for the “send email” action.
Important: Workflows must have at least one action to be enabled.
Types of actions
Slack
Send message
Send direct message
Send ephemeral message
Invite users
Invite user groups
Archive Incident channel
Add broadcast channel
Email
Send email
Pagerduty
Trigger Pagerduty incident via Event API
Dynamic variables
Reference variables from the current Incident.
For example, sending a direct message to the Incident Lead without hardcoding the user.
How to add actions to your workflow
Select
Add action
Select desired action from drop down
Provide relevant values for the selected action.
Frequently Asked Questions
1) How do workflows work behind the scenes?
Workflows are evaluated concurrently based on the trigger. Conditions are evaluated one at a time for a given workflow, halting if any evaluated false. Conditions are effectively “ANDed” together. Actions for a given workflow are executed serially and will not halt if one fails. Some actions may send a message to the incident channel to notify responders that an automated action has been taken.
2) Are there any limitations with workflows? If so, what are they?
There are some things to be aware of with this beta feature.
Actions are not guaranteed to run in certain situations. For example, sending a message to a role that is not currently assigned. Use conditions to scope the workflow to ensure the role is assigned.
Workflows run after most other automatic steps right now.