Skip to content

Workflow Properties

One of the main benefits of a workflow is that it makes it possible to integrate unrelated applications. To do so, it gets data from one application, transforms it and then puts the data in another application.

UIP uses workflow properties to temporarily store data retrieved by a workflow step, so it can be used later by another step (or returned back, in case the workflow was started by another workflow).

A workflow property has a name and a value.

  • Name - identifies the property, so you can retrieve its value later
  • Value - specifies the value to hold in the property. The value can be plain text or a property expression

For workflow properties defined in the Start step, you specify a Default Value instead. When a workflow starts, it uses this default value as initial value. The default property value can be replaced with an input value from a trigger or another workflow that started the workflow. To do that, specify an input property with the same name in the trigger configuration or in the Start Workflow step configuration.

To change the value of one or more workflow properties, or to define new properties, use a Set step. Or, use the success and error output properties of a Start Workflow or Command step.

Adding a property with the same name as a previously defined property replaces the value of that property.

Note

Values of workflow properties are not shared between workflow instances, even when the instances belong to the same workflow. To share data, use an adapter such as Redis. Or, in case of workflows that start other workflows, have the started workflow return the data as output properties from its End step.

wfglobal Property

If multiple workflows or triggers need to reference a static value a Global Property can be configured by selecting the Global Properties button on the Workflows or Triggers page. Global properties can be referenced within a workflow or trigger using the syntax {wfglobal.propertyName}.

  • Name - identifies the property, so you can retrieve its value later. The name must be 1 to 32 characters and begin with a letter (a-z,A-Z) or underscore. The remaining characters can be a letter (a-z,A-Z), digit (0-9), underscore (_), period (.), or square bracket ([]).
  • Value - specifies the value to hold in the property. The value is optional with a maximum length of 4096 characters. It can be plain text or a property expression. Global property expressions are not expanded by default when a workflow starts. You must use the function GetValue('wfglobal.propertyName',true) to retrieve the expanded value.
  • Description - used as a tool-tip within the Autocomplete List while editing workflows and triggers.

The value of a global property can be overridden locally within a trigger or workflow instance, but the modified value will not be visible to other trigger or workflow instances.

wfresult Property

This workflow property is available to all workflows, but only after a Command or Start Workflow.

  • For a successful Command step, wfresult contains the predefined results of that command
  • For a failed Command step, wfresult contains:
    • the predefined results of that command, some of which may be empty
    • code - an error code. Error codes are specific to each adapter
    • error - the technical details about the error
    • message - a description of the error

Example

A Get command from the HttpRequest adapter fails due to missing authentication headers and returns the following JSON in the response body: { "errorMessage": "This endpoint requires authentication" }

The wfresult will contain the following data:
- wfresult.code: Error401
- wfresult.message: Unauthorized
- wfresult.status: 401
- wfresult.content.errorMessage: This endpoint requires authentication

  • For a successful Start Workflow step, wfresult contains the output properties of the target workflow, including success output properties
  • For a failed Start Workflow step, wfresult contains:
    • the output properties of the target workflow
    • the error output properties of the target workflow
    • error - the technical details about the error
    • message - a description of the error

The contents of the wfresult property is overwritten by each Command or Start Workflow step. It is a good idea to store the values you need in workflow properties. You can do this either by adding a Set step after the Command/Start Workflow step, or by assigning the properties as success or error output properties in the Command/Start Workflow step that returns the data you need.

wfsystem Property

This workflow property is always available to all workflows. It exposes the following information:

  • wfsystem.starttime - local time the workflow instance has started.
  • wfsystem.starttimeUTC - UTC time the workflow instance has started.