Skip to main content

Hello,

I’ve been experimenting with the “Always run” option since Zapier introduced sequential Path execution, and noticed that previous branch outputs aren’t available in the “Always run” branch. Here’s a workaround I found useful.

Use the Storage action to temporarily save data for later use. The challenge is that Storage is shared across all Zaps, which can cause concurrency issues. To avoid this, use the Zap Run ID as the storage key.

Since Storage keys are limited to 32 characters and Run IDs have 36 (including hyphens), you can shorten them using a Formatter step to fit the limit.

 

In each branch:

  • Add a Storage action with event “Set child value.”

  • Use the Formatter result as the key and store any needed values as children.

 

In the “Always run” branch:

  • Add a Storage action with “Get value.”

  • Pass the same key to retrieve all saved child values.

 

In next steps you can retrieve those values.

IMPORTANT NOTE: When referencing them later, use the outputs that are preceded by the word “Value” (green) — NOT the alphanumeric ones (orange).

 

Finally, use another Storage action with “Remove value” to clean up stored data.

 

This is how a minimum implementation would look like.

 


 

What do you think? Do you have any other ways to deal with this? If so, would you mind sharing them and discuss how would you do more efficiently?

Love this ​@Declarando - such a clever approach! Thank you so much for taking the time document and share this with the Community. 🧡