Overview of Workflows

Understand that different features and functionality that can be used when building a workflow in Jeli.

Lesleanne Blakeley avatar
Written by Lesleanne Blakeley
Updated over a week ago

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

  1. Select Add Condition

  2. Select the incident dimension:

    1. Severity

    2. Stage

    3. Type

    4. Incident Name

    5. Incident Roles

  3. Select the operator:

    1. is / is not

    2. is set / is not set

    3. includes / does not include

  4. 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:

  1. Once per incident

  2. 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

  1. Select Add action

  2. Select desired action from drop down

  3. 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?

  1. 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.

  2. Workflows run after most other automatic steps right now.

Did this answer your question?