Subflow Overview
Navigate to the Subflows Page:
-
Click the Launchpad button ⁝⁝⁝.
-
Click AI Ops > Automations.
-
In the Management page, click the Hamburger Icon, then click Subflows.
A subflow
A reusable automation chunk that performs frequently used functions, such as opening a ticket in an external system, and can be used to implement integrations with third-party systems. is a sequence of runbook
An automated workflow that executes a series of steps or tasks in response to a triggered event, such as the detection of anomalous behavior generating an incident, a lifecycle event, or a manually executed runbook. nodes
Individual components that make up a runbook automation, each performing a specific function such as data queries, transformations, logic, integrations, or visualizations. 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 is useful. For example, you could create a subflow to acquire the top traffic generating applications
An entity type representing software applications deployed in the customer environment that are monitored for performance and anomalies. 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
A collection of one or more related triggers. Relationships that cause triggers to be combined into incidents include application, location, operating system, or a trigger by itself. 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
Shared Access Signature. A secure way to grant limited access to Azure storage resources without sharing storage account keys. A SAS token contains permissions and an expiration time.. This version numbering is useful for tracking changes to Riverbed IQ Ops'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 versus a minor revision are subjective, and for your own custom subflows, you will 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 Ops 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 Ops 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 cannot go back to an earlier working version in case the new major version is corrupted and is not working as expected.
-
You cannot 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 have 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.
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 Ops 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 Ops 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 Ops will tag each affected runbook in the relevant page (Incident Runbooks, On-Demand Runbooks, and 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 will 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 will 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.