All day events to be "busy" by default

Viewed 565

I want my all day events in google calendar to be set as busy by default. How does one do that? Currently, when I have an "all day event" I am shown as available and I have to change it manually. How do I make it busy by default?

I am shown busy by default only when there is specific time set up. This looks all sorts of backwards to me!

1 Answers

You can achieve the functionality you are describing by using Apps Script.

You can make use of the Calendar Service to create a script and set the transparency property for the events from today to "opaque".

According to the documentation:

transparency - Whether the event blocks time on the calendar. Optional. Possible values are:

  • "opaque" - Default value. The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the Calendar UI.
  • "transparent" - The event does not block time on the calendar. This is equivalent to setting Show me as to Available in the Calendar UI.

And in order to call this script, you can create a time-driven trigger which will run every day, something similar to this:

function createTrigger() {
    ScriptApp.newTrigger("busyEvents")
        .timeBased()
        .atHour(12)
        .everyDays(1)
        .create();
}
Related