Skip to main content
Best answer

Turn Zaps on/off based on a schedule that changes

  • 20 March 2023
  • 7 replies
  • 113 views

Hi! I have created different Zaps to handle various things for my company. I have figured out how to turn these Zaps on/off via another Zap.

The problem I can’t figure out how to solve: these Zaps need to be turned on and off on a daily schedule but what needs to be turned on will vary every day.

For example, tomorrow we need to turn on Zap A with all other Zaps off. However, the day after we may need to turn on Zap B or maybe Zap C (with the others off), or maybe keep Zap A on. And the day after that will be a different set of requirements. These requirements can be set up ahead of time in some kind of a calendar/schedule though.

I have looked at Airtable, Google Calendar, Excel but all of those seem to only trigger on when a new record/event is added. I just want some method of consulting a schedule for what needs to be turned on “today”. And I can’t figure out how to do this.

Any suggestions/pointers/RTFM appreciated - thanks!

This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

7 replies

Userlevel 7
Badge +8

Hi @aromweis 

 

What is the reason you need to turn on / off zaps on certain days? A simpler way would be to use Paths by Zapier for different workflow. 

 

BUT since this is what you need to do, there are several ways to do it: 

 

You can use Airtable to have 2 records, one of would be to turn on the zap and the other would be to turn off the zap(s). It would be a bit complicated though since you will have to change that on daily basis. 

 

You can use Schedule by Zapier as the trigger then use Airtable > Find Record action to find the Airtable record every day (it would be the same record) then use that to turn on the zap. 

Userlevel 7
Badge +14

@aromweis 

Good question.

Airtable Views can be used to trigger Zaps.

Views can have Filters. (e.g. Date = Today)

You could have separate rows to turn each desired Zap ON/OFF for a given Day.

You’ll need to get the Zap IDs to use in the Airtable Base to dynamically pass to the Zap to know which Zap to turn ON/OFF.

Userlevel 1

Hi MohSwellam,

Thanks for the quick reply! The big picture: my company is very small. I am trying to manage our after-hours on-call rotation (only 2-3 people). We use Slack and have multiple channels. However, after-hours support uses just one of the channels (Sev01). I have set up Zaps so that all posts to just the Sev01 channel get sent as SMS messages to our cell phones. That is working fine.

Our on-call schedule changes from week to week and is never the same pattern twice! So what I want is to daily consult “today” on a schedule to see who is on-call. And then only send those after-hours Sev01 posts to that on-call person by having only that person’s Zap turned on.

We’d like to set up this on-call schedule at least 1 week in advance. Updating every day is not workable.

I will take a look at Airtable’s Find Record. And also Paths. (I’ve been using Zapier about 2 weeks so any and all guidance very appreciated!)

We’ve looked at PagerDuty, Opsgenie etc but they are all too expensive for what we need or too cumbersome to set up.

Userlevel 7
Badge +9

I’ll drop some Paths resources below but also worth mentioning if this gets to be unwieldily you can also look into hiring a Zapier Expert to take this on for ya. 🙂

This one also looks like it could be somewhat related to what you’re looking to achieve: 

Definitely keep us posted how this is going for you!

Userlevel 1

Hi and thanks so much for these wonderfully informative suggestions @Troy Tessalone  @christina.d   @MohSwellam !

What I wound up doing:

Trigger = daily at 7PM using Schedule by Zapier

Action = Find Record in Airtable that accesses a Filtered Grid View (filtered for “today”), search term of Name!=”” => this returns the name of person on call that day

Action = Paths (what a great thing these are!) with 3 branches, very simple text match on the name from the previous step, and whatever branch matches is whose Zap gets turned on (using Zapier Manager - Zap name is hardcoded in that branch to make life easier)

It all works just fine so many thanks again!

As an aside, I initially tried to make a more generic logic flow without using Paths. I got the on-call name from Airtable as above, and then tried using Find Zap in Zapier Manager to locate that person’s Zap. Although I could see in the testing step that Find Zap did figure out the correct target Zap, when I tried passing that output to Turn Zap On/Off in Zapier Manager, that Action always errored out that it couldn’t turn off the Zap. I wonder if that’s where I’d need the Zap ID mentioned by Troy? I abandoned that algorithm for the more straight-forward way above. What we need to do is pretty simple so hard-coding is fine.

 

 

Userlevel 1

I was hoping to be able to mark all the answers here as Best Answer because they all contributed great info and to give credit where it is due, but it seems I can only mark one. If either of you @Troy Tessalone  @christina.d  @MohSwellam know how to mark multiple Best Answers, please let me know!

Userlevel 7
Badge +9

🔥🔥🔥

This is awesome and way to build it so fast!

We appreciate you looping back around to share your solution here too - spreading the knowledge around is such a win. 

Thanks for bringing this to community and happy zapping!⚡️