Subflow Overview

Work with subflows by clicking Automation > Subflows in the lefthand Navigation pane to display the Subflows page.

A subflow is a sequence of runbook nodes that execute a discrete runbook activity and that can be saved as an independent reusable component for inclusion in other runbooks. This makes a subflow a convenient means of implementing a common runbook operation once and including it in different runbooks where it's useful. For example, you could create a subflow to acquire the top traffic generating applications in the network, and reuse that subflow in multiple runbooks in which that application data is meaningful.

This image shows a built-in Subflow node (Parse Aternity Service Desk Alert) used in an Incident runbook:

This image shows that same subflow open in the Subflow Editor:

[Image: Subflow in the Subflow Editor]

Subflows can be used in any type of runbook (Incident, On-Demand, or Lifecycle), and a single subflow can be used interchangeably across multiple runbook types, if the nodes it includes are valid for each of the types. The subflow is validated for the runbook type in the context of the nodes that precede it and follow it in the runbook definition.

Subflows have version numbers (major.minor) associated with them to help you track the progression of changes to the subflow definition and recognize exactly which version is used in a runbook or an integration. This is useful for tracking changes to Riverbed IQ's built-in subflows as well as your own custom subflows. When a subflow is used in a runbook, the Runbook Editor shows that subflow's version in the subflow node's configuration blade. When you change a subflow's definition, the changes will take effect in every runbook in which that subflow is used, though the method for updating the runbook varies depending on whether the change is minor or major. The criteria for what constitutes a major revision vs. a minor revision are subjective, and for your own custom subflows, you'll need to define the criteria to differentiate the two. Separate from the definition of what makes a major change or a minor change is the effect that major and minor changes have on existing subflows.

Subflow Use Case Examples

Some examples of use cases for subflows are:

  • Create ServiceNow ticket.

  • Create a complex async query to Aternity remediation service

  • Check whether a problem is server or network related

  • Get a list of interfaces traversed by an app, with their actual utilization

  • Parse Aternity webhook payload

  • Display a time series with analysis (peak, outlier etc)

  • Get the top apps in the network

Built-In Subflows

Riverbed IQ provides a number of subflows as part of the product. They are listed on the Subflows page, in the Built-In tab, with corresponding descriptions.

Including a Subflow In a Runbook

Add an existing subflow to a runbook as a Subflow node. Choose an existing subflow node in the Subflows category of the Node palette and drag it to desired place on the Runbook canvas. If the subflow definition is not valid for the nodes that you try to attach to, Riverbed IQ will notify you that the subflow cannot be connected.

When working with a runbook, the subflow node in the Node palette and the Subflow menu under the plus icon will always use the latest version. You cannot add an older major version to the runbook. As a result:

  • You can't go back to an earlier working version in case the new major version is corrupted and is not working as expected.

  • You can't add the same subflow node in an existing runbook that uses an older major version of a subflow.

Editing an Existing Subflow

The Subflow Editor behaves the same as the Runbook Editor. You can select a subflow in a Runbook definition to edit the subflow definition in context.

Editing Subflow Versions

For a subflow that has multiple existing versions, clicking the ... menu provides options for Edit Older Versions and Delete Older Versions. Choosing one of these enables you to select a specific older version to work with.

When you save a subflow that you've edited, the Save Subflow dialog appears:

  • Name — Type or replace the subflow's name. Renaming a subflow does not affect older versions of the same subflow, meaning that the same subflow can have different names in different versions.

  • Version Update — Select a radio button to indicate how the subflow's version number should be incremented by this change: None (the default), Minor, or Major.
    Note:

    • Saving a new minor version will cause any runbook that uses the subflow at the same major version to update automatically.

    • Saving a major version will require any runbook that uses the subflow to be updated manually.

  • Description — Type information about the subflow.

Note: Duplicating a subflow creates a new subflow with version 1.0.0.

Exporting and Importing Subflow Definitions

You can export and import subflow definitions via JSON file.

The subflow version is stored in the exported definition. When importing a subflow, Riverbed IQ will determine if there is a higher version, already, in which case it will reject the import and notify you that a more recent version of the subflow exists already.

Deleting a Subflow

You can delete a subflow only if it is not used by any Runbooks. Select a subflow on the Subflows page and click Delete. If the subflow is used by any Runbooks, Riverbed IQ will warn you and prevent you from completing the action. Deleting a subflow removes all versions of that subflow, not only the latest or selected version.

Updating a Subflow to a New Version

Updating Built-In Subflows to a New Version

For built-in subflows:

  • When a new minor version of a built-in subflow becomes available, any runbook that uses it will update automatically to include the new minor version.

  • When a new major version of a built-in subflow becomes available, you will need to manually update any runbook that uses it to include the new major version. Riverbed IQ will tag each affected runbook in the relevant page (Incident Runbooks, On-Demand Runbooks, Lifecycle Runbooks) with a warning. You can update the subflow by editing the Subflow node and clicking the Update button in the Subflow node editor, or you can delete the Subflow node and replace it, which will use the latest version automatically.

Updating Custom Subflows to a New Version

Duplicating a subflow will create a new subflow with version 1.0.0.

Renaming a subflow does not affect older versions of the same subflow, meaning that the same subflow can have different names in different versions.

Updating Integrations to a New Subflow Version

When a subflow is used in an integration, you'll need to take action to update the subflow if its version changes:

  • When a new minor version of a subflow is available and the integration is already installed, the integration will be marked with “Update available,” and you'll need to click the Update button to replace the subflow with the latest minor version. Any runbooks that use that subflow will update to use that latest minor version automatically.

  • When a new major version of a subflow is available, the integration will be listed in the Integration Library's Available tab, even if an earlier major integration is installed already. You will need to re-enable the integration to use the updated major version of the subflow.