Google Calendar two-way sync?

Hi, I'm fairly new to Appsheet and have been building an app for one of my teams at work.

One aspect is a "jobs" section where jobs can be booked, then progressed from "requested" to "confirmed" to "completed" and this is linked with a calendar.

I've successfully added a Google Calendar as a data source, and used the following method to get my app to add jobs to the calendar and also to delete then re-add job events to the calendar if the job date is altered in the app.:

https://dev.to/kevlatus/syncing-calendar-events-with-appsheet-5pm

What I'd like to happen is also the reverse: when a user edits a job date in the google calendar outside the app (i.e. on a PC or other device where they don't have acces to the app) then the date of the related job in the app is also changed.

I've tried playing with the input expression as per the following method:

https://www.googlecloudcommunity.com/gc/Tips-Tricks/Using-INPUT-to-update-another-table-using-a-valu...

But I can't figure out how to get the app to see edits to the calendar and trigger an edit to the date of that specific job in the app.

Is what I'm trying to do possible? Any help would be much appreciated. 

0 3 284
3 REPLIES 3

The integration with Google Calendar is.... rough to get working well.

The root of the problem stems from the fact that you can't add details to the G-Cal records like you want/need to, you can only affect the extremely basic options like date/time/attendee.

 - You do have the description field where you can put anything, but it's only one field; to be practical you really need more than that.

 

You'll want to include other bits of data along with the entry, and using G-Cal just doesn't give you that flexibility.

------------------------------------------------------

I advise using a regular google sheet for your calendar entries, and just display that in a calendar view.

 - If you're feeling up to the task, you could create an integration where you've got a Google Sheet for the main portions of the details for things, and a G-Cal entry is created to correspond with that record.

    - This way you have the best of both worlds 

But there's a lot involved in getting that to work.

Thanks for the reply. I've got it to a point where any adds, edits or deletes to jobs are properly reflected in the app GCal and the external GCal (viewed in a browser), and any edits to calendar entries within the app do trigger edits to both the external GCal events and to the related "Jobs" rows.

i.e. if I go into the calendar within the app and move a job to a different date, it updates the job row and the job is moved in the external GCal.

The only step I can't get to work is that if I go to the external Gcal in a browser and move a job to a different date, it updates in the app calendar but doesn't update the related job row (i.e. the external edit doesn't trigger as an "update" to the bot I have linked to the GCal table in the app).

I'm guessing some scripting may be required to make this work? For now, I'm relatively happy just keeping all the edits within the app and avoiding edits to the external GCal, but it would be nice to have it seamlessly sync edits made from all possible locations.

Yeah you'll need to create a script on the Gsheet that's watching the calendar; or something on the calendar (if that's possible, never looked into things from that route) to update the sheet.

Zapier is an easy fix

Top Labels in this Space