We’ve all been there: you receive a meeting invite at work, only to realize that you were double-booked because you already have an appointment on your personal calendar. Don’t worry, there’s a solution!
If you use more than one Google calendar in your day (home, work, side projects etc.), it's helpful to keep your various appointments in sync by copying your events from your personal Google Calendar to your work calendar.
Sync your personal calendar and work calendar for free using this step-by-step guide. It's a simple process – I'll walk you through each step and include screenshots for easy reference. Once set up, you will be able to automatically block off time in your work calendar when personal events are created in the other calendar.
This creates a unified overview that helps decrease the time you spend switching between calendars when trying to schedule meetings and prevents those awkward moments of asking colleagues "Oops, can we reschedule? I double-booked". The best part? You won’t need to worry about privacy with this method, because your calendar information remains private!
How Does This Work?
We'll use a Google Apps Script stored on your work Google Drive to read your personal calendar, then use that information to automatically block time on your work calendar.
Setting Up The Correct Permissions in Your Personal Account
Share your personal calendar with your work's GSuite / Google Workspace account by doing the following:
- Login to your personal Google account.
- Go to Calendar Settings either directly via this link. Alternatively, access it from Google Calendar by clicking the gear icon at the top right, then selecting Settings.
- Locate the calendar you want to use on the left-hand side of the Settings page and click on it. In this case, I'm clicking on the calendar titled "Janel"
4. Click "Share with specific people", then click on "Add People"
5. Add your work email and select "See all event details", before hitting "Send".
6. Locate your Calendar ID in your personal account by scrolling down and clicking "Integrate calendar". Your calendar ID is listed under the word "Calendar ID". If you're linking to the primary calendar in a personal Gmail account, it will be your Gmail address. If it's a secondary calendar, it will be a string of characters that ends with "group.calendar.google.com". Save the Calendar ID for use in the scripts step.
Setting Up The Google App Script in Your Work Account
- Login to your work account & go to your email inbox.
- Open the email which should read "(insert your personal email address) has shared a calendar with you". Click "Add this calendar" to add your personal calendar to your work calendar.
- Go to My Drive in Google Drive.
- Click "New" on the top left corner of your Google Drive, Click "More" then "Google Apps Script"
6. Rename the script by clicking on "Untitled Project" and renaming as "Calendar Sync"
7. Remove the existing code by selecting all the text in the window and hitting backspace.
9. Come back to Google Apps Script and paste that into the body. Change the XXXXXXXXXX on line 3 the Calendar ID you have gathered from your personal account. For many of you, that will be your email.
10. Hit the floppy disk icon to Save.
11. Click Run to execute the script. If Google asks you for permissions, ensure that you accept them. When completed, you should see "Execution completed" in the Application Log.
12. Check that it worked by going to your work calendar and seeing if events are copied over from your personal calendar. They are by default titled "Personal appt" (you can change that if you want - see below) and set to private, aka event details are hidden from your colleagues.
Set Up An Automation
Schedule this script to run automatically so that your calendar is kept up to date.
1. First click the clock icon in the left pane of Google Apps Script interface, then click "Add Trigger"
2. Feel free to copy these settings and replace the email in "Calendar owner email". This helps set up a trigger that makes the script run when there is a calendar update in your personal email account.
Congrats! You've now set up an automation. When an event is scheduled on your personal calendar, time will automatically be blocked off on your work calendar.
Optional (But Recommended) Changes
Here are some tweaks you can make to the script to make the automation work better.
Change Number Of Days In Advance To Block Off Time
Default is 7 days. On line 7, change "7” to the number of days in advance you would like the script to monitor. I reckon 30 is a good number!
Change Title Of Event
Update the text on line 15 to change what text you'd like to display on the events that are copied over to your work calendar. Default is "Personal appt" but I would change it to something like "Busy (Synced Event)"
Change Trigger For Calendar Sync
If you don't want to use calendar update as an event source (trigger) and prefer to adjust the frequency of how often the calendar gets updated, change the setting in both the time based trigger and time interval sections. Click "Save". The automation will now run every 30 minutes.
Thanks for reading this! You are now able to automatically copy events from your personal Google Calendar to your work calendar, which is a massive timesaver. If you're attempting to do the reverse, aka copying work events to your personal calendar, set up permissions in your work account and run the script from your personal account.
Hope you've found this guide to be a great alternative to scheduling / calendar management software.
P.S. Huge props to Will who wrote this useful article (from 2017) which helped me figure out how this works! I've written this piece to create the most updated step-by-step guide that has parallels to Google's updated user interfaces.
If this article has been helpful to you, I highly recommend that you subscribe to BrainPint where I often share tips and tricks on how to set yourself up for success.