---
title: Passing Data Between Steps
description: "When a step runs, it optionally outputs data that can be used as input for subsequent steps. For example, an SFTP List Files step will output an array of file names: An SFTP Get File step will output"
---

[Skip to content](https://support.resnet.ai/migration/passing-data-between-steps#main-content)

English

Show submenu for translations

![](https://support.resnet.ai/hs-fs/hubfs/primary_logo%20(1).jpg?width=6782&height=2762&name=primary_logo%20(1).jpg)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- Contact us

 Contact us

 How can we help you?

- There are no suggestions because the search field is empty.

1. [SUPPORT CENTER](https://support.resnet.ai/migration?hsLang=en)
2. [Workflow Automation](https://support.resnet.ai/migration/workflow-automation?hsLang=en)
3. [Build Integrations](https://support.resnet.ai/migration/workflow-automation?hsLang=en#build-integrations)

# Passing Data Between Steps

#### Step outputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#step-outputs>

When a step runs, it optionally outputs data that can be used as input for subsequent steps. For example, an SFTP **List Files** step will output an array of file names:

![Example of step outputs as a list in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/step-output-0.png)

An SFTP **Get File** step will output the contents of a file that it fetched from an SFTP server (in this case, an image):

![Example of step outputs as a file in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/step-output-1.png)

Outputs take one of three forms:

- A primitive value, like a **string**, **boolean value**, **number**, or **array** of primitives. A subsequent step that references this output will receive the string, boolean, number, or array as input.
- An **object**. An output might include multiple key-value pairs:
  
  ```
  { "key1": "value1", "key2": ["value2.0", "value2.1", "value2.2"] }
  ```
  
   

  You might see this after pulling JSON from an HTTP endpoint. Specific values from an object can be referenced as inputs using familiar JavaScript `.dot` and `["bracket"]` notation. Using the above as an example, if you wanted to access `value2.1` you could reference `results.key2[1]`.
- A **binary file**. Binary file outputs contain a combination of a file `Buffer` and in indicator of content type (like `"image/png"`) in the form:
  
  ```
  {  "data": Buffer,  "contentType": String}
  ```

Note: an action can return a combination of JSON and binary file(s) if properties of the JSON object are objects with `data` and `contentType` properties.

**For More Information**: [Custom Component Action Results](https://prismatic.io/docs/custom-connectors/actions/#perform-function-return-values)

#### Configuring step inputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#configuring-step-inputs>

Once you have added a step to your integration, you will likely need to configure some inputs for that step. Inputs might include a RESTful URL endpoint, an S3 bucket name, a Slack webhook to invoke, or even a binary file like an image or PDF to upload or process.

Some inputs are required, and denoted with a `*` symbol, while others are optional.

Inputs can take one of four forms: **value**, **reference**, **config variable** or **template**. **Value** inputs are static strings, **reference** inputs reference the results of a previous step, **config variable** inputs reference a customer-specific config variable, and **template** inputs allow you to concatenate static strings, config variables, and step result references.

use the Join Lines action for multi-line input values

If you need to enter multiple lines of text for an input value, you can use the [Join Lines](https://prismatic.io/docs/components/text-manipulation/#join-lines) action to concatenate multiple lines of text into a single string.

![Join lines action in an input](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/join-lines-input.png)

### Value inputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#value-inputs>

A **value** is a simple string (perhaps a URL for an HTTP request). If you set a **value** for an input, that static value will be used as an input for all of your customers:

![Set input value in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/input-value.png)

### Reference inputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#reference-inputs>

A **reference** is a reference to the output of a previous step. For example, if a previous step pulls down a file from Amazon S3 and the step is named **Fetch my file**, then you can reference **Fetch my file** as in input for another step, and that subsequent step will be passed the file that **Fetch my file** returned.

Outputs from one step can be referenced by a subsequent step by referencing the previous step's **results** field. So, if a previous step returned an object - for example, if an **HTTP - GET** action pulled down some JSON reading `{ "firstKey": "firstvalue", "secondKey": "secondvalue" }` - you access that `firstvalue` property in a subsequent step's input by selecting the **HTTP - GET** step and choosing `results.firstKey` in your **Reference search**:

![Reference earlier step result as step input in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/input-reference.png)

### Config variable inputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#config-variable-inputs>

A **config variable** references one of the integration's config variables. For example, we can select a config variable, `CMS API Endpoint`, as an input for one of our steps. Config variables can be distinct for each customer, so each customer can be configured with a different `CMS API Endpoint`:

![Config variable inputs in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/input-config-var.png)

### Template inputs<https://prismatic.io/docs/integrations/low-code-integration-designer/passing-data-between-steps/#template-inputs>

Finally, a **template** is a combination of string values, config variables or step result references. You can concatenate several strings, config variables, and step results together to serve as a single input.

Templates are useful if an input needs to be templated out from various config variables and step results. For example, suppose you want to make an HTTP request to an API Endpoint that is stored as a config variable, and fetch an item whose ID was fetched in a previous step. You could combine the API endpoint, URL path, and product ID like this:

![Add template input in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/input-template.png)

A static string, like `/product?id=` can be intermixed with config variables and step result references.

You can add references to config variables or step results by clicking the **+** button.

![Template inputs in Prismatic app](https://prismatic.io/docs/img/integrations/low-code-integration-designer/passing-data-between-steps/input-template-add-reference.png)

- [ResNet For Field](https://support.resnet.ai/migration/resnet-for-field?hsLang=en)
- [ResNet For Office](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#main-content)

    - [Admin](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#admin)
    - [Home](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#home)
    - [Assets](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#assets)
    - [Issues](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#issues)
    - [Campaigns](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#campaigns)
    - [Resources](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#resources)
    - [Field Dispatch Console](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#field-dispatch-console)
    - [Gamification](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#gamification)
    - [Routes](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#routes)
    - [User Groups](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#user-groups)
    - [Credentials](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#credentials)
    - [Forms](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#forms)
    - [Admin Panel](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#admin-panel)
    - [Filtering](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#filtering)
    - [Custom Fields](https://support.resnet.ai/migration/resnet-for-office?hsLang=en#custom-fields)
- [Integrations](https://support.resnet.ai/migration/integrations?hsLang=en)
- [Release Notes](https://support.resnet.ai/migration/release-notes?hsLang=en#main-content)

    - [Feature Releases](https://support.resnet.ai/migration/release-notes?hsLang=en#feature-releases)
- [FAQs](https://support.resnet.ai/migration/faqs?hsLang=en)
- [Onboarding](https://support.resnet.ai/migration/onboarding?hsLang=en#main-content)

    - [Office](https://support.resnet.ai/migration/onboarding?hsLang=en#office)
    - [Field](https://support.resnet.ai/migration/onboarding?hsLang=en#field)
- [Workflow Automation](https://support.resnet.ai/migration/workflow-automation?hsLang=en#main-content)

    - [Build Integrations](https://support.resnet.ai/migration/workflow-automation?hsLang=en#build-integrations)
    - [Ready-to-use-components](https://support.resnet.ai/migration/workflow-automation?hsLang=en#ready-to-use-components)
    - [Example Workflows](https://support.resnet.ai/migration/workflow-automation?hsLang=en#example-workflows)
- [Documentation](https://support.resnet.ai/migration/documentation?hsLang=en)

[![](https://support.resnet.ai/hs-fs/hubfs/primary_logo%20(1).jpg?width=6782&height=2762&name=primary_logo%20(1).jpg)](https://support.resnet.ai/?hsLang=en)

<https://www.facebook.com/> <https://www.twitter.com/> <https://www.instagram.com/> <https://podcasts.apple.com/> [mailto:email@email.com](mailto:email@email.com)

Copyright © 2026, ResNet AI