Using Oomnitza Workflow Variables

Sam Peirce
Sam Peirce Administrator admin

Oomnitza's Fall 2021 release introduced the ability to add variables to workflows in order to temporarily store information during the execution of workflows, rather than requiring a custom field be created on the Oomnitza object. While there are countless uses of workflow variables, we've compiled a few example uses below.

Optimistic Locks

Some systems use Optimistic Locking (or Version Locking) to prevent unwanted changes from being made. This process essentially means you can only make changes to a specific version of an object to ensure that the object hasn't changed at the time the edit is made.

In Oomnitza, workflow variables can be used to store the version when making updates to systems that use this process. The general structure of these workflows are:

  1. Use an API Block to retrieve the Version of the device you wish to update, and store that value in a variable.
  2. Using a second workflow block, pass that variable to the API in order to make the update.

Connector Monitoring

In the connector monitoring workflow outlined here, we use custom fields on a location in order to store connector information and later use it for alerts. Workflow variables allow you to skip the step of storing the information on the location object and transfer directly from the first API block directly to the notification emails.

Workflow variables are useful in a number of processes like this where we care about the end result of data without caring about any intermediary steps.

Ticket Management

Workflow Variables can be used to store Ticket Identifiers during the execution of workflows. An API Block can be used to create a ticket in Jira and temporarily store the Ticket ID for downstream steps. Later steps during that workflow can then make further updates to the same ticket before closing it out, or leaving it open for a technician to close.

Simplified Information Validation

Variables can also be used to pass information to Conditional Threshold blocks for simplified validation and transformation. By passing a variable to a conditional threshold, you can simply or make possible actions that otherwise may require complicated Jinja2 expressions.


These are just a few examples of how workflow variables can be used. How do you plan to use them?