Google Calendar two way sync: How to create a new row inside the sync table and send it to gcal?

Hi there,

soo I’m finally asking my first question here: :sweat_smile:

We try to set up a room reservation system for around 10 rooms that is in sync with different google calendars. It should be possible to add new reservations and change existing ones either from the google calendar or from coda.

But while its incredibly easy to set up the so called 2-way-sync for gcal, sync events into coda and then provide them with extra columns and change information, its not possible to add new rows (events) from coda. So this 2-way-sync-table is impossible to be used as the source table within coda. -.-

Now i understand why creating a new row inside coda and then sync id to google would need more effort… But as the functionality is there (the pack includes the “create event button”) its really frustrating that this limitation just destroys the whole functioning…

So I wonder: is this going to be implemented? or is there a way to share the source code of the google calendar sync pack so I could try to implement it myself?) @Shaina_Torgerson ? (;

But as its currently not possible: What are the workarounds? I’ve tried to merge the local table and the google table into one, but the result is non-editable which makes no sense in here… Or is there a workaround to pre-create empty new entries on gcal that I could identify as so and somehow use a button to open and change them if needed? This is still not ideal as it wouldn’t be possible anymore i.E. in the calendar weekly view to easily create new entries just by dragging, but if there’s a button that “picks” you an entry and directly opens it, that would be ok I guess…

Or do you have any other ideas how to do this?

Thanks a lot for your support,
Jann

Hi Jann,

I’m not sure I understood your issue.

After you create an event with the ‘Create event’ button and you refresh your event table, doesn’t a new row appear with the newly created event?

Hi Pablo,

thanks for your reply. Hmm maybe i struggle with explaining my problem.

Because ideally i would not create an event with the create event button but as a row in coda. And I’m looking for workarounds to be able so, even if the sync pack is rn not allowing it.

If the row needs to be created via the “create event” button and then synced into coda i currently see some problems:

→ the user needs to wait until the table is synced again, which takes minutes for hundreds of gcal events… plus i need a button that first creates the event, triggers the sync, understands when the sync is done and then opens the new row?
→ its not anymore possible to have a form as source for the new entry

Hmm is it more clear what my problem is?

You can create a helper table with the necessary fields for the event and a ‘create event’ button. Create a form and an automation that presses the button when a form is submitted.

Syncing will remain an issue though, since you cannot trigger syncs with automations.

If you use the ‘create event’ button you can store the result in a column of a helper table and use it to modify it later. In that way you could create and reuse empty events.

A third option would be to use the helper table as the source of truth, and not the gcal table.

  • If an event is created via the form+button, then it is immediately available in your helper table even if the gcal table is not synced.
  • Create an automation so that when a new row is added to the gcal table, it checks if there is a row in the helper table with the same event id. If yes, then does nothing, if not it creates a new row in the helper table.
  • You can build automations/relations to make sure that both tables stay in sync.
2 Likes

Hi Pablo,

the 3rd option you propose sounds like the most interesting to me as it would keep all the coda functions available (like creating new events just by dragging inside the calendar).

Do you think automations can handle this amount of data on both tables? What is the best way to trigger the button to create or modify the sendtogcal action? The input sources are the form, but also several calendars and tables where you could add new events.

I don’t know your use-case and how many concurrent users you might have creating events at the same time. Just try it out and see how it behaves.

  • For creation, the easiest way is to use forms and ‘form submitted’ triggers.
  • For modification, ‘row modified’ triggers.
  • You can also implement a pseudo ‘row created’ trigger: use a ‘row changed’ trigger with a condition to only run if a helper boolean is false an the first action that sets the boolean to true. In that way the automation is not executed every time the row is modified but only the first time and thus behaves like a ‘row created’ trigger.

AFAIK the pseudo ‘row created’ approach is the only way to trigger automations out of recently added rows in sync tables, like the gcal one.

Your helper table should have ALL relevant columns duplicated. One set as editable values and the other formulaic, where you can decide to display the editable values or pull the information from the event depending on your use-case.

Hope this helps,

Pablo

1 Like