Help and Documentation
Workflows

Pulse Workflows

9min

Overview

Pulse workflows are triggered on changes to the pulses data. The Rootly platform is capable of receiving incoming code change events, known as pulses. These pulses are streamed in from a number of integrations (e.g. Github, Gitlab, etc.). You can leverage the power of workflows to auto pre-declare incidents, send Slack notifications, etc. from these pulses.

Pulse workflows are particularly useful for...

  • Auto pre-declaring incidents to prepare for potential outages caused by new code changes
  • Tracking code deployments in common team channels (e.g. #deployments, #infrastructure, #product)

Configuring an Pulse Workflow

Ensure Pulse are Flowing In

In order to use a pulse workflow, you must first ensure that you have pulses flowing into Rootly. See the Pulses page to learn more.

Getting Started

Follow the navigation below to begin configuring a pulse workflow.

Workflows > Create Workflow > Pulse

Document image


Set Trigger Event

There is only one trigger event available for pulse workflows. Select the Pulse Created option as the trigger event. This will cause the workflow to initiate as soon as a pulse is received in your Rootly organization.

Document image


Set Run Conditions

Pulse workflows have three properties that you condition off of.

Document image


Source

The source represents where the pulse originated from.

In the example above, the source condition will only pass if the pulse came from Github.

You can find the source of a pulse on the main Pulses page.

Document image


Label

Each pulse comes with a series of labels. The labels differ depending on the source (e.g an pulse from Github will have a different set of labels from a pulse from Gitlab). Pulse labels are stored as an array of values.

In the example above, the label condition will only pass if the pulse contains both the ref:refs/heads/master AND action:push labels.

You can find the labels for each pulse on the pulse details page. Configuration > Pulses > select a specific pulse.

Document image


Payload

Each pulse comes with a payload. The payload also differs depending on the source. Pulse payload is stored as a JSON structure. JSONPath syntax can be used to filter for a specific value within the payload. Ruby regular expression (regexp) can be used to match the value filtered via JSONPath.

In the example above, the payload condition will only pass if the id field (within the organization object in the payload) equals 12345678.

As with the label, you can also find the payload for each pulse on the pulse details page. Configuration > Pulses > select a specific pulse.

Document image


Set Actions

Unlike other types of workflows, the available actions in pulse workflows are fixed and not dependent on the integrated applications.

In the example below, the workflow will declare an incident in Rootly.

Document image


Support

If you need help or more information about this integration, please contact [email protected] or start a chat by navigating to Help > Chat with Us.