Using Data Across Steps
Getting data from one step to another is essential for building workflows. In fact, most workflow logic involves passing data between steps. Whether you're passing an email address from a form to a new email, using AI output to update a spreadsheet, or accessing nested CRM data, understanding Step Outputs is key to building effective automations.
What Are Step Outputs?
Step Outputs are the reusable data created by triggers and steps in your workflow. They appear as "pills" like
that you can reference in later steps.
Each pill shows:
The step number that created it (step #1 is always the Trigger)
The app logo where the data comes from (e.g., Gmail, HubSpot)
The data type (e.g., Email, Row, Contact)

The Basics
How Data Enters Your Workflow
Step Outputs are created in four main ways:
From Triggers - e.g., email addresses, subjects, attachments from an "email received" trigger
From Find Steps - e.g., CRM contacts matching a company name
From Actions - e.g., a newly created Google Sheets row
From AI Steps - e.g., extracted invoice amounts, dates, and vendor names
Understanding Data Types
Every field in a Step Output has a specific type (Text, Date, Number, URL, Email, File, or app-specific types like Contact or Subscription).
Why types matter: Relay.app uses types to ensure data flows correctly between steps. For example, a Gmail attachment field only accepts File types, and a "Scrape text from website" step expects a URL type.

Always Up-to-Date Data
A powerful feature: Step Outputs automatically fetch current data from the source app every time they're used—even if the underlying data changed after the trigger fired.
Example: If a calendar event's start time changes during a workflow with a "wait 5 days" step, referencing that start time later will show the updated value.
Benefits:
No need to re-fetch data with Find steps
Works seamlessly with Wait steps
Always reflects the current state of your data
Using Step Outputs in Your Workflow
Three Ways to Insert Data
You can reference Step Outputs in subsequent steps using any of these methods:
Text inputs - [+] button: Best for exploring available data and browsing all options
Text inputs - @ shortcut: Fastest method when you know what you're looking for
Typed inputs: Use the type-specific picker (e.g., date picker, contact picker) for automatic type safety



Accessing Specific Fields
When you need a specific field from a Step Output, it appears in the pill: 
Working with Nested Data
Step Outputs provide instant access to linked data at any depth—no extra lookup steps needed.
Nested levels are shown with a > symbol, like this: 
Real-world example: In a sales workflow triggered by a new deal in HubSpot, you can directly access:
Deal > Associated Contact > Email address - to send a personalized email
Deal > Associated Company > Industry - to route to the right team
Deal > Owner > Name - to notify the account manager
All without adding separate "Find Contact," "Find Company," or "Find User" steps.

Troubleshooting
Common Issue: Can't Find the Data I Need
Problem: You want to use data from a previous step, but it doesn't appear in the picker.
Example: You have a Slack message containing a URL, and you want to scrape it. But when you try to select the URL in the "Scrape text from website" step, nothing appears.
Why this happens: Relay.app enforces type matching for safety. The Slack message body is Text type, but the scraping step expects a URL type.
Solution: Use an AI step or data transformation to extract the URL from the text first. Once you have a proper URL type, it will appear in the picker.
Inspecting Available Data
To see all fields available in a Step Output:
Open the step configuration dialog that created the output
Look at the Output section at the bottom
Click the Step Output pill to explore its structure

Next Steps
Ready to build more complex workflows?
Find Steps - Search for specific data in your connected apps
Lists and Arrays - Handle multiple items at once with loops and filters
Transform Data - Convert between data formats and manipulate values
Inspecting Run Data - Debug workflows by examining actual data from runs
Last updated
Was this helpful?