Today I once again faced the fact that a meeting in one calendar was not displayed as a busy time in another calendar; thus, I had 2 invites for the same time in 2 calendars. I also have a personal calendar, which I also use, and it’s not very cool when someone makes an invite for the time when you have to visit the dentist.
I tried to find a normal solution, but I couldn’t find anything, so I made a simple doxy with an app script: http://bit.ly/BusyCalendar
All other calendars must be shared on the main calendar, to which you want to add occupied slots, and you will actually need to execute the script under the user who will add all the calendars to the calendar.
- Copy the spreadsheet to your account and rename it, the way you’ll find it later.
- In column “A” add all the calendars you need to copy the “Busy” status.
- In column “B” add the calendars, where to add the “Busy” slots.
- In column “C” we set how many days ahead to review.
- Press the button “Test run” – accept the permissions, because this is a simple script, then it will still swear, which is unsafe.
- Check the calendar. The events should have “shadows.”
- Press the “Create trigger” button – the script will be executed every hour.
What’s under the hood: the script goes through the calendars, checks up all events, except those with “Busy from” in the name or declined. It creates an “uninformative” event in the required calendars, just so that it is reflected that the user is busy at this time. Accordingly, if the calendar is shared, then a refusal will automatically come, or it will automatically be reflected for the shared calendar.
The trigger checks the future once an hour and creates it for all meetings that do not yet have a corresponding “shadow.”