Skip to main content

Use Variables and Data from Previous Whippy Workflow Steps

Map information from triggers and earlier steps into later workflow actions.

Written by Maria Cairns

Why it matters

Workflows become useful when data can move from one step to the next. A trigger might supply an email address, an app search might return a contact, and an AI action might create a summary. Variables let later steps use those exact values without copying data manually.

Key Concepts

  • Variable: A dynamic reference to data from a trigger or earlier step.

  • Input: The data a step receives.

  • Output: The data a step returns.

  • Sample Data: Test data that lets the builder show available fields.

  • Step Alias: A stable identifier used in a variable reference.

  • Nested Field: A value located inside an object or list.

  • Variable Picker: The builder control used to browse and insert available fields.

  • Formatter: An action that normalizes data before it is mapped downstream.

  • Fallback: A safe value or path used when the expected field is missing.

How Data Moves Through a Workflow

Each completed step can make data available to later steps. For example:

  1. An Email Parser trigger receives a message.

  2. A Formatter removes HTML from the body.

  3. An OpenAI action summarizes the cleaned text.

  4. A Slack action inserts the summary into a channel message.

The data does not need to be re-entered. Each later step references the output of the step before it.

Generate Sample Data First

The variable picker relies on known trigger fields and tested step output.

Step-by-Step: Prepare Variables

  1. Open the workflow draft.

  2. Test the trigger with representative data.

  3. Confirm the trigger shows the fields you need.

  4. Test the next action.

  5. Review its output.

  6. Continue testing from left to right.

  7. Open the later step where you want to insert a value.

  8. Open the variable picker.

  9. Browse the available earlier steps and fields.

If an earlier test changes its output structure, review every later mapping that depends on it.

Insert a Variable

Step-by-Step: Map a Field

  1. Open the step that needs dynamic data.

  2. Click the target field.

  3. Open the variable picker.

  4. Select the earlier trigger or step.

  5. Expand nested data where needed.

  6. Choose the exact field.

  7. Save the step.

  8. Test it with the inserted value.

  9. Confirm the test input resolves to the expected real value.

Prefer the variable picker over typing a reference manually. It reduces alias and field-path errors.

Understand Variable References

Workflow references identify a step and a location in that step’s data. Action output commonly follows a structure similar to step alias → output → data → field.

Trigger data may be exposed from its trigger input. The exact path depends on the selected trigger or action, so always copy the path shown by the builder or test output.

Do not assume that two app actions return the same shape, even if both work with similar records.

Work with Nested Objects and Lists

A returned value can be:

  • A simple value, such as a name or status

  • An object containing several fields

  • A collection containing several records

  • A file or attachment reference

  • A value nested several levels below the main output

Select the smallest field the next step expects. If a step needs to process every item in a collection, add a Loop Step and use the current loop item inside it.

Normalize Values with Formatter

Use Formatter when an earlier step returns usable information in the wrong shape.

Common examples:

  • Extract an email address from a value such as Jane Doe followed by an email address

  • Normalize a phone number to E.164

  • Convert a date into ISO-8601

  • Strip HTML from an email body

  • Map inconsistent source fields into stable output names

  • Convert XML into a mappable object

Step-by-Step: Prepare Data with Formatter

  1. Add Formatter after the source step.

  2. Select the preset.

  3. Insert the source variable.

  4. Configure the output format.

  5. Test the Formatter.

  6. Review its output fields.

  7. Use those output fields in later steps.

Handle Missing Data

Production payloads are not always identical to test samples. A field may be blank, optional, renamed, or absent.

To reduce failures:

  • Add a Filter Step before an action that requires the value.

  • Add a fallback path for missing or unexpected data.

  • Normalize optional data with Formatter or Code Step.

  • Test with a complete sample and an incomplete sample.

  • Avoid sending blank values into external required fields.

Update Step Names Carefully

Clear step names make variables easier to find. The underlying alias is used by references, so review downstream mappings after renaming or replacing a step.

Avoid duplicate or vague names such as “Action” or “Step 2.” Prefer names such as “Clean email body,” “Find Whippy contact,” or “Create Slack summary.”

Protect Sensitive Data

Only map data that the destination actually needs. Avoid copying credentials, tokens, full payloads, or sensitive personal information into logs or broad notification channels.

Before sending data to an AI or external app, confirm that the content and destination match your organization’s data-handling requirements.

Tips and Best Practices

  • Test steps from left to right.

  • Use realistic but safe sample data.

  • Insert variables with the picker.

  • Give steps clear, unique names.

  • Use Formatter to create stable fields.

  • Add filters before actions with required inputs.

  • Re-test downstream steps after changing an earlier output.

  • Map individual fields instead of an entire payload when possible.

  • Inspect a live Run Details view after publishing.

Troubleshooting

Issue

Possible Cause

Fix

No variables are available

The trigger or earlier action has not produced sample data

Test the earlier steps, then reopen the variable picker

A variable resolves to blank

The field is optional, missing, or mapped from the wrong path

Inspect the actual input and reselect the field from the picker

A nested value cannot be selected

The sample output does not contain that object or field

Test with a more representative sample or normalize it first

An action receives an object instead of text

The parent object was selected instead of one field

Select the nested text field or use Formatter

A later mapping broke after an edit

An earlier step’s alias or output structure changed

Retest the earlier step and recreate the affected mappings

A loop receives no items

The selected variable is not the collection field

Inspect the source output and map the exact list or array

Did this answer your question?