Best answer

Dynamically select a Google Calendar based on input text

  • 13 August 2021
  • 6 replies
  • 398 views

When working with Google Calendar, I am currently using a Conditionally Run (Path) by Zapier to essentially choose which calendar edit. Since the only difference between these paths is which calendar gets searched/updated and I have more than three calendars (and thus don’t want to have to manage a tree of branching paths to reach every calendar, I would like to select a calendar by matching text in the name.

I tried to use Formatter by Zappier to extract the appropriate Calendar name from input text, which worked fine.

I then tried, in the field where you select which calendar, to choose the formatted text under the custom tab, but this doesn’t work (errors even though I tried with multiple calendar and verified the text).

Is there a way I’m not seeing to dynamically search/match which google calender based on given text without relying on the “Conditionally Run …” / “Path” feature?

icon

Best answer by Jason(NLLMKK) 16 August 2021, 11:37

View original

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

6 replies

Userlevel 7
Badge +14

Hi @Jason(NLLMKK) 

Try using a Lookup Table.

Options

  1. Formatter > Utilities > Lookup Table: https://zapier.com/help/create/format/create-lookup-tables-in-zaps
  2. GSheets - Lookup Row
  3. Airtable - Find Record

Getting the calendar name is not the problem; my calendars and events are named such that a simple “Formatter > Text > Split Text” on the event name gives me the name of the appropriate calendar. 

The problem is with setting up the Google Calendar action. Under “Set Up Action” you have to select which calendar. To greatly simplify my Zap, I would like to the calendar whose name matches the output from the “Formatter > Text > Split Text” step.

When I try this by selecting “Custom > 2. Text” under “Set up action > Calendar (required)”, even if the text matches the calendar name exactly I get an error. Hence why I don’t know how to, or even if I can, dynamically choose which calendar based on its name or if I just have to continue to use a “Conditionally run” path to build essentially the same following actions over and over for each calendar. 

Apologies, the one piece I was missing was that it is necessary to use the Calendar ID.

I got the functionality I wanted by using the Lookup Table as suggested by @Troy Tessalone, but I will still have to come back and add/remove calendar Names and IDs from the list whenever we list/delist cars on Turo.

An Ideal solution would allow a Zap to simply load all calendar Names and associated Calendar IDs from the Google account into a list that could then be used with a lookup to get the correct ID.

Userlevel 7
Badge +11

Hey @Jason(NLLMKK),
 

That’s fantastic news! I’m so glad you were able to solve this using Troy’s suggestion of using a Formatter’s lookup table function and having it output the relevant ID for each Google Calendar. :)

I did want to also mention that if you’re needing to use this lookup table across multiple Zaps then it may be better to recreate the lookup table in a single Google Sheet. That way you can use a Lookup Spreadsheet Row action to search it using the calendar name and it will give you the corresponding ID.

This could also make the addition of new calendar names and IDs to the lookup table easier as you could potentially set up a Zap to trigger when a New Calendar is added in Google Calendar and then use a Create Spreadsheet Row step to automatically add it’s name and ID to the lookup table. If that’s something you’d be interested in setting up I’d recommend checking out the following articles that talk about creating lookup tables with Google Sheets:
 


 

Thanks @SamB, but It’s still not a great solution since I still have to maintain a list or spreadsheet of calendar names and IDs; data that Zapier pulls automatically from Google anyway to generate the calendar pop-up list while setting up a Google Calendar action.

If I already have the Calendar Name as text from a previous trigger or action, there should be a way to select the calendar by name matching, without having to maintain redundant data by hand to get the ID.

If not… #FeatureRequest ?

Userlevel 7
Badge +11

Ah yes, I see what you mean here @Jason(NLLMKK)

In order for the calendar to be dynamically selected we’d ideally use a Find Calendar search action which would search for the calendar by name to obtain the ID for the next step to use. Unfortunately, we don’t have a Find Calendar action with the Google Calendar integration but it looks as though we do have an existing feature request for this. 

I’ve added your vote for that action to be added to the Google Calendar integration. I’m unable to give an ETA on when that might be implemented but we will email you as soon as it is! :)