Question

Update Slack channel topic while there is a calendar event

  • 19 January 2023
  • 1 reply
  • 59 views

Userlevel 1

Our team wants to be able to set a red light/green light as the topic for a slack channel based on whether there is currently a meeting on the calendar

 

I was able to get this to work, but there’s an edge case where it doesn’t work.

 

My current Zap looks like:

  1. Trigger on event start
  2. Set channel topic to red-light
  3. Delay duration of evenet
  4. Set channel topic to green-light

The problem with this is in the event that there are concurrent events. E.g., a long event goes from 12 to 1, a short event goes from 12:15 to 12:45. My Zap would set red-light at 12, do so again at 12:15, but then green-light at 12:45 even though another event is still going on.

 

One possible way to fix my current Zap would be to have some way to check if there’s another, concurrent meeting, but I haven’t seen a way to do this.

 

How would I be able to set the status as red/green based on the if there is or isn’t a meeting on the calendar at any given time?


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

1 reply

Userlevel 7
Badge +11

Hey there @jseals!

Hmm, that’s a tricky one. You may need to store information about the duration of the meetings in a spreadsheet/database type of app like Google Sheets or Airtable.

I’m thinking you could then use a search action to to see if there is an event running currently. An easy way to do this would be to have a column that holds the status of the event as “Started” or “Ended”. Then after a Delay action (set to delay until the end of the event) have an Update Spreadsheet Row (Google Sheets) or Update Record (Airtable) action to mark the event in Google Sheets/Airtable as having “Ended”. Then you’d use a filter to check that the status is “Ended”. That way the Zap would only proceed to run if the current event has ended.

Having said that, that approach might not work so well if the second event lasts longer than the first event. In which case you may need to get the filter to compare the end date/time of both events. So if the end date/time of the second event is after the first, then you’d allow the Zap to continue.

Does that sound like it could work for you here?