Relay.app Docs
  • Getting Started
    • Introduction
    • Helpful Resources
    • FAQ
  • Triggers
    • Triggers 101
    • Webhook Trigger
    • Mailhook Trigger
    • Manual Trigger
    • Scheduled Trigger
    • Batch Triggers
    • RSS Trigger
  • Actions in Apps
    • Actions 101
  • DATA
    • Step Outputs
    • Find Steps
    • Lists (Arrays)
    • Inspecting Run Data
  • AI
    • AI Steps
    • Human-in-the-Loop AI reviews
    • AI Credits
    • Agentic Tool Use
    • Knowledge
    • Prompt Templates
    • Prompt Tips
    • Audio Transcription
  • Built-in actions
    • Transform data
    • Search Google
    • Scrape Text from Website
    • Custom HTTP Requests
    • Run Custom Code (JS)
  • Flow Control
    • Paths
    • Iterators
    • Wait steps
    • Sequences
  • Human-in-the-Loop
    • Human-in-the-Loop Steps
    • AI output reviews
    • Roles
  • Workflows
    • Folders and Organization
    • Sharing Workflows
    • Headings
    • Notes
  • TEMPLATES
    • About Workflow Templates
    • Using a Template (Importing)
    • Creating a Template (Exporting)
  • Workspace
    • Step & AI credit usage
    • Billing and Plans
    • Workspace administration
    • (Sharing) App Accounts
  • App-Specific FAQs
    • Airtable
    • Attio
    • Cal.com
    • Coda
    • DeepSeek
    • Discord
    • Fireflies
    • Gmail
    • Google Docs
    • Google Drive
    • Google Sheets
    • Microsoft Permissions
    • Microsoft Outlook Mail
    • Notion
    • OpenAI
    • OpenPhone
    • Slack
    • X (Twitter)
    • QuickBooks Online
Powered by GitBook
On this page
  • About Lists in Relay.app
  • 1. A Step Output representing a list of app objects
  • 2. A Step Output containing a (nested) field that's a list of items
  • 3. A Step Output containing a (nested) list of app objects
  • List Operations: using data from Lists
  • Iterators: perform actions for each item in a List
  • Unroll or Combine list data as Text
  • Using the Size of a List
  • Explicitly picking selecting the first item from a List

Was this helpful?

  1. DATA

Lists (Arrays)

Last updated 6 months ago

Was this helpful?

About Lists in Relay.app

Relay.app has various tools to perform operations on lists of data in your workflow. There are three common situations in which you might encounter lists.

1. A Step Output representing a list of app objects

For example, a List of Jira tickets obtained through a by configuring it to return All matching issues in a list.

The Step Output pill will contain a badge with three horizontal lines on top of the app icon, to indicate it's a list of Issues, not just a single Issue

2. A Step Output containing a (nested) field that's a list of items

For example, a Step Output representing an Email object from Gmail contains a number of Lists:

  • Lists of recipients (one for the To-line and CC-lines)

  • A List of File Attachments

  • A List of Labels

Note: while [the structure of] every Email object contains these Lists, this doesn't mean that they contain data for every email. e.g. when an Email doesn't have any attachments, the List of Attachments is simply empty.

3. A Step Output containing a (nested) list of app objects

For example, a Deal object from HubSpot contains Lists of associated Compenies, Contacts, Tasks, and many others.

List Operations: using data from Lists

Iterators: perform actions for each item in a List

Unroll or Combine list data as Text

It's quite common to create (bulleted) lists in e.g. an Email body or a Notion page enumerating properties from items in a list.

The 'Unroll' feature lets you do this in multiline text inputs, and the 'Combine' feature for single-line text inputs.

Unroll List data using a custom template structure

Unrolling a List lets you specify a templated structure that will be repeated for each item in the list. For example, you can use this to create a bulleted list with key information about all currently open Jira issues.

Combine List data into a comma-separated list

The 'Combine' feature is similar to the 'Unroll' feature, except for that it's hard-coded to concatenate all values in the list separated by commas. You can use this in signle-line text inputs.

Using the Size of a List

Explicitly picking selecting the first item from a List

This is why Step Outputs for Lists will still show up in data pickers that only accept a single item. You'll see a 'First result' entry that lets you pick the very first result.

Iterators let you perform one or multiple actions for each item in a list. .

All Lists have a Size property. You may use this in a workflow to determine the number of items in the List, and define behavior accordingly. For example, by creating for cases where the List contains 0, 1 or multiple items.

While in the majority of cases you'll want to wrap an around a list, there may be cases when you want to explicitly pick the first item from a list to perform an action on. For example, your CRM might let you add multiple 'Associated Companies' to a Deal, even though you're only ever adding one at most. In that case, you can probably just use the 'first result'.

Learn more here
Paths
Iterator
Find Step
A Step Output representing a list of app objects
A Step Output containing a (nested) field that's a list of items
A Step Output containing a (nested) list of app objects
Example of a Step Output representing a list of objects (Jira issues)
Example of a Step Output containing lists of items (an Email containing Attachments, recipients and Labels)
Example of a Step Output containing lists of other app objects items (a HubSpot Deal containing associated Companies)
Multi-line Text inputs let you "unroll" List data using custom template structures
Single-line Text inputs let you combine List data into a comma-separated string
Example of a Lis 'Unroll', creating a bullet structure that lists out key details for all currently open Jira issues
The 'Size' property of a List may be used to determine how many items are in a list during a Run
Uploading the first attachment in an email to Dropbox
Adding a comment to the first Jira Issue from a list of Issues