4 min readUpdated Mar 2, 2026

workflowOutput Component Documentation

Overview

The workflowOutput component is designed to serve as a terminator node within Vantage's workflow system, facilitating the passage of data from one workflow to another with minimal transformation. Its primary role is to manage the output of data, utilizing a specified name (config.outputName) as metadata that can be leveraged by downstream selectors in the analytics pipeline. This is crucial in developing a smooth flow of information between interconnected workflows.

Purpose

The main purpose of workflowOutput is to ensure that data is passed through correctly and effectively from a preceding workflow to a subsequent workflow, maintaining metadata integrity for downstream processing. The component analyzes its input, and if appropriate data patterns are detected, it decomposes and retrieves the relevant data along with its metadata for further use.

Settings

The workflowOutput component includes a configuration setting named config.outputName. Below are the detailed explanations for this setting.

1. Setting: outputName

How It Works

When workflowOutput is invoked, it accepts an input encapsulated in the inputs object, particularly looking for inputs.input1. The logic flow is as follows:

  1. Input Validation: The function initially checks if rawData (the value of inputs.input1) is present. If it is absent, the function returns an empty dataset (data: []) and null metadata.

  2. Data Handling:

    • If rawData is an object, the function checks for specific structures:
      • If the structure matches { data: [...], metadata: {...} }, it extracts the data and metadata.
      • If it follows the { output1: { data: [...] } } pattern, it similarly extracts data and metadata from rawData.output1.
    • If rawData is an array or meets the above conditions, the function returns the corresponding datasets.
  3. Outputs: Finally, the function returns the data alongside the metadata, ready for subsequent processing in the analytics pipeline.

Expected Data

The workflowOutput component expects inputs.input1 to be structured in one of the following ways:

In the absence of a valid structure, the component will return an empty data output.

Use Cases & Examples

Use Cases

  1. Data Passing Between Workflows: A common scenario where multiple workflows are interconnected, necessitating seamless data transfer while preserving metadata for downstream processing.

  2. Dynamic Analytics Reporting: In an analytics dashboard, the report may require data from several workflows, necessitating the workflowOutput to standardize the data format for visualization components.

  3. Data Validation Prior to Final Output: Before finalizing a dataset for delivery, workflowOutput can serve as the last checkpoint to ensure the integrity and structure of the data being passed along.

Example Configuration

Consider a scenario where a company processes customer transactions in one workflow, and the outputs need to be sent to another reporting workflow. The configuration could be as follows:

json
{
  "inputs": {
    "input1": {
      "data": [
        {"id": 1, "amount": 150},
        {"id": 2, "amount": 200}
      ],
      "metadata": {
        "source": "transaction_service",
        "time_period": "Q1_2023"
      }
    }
  },
  "config": {
    "outputName": "CustomerTransactions"
  }
}

In this example:

Using workflowOutput, this configuration will ensure a smooth transition of transaction data between workflows within Vantage, retaining the necessary metadata for further processing or reporting.