Encoding processes using Workflows

Encoding processes using Workflows

Introducing workflows

Workflows allow you to automate certain actions and behaviours based on specific triggers. For example, incident.io can automatically invite users or user groups to a particular Slack channel when a specific custom field is set on an incident.

A diagram of an example workflow: the trigger to start the workflow is "Incident created or changed"; the trigger condition is the custom field "Incident Type" is "Data Breach"; and the steps to run are "Invite
A diagram of an example workflow: the trigger to start the workflow is "Incident created or changed"; the trigger condition is the custom field "Incident Type" is "Data Breach"; and the steps to run are "Invite @legal-team to the incident Slack channel" followed by "Start the 'Data Breach' decision flow".

Parts of a Workflow

Triggers: what should cause the workflow to run

Think of a trigger as something that happens to set off a chain of events. You can choose from the following pre-defined triggers:

  • an incident is created or changed
  • someone joins an incident channel
  • someone posts a message in an incident channel

Conditions: which incidents or users this workflow should run for

Conditions are a set of criteria which control when the workflow should actually run. If you don't set any conditions, the workflow will apply to all incidents/users.

For example, if you choose the "someone posts a message in an incident channel" trigger, and don't add any conditions, the workflow will run for every new message posted in the incident channel.

Depending on the workflow trigger, you can choose from a number of fields such as:

  • incident severity
  • incident role
  • incident status
  • user (where applicable)
  • content of a Slack message (where applicable)
  • any Custom Fields you've defined

An example condition might be invite a particular user group to an incident channel only if the severity is high, or the incident is of a certain type (ie, Data Breach).

Steps: what should happen when the workflow runs

These are the actions or behaviours which happen when the trigger fires and the criteria for the workflow are met.

A workflow can have one or more steps, which will be executed in order. These include:

  • Send a message to a Slack channel
  • Send a direct message to one or more users
  • Post an incident announcement in a Slack channel
  • Create incident actions
  • Create incident follow-ups
  • Prompt a Decision Flow
  • Invite a user or user group to the incident channel

Is there a step you'd like to see? Let us know in the Community Slack!

Viewing your workflows

The "Workflows" link on the top menu bar of the Web UI takes you to Workflows Home. This is where you can see - and make changes to - your organisation's workflows.

If you don't have any workflows yet, you'll see a list of templates that you can use to get started.

image

Under "Your Workflows" you'll see a list of the workflows your organisation has created. Click the workflow name to open detailed information, or make changes to the workflow directly with the "edit" and "delete" buttons to the right of each list item.

image

Creating a workflow

Getting started

From a template

From the Workflows Home page, find the top section with the heading "Templates".

💡

Click "Show more..." to display all the available templates.

In the template you want to set up, click "Start from this template".

image

You'll be taken to the "Create a Workflow" page, with the details already filled out.

From scratch

Create your own workflow from scratch by clicking "New workflow" in the top right-hand corner of Workflows Home.

image

You'll then be prompted to choose a trigger for the workflow. This is the event that needs to happen for the workflow to run.

image

Clicking one of these triggers will take you to a form where you can configure the workflow to your liking.

image

Configuring your workflow

Name

image

Give your workflow a name that describes what it does. We'll use this name in the list of workflows you see when you open Workflows Home, and we'll link back to it when your workflow posts in Slack.

image
image

Conditions

Here, you can choose the specific criteria that will control whether or not the workflow runs when the trigger fires. For example, you might want to only run the workflow for incidents with a particular severity, or incidents where you're the incident lead.

image

If you don't add any conditions, the workflow will run for all incidents (and if your trigger involves users, e.g. "when someone joins an incident", it will run for all users).

Click the "Add condition" button to add a new condition.

In the dialog that appears, click the dropdown "Filter by..." to pick the entity you want to filter on for this condition.

image

Pick the entity you want to filter on, and then a second dropdown menu will appear that you can use to select the comparison operator for the condition. The options you get will depend on the entity you've selected, but might include is set/is not set, contains, or is one of/is not one of.

image

Once you've chosen the comparison operator, a third dropdown may appear for you to choose a value for the condition.

Not all operators support values - for example, is set or is not set is a simple true or false value, so you won't be able to choose a value for that.

is one of and is not one of operators will give you a list of values to choose from: you can choose as many as you like.

image

Steps

Steps are the tasks that the workflow will execute when the conditions are matched. For example, they might include posting a message or inviting a Slack user to a particular Slack channel. You can add multiple steps to a workflow (maximum 20).

ℹ️

You need to add at least one step before you can save your workflow.

Click the "Add a step" button to add a new step to your workflow. In the dialog that appears, choose the step you want to add.

image

ℹ️

The "Escalate to PagerDuty" and/or "Escalate to OpsGenie" steps will only appear if you have either one of those integrations configured. You can configure integrations on the Settings > Integrations page.

You'll then be asked to configure the step you've chosen. The configuration options differ depending on the step.

For example, you might be able to choose a Slack channel or user, write a message, or select a Decision Flow to trigger.

Trigger options

If an option has a lightning bolt icon next to it, it's a special dynamic value that depends on the incident - for example, "Incident Slack channel" will be the Slack channel that incident.io creates for a given incident, and will be unique for each incident.

image

Saving your new workflow

Once you've finished adding steps, click the "Create" button at the bottom of the page. You'll be taken back to the Workflows hub, where you'll see your new workflow under the "Your workflows" heading.

image

Viewing workflow details

In the workflows hub, click the workflow name to go to the detail page for that workflow.

You can choose to edit or delete the workflow, or test it.

You'll also be able to see information about the last 5 runs of a workflow.

image

Testing a workflow

Testing a workflow will check that your steps work as you expect them to. Due to technical limitations, you can't currently test any workflow conditions.

Click the "Test" button at the top of the workflow.

image

Choose an incident to test a workflow against, and we'll run the workflow steps you selected. If the trigger involves a user, we'll ask you to select a user for the test as well.

ℹ️

You can use a test incident for this purpose.

For example, if you have a workflow that sends a direct message to a user who joins an incident channel, selecting a specific Slack user in the Test workflow dialog will send your workflow's message to that user once you click "Test". For this reason, we advise that you choose your own name!

image

We'll then run the workflow, and let you know whether everything worked as expected.

image

Make changes to an existing workflow

Click the Edit icon next to the workflow you want to edit.

image

image

Here, you can make changes to the name, conditions, and steps.

ℹ️

You can't change the workflow trigger - you'll need to delete the workflow and create a new one with a different trigger.

Click the "Save" button to save your changes. All future workflow runs will use the new configuration.

Delete a workflow

Click the "Delete" button to delete the workflow. Note that deleted workflows can't be restored, so make sure you're deleting the right one!