Skip to main content
Skip table of contents

Referencing Action Outputs

You can reference the output of certain actions in subsequent actions within a workflow.

It is recommended to review the Data Pipeline Overview first, as this page references topics and terminology from that page.

The Data Pipeline

Referencing Previous Data

All data on the data pipeline can be accessed from within the input top-level object. input is guaranteed to exist, and is guaranteed to always be an object (input cannot be an array or a primitive type).

For example, if your data pipeline looked like this, after running the IQA and HTTP actions:

JSON
{
  "myIqaData": [
    {
      "ID": "12345",
      "Name": "Alice Smith"
    },
    /* ... */
  ],
  "myHttpResponse": {
    "statusCode": 200,
    "headers": {
      "Server": [ "Apache" ],
      "Date": [ "Wed, 24 Jul 2024 20:25:07 GMT" ],
      "Content-Type": [ "text/html" ]
    },
    "body": {
      "success": true,
      "data": {
        "jobStatus": "OK",
        "recordsProcessed": 150,
        "errors": 0
      }
    }
  }
}

The following templates are valid in any subsequent actions, assuming that the expected data types are correct:

Template

Output

{{ input.myIqaData[0].ID }}

12345

{{ input.myHttpResponse.statusCode == 200 }}

true

{{ input.myHttpResponse.body.data.errors > 0 }}

false

{{ input.myHttpResponse.body.data.recordsProcessed }}

150

Some actions (such as the CSV and Delta Hashing actions) require arrays as input. For these actions, simply reference the array as a template. In the example above, to pass the myIqaData field into the CSV action, you would simply enter {{ input.myIqaData }} into the CSV action’s Input Array property.

Adding Data to the Pipeline

Some actions write new data to the data pipeline. These actions allow you to choose the top-level property name that will be written to. These fields are always decorated with { } to denote that this property will be written to the pipeline for subsequent actions.

image-20240724-212241.png

An example of an output property field that will write a new property with the specified name to the data pipeline.

In the screenshot above, if you specified the output property name as myHttpResult, your data pipeline might look like this after this action completes:

JSON
{
  /* ... previous properties from other actions ... */
  
  "myHttpResult": {
    /* ... new data that this action has written ... */
  }
}

If you specify an output property name, and that property already exists on the data pipeline, then that property will be overwritten.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.