How to use multiple triggers for the same Zap (Sub-Zaps)

  • 5 May 2021
  • 5 replies
How to use multiple triggers for the same Zap (Sub-Zaps)
Userlevel 4

Have you ever found yourself making the same steps over and over in different Zaps? It’s honestly not a great use of time, but until recently it was the only way to get things done. 

But now with Sub-Zaps, you can build those steps once, then re-use them in any Zap! That way, you can spend more time on the interesting things in life, like learning how to cook a perfect medium-rare steak, or building a treehouse for your cats.

A Sub-Zap is basically a normal Zap, but instead of having a normal trigger, it’s triggered by a different Zap, then returns information back to that Zap in its last step. You can think of it almost as a custom Action step that you build yourself, and can use in any Zap you like.

When you’re making a Zap and want to add in a Sub-Zap, you’ll add an action as normal, but choose the “Sub-Zap by Zapier” app:


(view larger)

This will let you choose the “Call a Sub-Zap” action, and pick which Sub-Zap you want to use in this Zap. If you’re following this guide, you haven’t made one yet, so you’ll click the link to Create a Sub-Zap.

This will create a brand new Zap for you with the special “Start a Sub-Zap” trigger and “Return From a Sub-Zap” action. These are the basic building blocks for your Sub-Zap - any actions between these two will take place every time the Sub-Zap runs.

In my example, I’m using a dedicated Sub-Zap to capitalize all the letters in a single input. Let’s set up the trigger for that. You’ll want to put at least one Input / Argument into the list, since this is how we’ll send information over and return it later:


(view larger)

Next, we’ll want to add one or more actions after the trigger, but before the “Return from a Sub-Zap” step. In this case, I’m going to add a formatter that turns everything into Uppercase. Use one or more of the inputs from the trigger - if you need real sample data, go ahead and go back to your original Zap and test the “Call a Sub-Zap” action with real data. But otherwise, you can just use the generic sample date.

Here’s what my Formatter looks like with real data:


(view larger)

Once you’ve added all the actions you want to, go to the “Return from a Sub-Zap” action. This is where we set up the output of this Sub-Zap based on what happened in the previous steps. Mine is returning the output of the formatter as “Capitalized,” which you can see below:


(view larger)

Test this step and turn the Zap on, and now you’ve got yourself a functioning Sub-Zap! You can test the “Call a Sub-Zap” action again in the original Zap to get some real sample output from this, and use it in the other Zap:


(view larger)

And that’s all there is to it! It’s simple to set up, but it’s also extremely flexible. In this case, I’m calling the Sub-Zap from multiple forms and capitalizing a response, but you can put any action into a Sub-Zap. 

Another consequence of using Sub-Zaps is that it becomes much easier to make changes down the road. If you use the same Sub-Zap in 20 Zaps, then making a change means you only have to change 1 Zap and all 20 Zaps will operate differently. It could save you a lot of time! 

A Brief Video Showing the Process

One of my colleagues also put together a short (1 minute) video showing a similar usage of Sub-Zaps, if you’d like to take a look:




I hope this saves you time and gives you a chance to build even cooler Zaps! 


5 replies

Thanks!  Very helpful!


Mannie Greenspan

Greenspan Realty Consultants

Moderator Note: Email address removed.

I’m looking for something similar, but I want to pass an entire record of many fields from a board.

What Im actually trying to do is have a trigger based on just 2-3 column changes in Monday which will each set up a mapping of the changed field info, and then run a bunch of identical steps with the data from this mapped field as well as 30+ other columns.  



Userlevel 1


If you want multiple schedule triggers then check out Cronfree Time Scheduler


You can schedule triggers like:

Every month on the 11th, 21st at 1am, 4am and 7pm Eastern Time.

Userlevel 1

I am integrating Acuity with my CRM. For Acuity only one appointment type can be selected as trigger. How can I use the sub-zap to run the same CRM action for multiple appointment types? Is it possible?

We used to have Keap Classic, where I could select multiple tags to fire off one Zap - to update our records in our other CRM.

Now with the new Keap, we are unable to select multiple tags within one Zap. Would this “Sub-zap” allow for me to create multiple tags as triggers within one Zap?

If not, do you have any recommendations?

Thanks in advance.