Skip to main content

I have a Zap that copies event from Google Calendar A to Google Calender B when an event is created or updated in A. The problem is that when an event is updated in A I want the existing copy of the event in B to be replaced (Or deleted and then created from scratch - whatever is easiest. Basically I want to emulate the behaviour when you manually create an event in your Google Calender and then later on changes something in it) but instead Zapier just creates a new event while leave the existing event as is. This means that I end up with a lot of duplicate events.

I see several ways to achieve this but they all have their issues or problems I don’t understand.

I start with a New or Updated Event in Google Calendar trigger. I then use the Path by Zapier:

 

The steps in A looks like this:

 

 

Here it start to get confusing:

The option “Create Google Calendar Event if it doesn’t exist yet?” maybe already covers my use case? Can I use that and skip the Path-step?

 

Is this the right way to manipulate the event found in step 4?

 

Specifically, what do you say about this:

 

 

Should I use it like this or should I add a Search step?

 

This is all super confusing. I am decent developer with 15+ years of experience but it feels like I am missing some fundamental concept or principle here. I can’t be the first one to want handle updates to an existing event by updating the copy of the event rather than creating duplicates!? Why is it so difficult?

 

(In the Zap I, at the moment, actually use I have added the UID of the event in cal A to the description of the event in cal B. I have verified that events in A keep the same UID when they are updated so I should be able to find the event in cal B by using the UID of the event in cal A.)

Hi @dbo 

You can employ a google sheet or storage by zapier to save Event ID from Calendar A and Calendar B so that you know which one to delete and which one to update. The zap structure should be like this:

  • Trigger: New or Updated event 
  • Action: Search in Google sheet (that you use as a database)
  • use path here
  • path A: If exist in sheet > Delete event using id from Google sheet > create a new event in cal B > create/update google sheet database entry
  • path B: If doesnt exist > create a new event in cal B > create google sheet database entry