Keep your free/busy time in sync across multiple Google Calendars — without sharing event details.
Calendar Sync is a Google Workspace Add-on that helps users who work across multiple Google accounts keep their availability consistent. It reads events from secondary calendars and creates private "Busy [domain]" blocks on your primary calendar automatically — without copying titles, descriptions, attendees, or any other event details.
Only the time slot is copied. Titles, descriptions, locations, and attendees are never shared.
An hourly trigger keeps calendars in sync with no manual action required.
Connect your work, personal, and client calendars in one place.
Uses Google Calendar sync tokens so only changed events are processed each run.
Source code: github.com/agaur2210/apps
Open the Google Workspace Marketplace and search for Calendar Sync. Click Install and follow the prompts. Grant the requested permissions when asked. Open Google Calendar — a Calendar Sync panel appears in the right sidebar.
In the Calendar Sync panel, click Settings. Calendar 1 is your primary calendar — enter your main Google account email (e.g. you@work.com). Add your secondary calendars below (e.g. you@gmail.com, you@client.com). You can add up to 10 calendars.
The sync window controls how far back and forward to create busy blocks.
Click Save & Start Sync. The add-on will run a full sync immediately, create "Busy [domain]" blocks on your primary calendar, and set up an hourly trigger to keep everything in sync automatically.
| Event on secondary calendar | What appears on your primary calendar |
|---|---|
| "Team standup" (work) | Busy [yourcompany.com] |
| "Doctor appointment" (personal) | Busy [gmail.com] |
| All-day event | All-day "Busy" block |
| Cancelled event | Mirror removed |
| Rescheduled event | Mirror updated |
No titles, descriptions, locations, or attendees are ever copied — only the time slot.
| Action | What it does |
|---|---|
| Pause | Stops the hourly trigger (mirrors stay in place) |
| Resume | Restarts the hourly trigger |
| Full Resync | Deletes all mirrors and rebuilds from scratch |
| Stop & Clean Up | Deletes all mirrors and removes the trigger |
Calendar Sync is a free Google Workspace Add-on that helps users synchronize busy time across multiple Google Calendar accounts. The add-on creates generic "Busy" calendar blocks so that availability from one configured calendar can be reflected in another calendar without copying the details of the original event.
Calendar Sync's use of Google user data complies with the Google API Services User Data Policy, including the Limited Use requirements.
Calendar Sync accesses Google Calendar data only as required to provide its synchronization functionality.
Calendar Sync does not use or store the titles, descriptions, attendee information, conference information, or locations of your existing calendar events.
Information obtained from Google Calendar is used solely to provide the calendar synchronization functionality requested by the user. Calendar information is used to determine busy periods and to create or remove corresponding "Busy" blocks in configured calendars.
Your information is not used for advertising, profiling, marketing, analytics, artificial intelligence or machine-learning training, or any unrelated purpose.
Calendar Sync does not operate an external application server or database. Configuration information required by the add-on is stored using Google Apps Script User Properties and is associated with the individual Google account using the add-on. Calendar event information is processed within Google's infrastructure and is not stored in an external database controlled by the developer. Calendar Sync does not maintain copies of users' calendar event content outside Google services.
Calendar Sync does not use third-party analytics, advertising, tracking, or data-processing services. The add-on operates using Google Workspace, Google Calendar APIs, and Google Apps Script services.
Configuration data is retained only as necessary to provide the Calendar Sync functionality.
Calendar Sync's use and transfer of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Google user data is used only to provide the user-facing calendar synchronization functionality of Calendar Sync.
Calendar Sync runs within Google Apps Script and Google's infrastructure. The add-on does not transmit Google Calendar information to an external developer-operated server. Access to Google Calendar data is controlled through Google's OAuth authorization system and the permissions granted by the user.
Calendar Sync is provided "as is" without warranties of any kind, express or implied. While reasonable efforts are made to ensure that synchronization operates correctly, the developer does not guarantee uninterrupted or error-free operation. To the maximum extent permitted by applicable law, the developer is not responsible for loss of data, missed events, scheduling conflicts, calendar errors, service interruptions, or other damages resulting from the use or inability to use Calendar Sync.
For questions about this Privacy Policy or Calendar Sync's handling of user data, contact: lucamit@gmail.com
By installing, accessing, or using Calendar Sync, you agree to these Terms of Service. If you do not agree to these terms, you should not install or use the add-on.
Calendar Sync is a Google Workspace Add-on that helps synchronize busy time between configured Google Calendar accounts. The add-on may create, update, and remove generic "Busy" calendar blocks based on the availability of configured calendars. Calendar Sync is intended to assist with availability synchronization only and should not be relied upon as the sole source of important scheduling information.
Calendar Sync is currently provided free of charge. There are no subscription fees or paid features at this time. The developer reserves the right to introduce paid features, modify pricing, or discontinue free access in the future. Where reasonably possible, users will be informed before such changes take effect.
Calendar Sync is provided "as is" and "as available" without warranties of any kind, whether express or implied. The developer does not guarantee that:
Users should independently verify important appointments, meetings, and scheduling information.
To the maximum extent permitted by applicable law, the developer will not be liable for any direct, indirect, incidental, special, consequential, or similar damages arising from the use of, or inability to use, Calendar Sync. This includes, without limitation:
Use of Calendar Sync is at your own risk.
By using Calendar Sync, you agree that:
Calendar Sync depends on services provided by Google, including Google Calendar, Google Workspace APIs, Google Apps Script, and Google's authentication infrastructure. Availability or functionality of Calendar Sync may be affected by changes, outages, restrictions, rate limits, or discontinued functionality within Google's services. The developer is not responsible for interruptions or changes caused by Google's services.
For questions about setup or usage, see the Setup Guide above — it covers installation, configuration, and managing the sync.
Found a bug or unexpected behaviour? Open an issue on GitHub:
github.com/agaur2210/apps/issues
Please include:
For other enquiries, email: lucamit@gmail.com