This is a Google App Script that helps sync your personal calendar to your work calendar automatically. All the events in your personal calendar will be synced as "Personal Busy Block" in your work calendar.
- Go to your personal calendar and Click on Settings
- Choose the calendar you want to share and Click on "Integrate Calendar"
- Copy the Calendar ID as your personal calendar id
- Click on "Share with specific people or groups", click the button "Add people and groups", Add the your work email. Choose "Make changes and manage sharing"
- Go to your work email, you will see an email informing you someone has shared a calendar with you. Click on the link on "Add this calendar" and accept the invitation.
- Go to your work calendar and Click on Settings. Choose the calendar you want to sync with and Click on "Integrate Calendar", save the Calendar ID as your work calendar id.
- Open a new tab in your browser, type "script.new" and press enter. This step will help you create a new Google Apps Script.
- Copy the whole content in sync_my_calendar.js to your new script.
- Go to the first few lines of your script, update it will your personal and work calendar id.
- Click on the "+" sign on the left sidebar of "Services" and choose "Google Calendar API" (the default version is v3), and press the "Add" button.
- Save your script
- Click on the trigger button (An Alarm like button) on the left sidebar and press "Add Trigger"
- Choose which function to run: choose "myFunction"
- Under "Select event source": choose "From calendar"
- In the blank of "Calendar owner email", paste your personal email id, and press "Save"
- You are now good to go!
I am thinking to add more features to this script.
- The ability to restrict to certain times (i.e. 6AM to 6PM), but an event is considered INSIDE that time zone if ANY part of an event overlaps with that code.
- More options
- copy over the subject name with a prefix [COPY] - ORIGINAL SUBJECT NAME (i.e.)
- copy over the location
- copy over the description / notes.
- Automate Testing