Hello! I found a few other posts on this topic, but none that contained a solution, so trying again. I have created an operational calendar in Airtable, which I would like to sync with my organization’s Google Calendar. As far as I have found, there are two ways to do this: by creating a calendar in GCal from the Airtable URL, or by using Zapier. I’ve tested both methods and they both work well initially. But neither one seems to handle updates well. With the URL method, there can be a lag of up to 24 hours to show updates. With Zapier, you can only create a new calendar event when the Airtable record is updated, rather than updating the existing calendar event.
Has anyone found a workaround or a better solution?
Hi Anna! The complexity of the solution here would depend on whether or not you need to sync the events in both directions (GCal to Airtable & vice versa). Both can be accomplished, however. If Zapier has limitations when it comes to event triggers/actions, you can usually accomplish what you want using something like Integromat (steeper learning curve) or Pipedream (developer-centric). In both cases, you’ll likely want to store the Google Calendar event ID in Airtable to facilitate looking it up for subsequent updates, etc.
“Airtable’s Automations have triggers for creating/updating Google Calendar events from Airtable records and/or the other way around. Updating events through Automations should be much faster than using iCal links:”
Thanks for the response, Kamille! I had seen the automations for creating/updating Airtable records from Google Calendar events, but I don’t see the opposite (creating/updating Google Calendar events from Airtable records). Does this exist? If so, any details you could share would be appreciated!
Yes. There are both Triggers and Actions for “Update event” and “Create event”. That means you can push edits from Google Calendar into airtable (Google trigger, Airtable action), and you can push edits in Airtable back to Google Calendar (Airtable trigger, Google action).
You will need multiple Automations to do this though (because you need different triggers).
No problem. I would definitely investigate the Google Calendar triggers first as Kamille suggested as I completely forgot about that option to be honest. The last time I did something like this that wasn’t available, so that would definitely be the first thing to look into. I would only look at the other options if you run into any limitations with the built-in Airtable functionality.
Mind blown. Thank you!
EDIT: Like the other two solutions, Automations works great for creating new events, but not so great for updates - as @Jonathan_Lutz suggested, I think the key is getting the Google Event ID back into Airtable when the event is created to use for future updates. From my research so far that’s not so easy to engineer (probably why Zapier doesn’t support it) - but I’m going to keep trying!
I’d be surprised if Zapier doesn’t return the event ID of the newly created calendar event after calling the method, as that’s what the Google API returns. I know it’s possible to get this information in Integromat for sure. But as you noted, you definitely need the event ID from the response of the create event action in order to send it as a parameter into subsequent update actions.