Use cases → Scheduling
Auto-update public holiday calendars across all users
Push new or revised public holiday events into every user’s calendar, without manual imports or missed recipients.
| Who it is for | IT or HR teams maintaining consistent holiday schedules across a domain. |
|---|---|
| APIs | Calendar API |
| Typical scopes | calendar |
The problem
Manually importing or sharing public holiday calendars leads to inconsistent coverage—users miss updates, duplicates creep in, and new starters get out-of-date lists. Automating this with a service account gives full coverage but requires careful event management.
How it works
- Maintain a canonical holiday event list in a central source (spreadsheet or database).
- Enumerate all active user calendars via the Admin SDK.
- For each user, upsert (insert or update) each holiday event using a consistent eventId.
- Remove any obsolete holiday events based on the canonical list.
- Log all changes for audit and troubleshooting.
What changes
Every user’s calendar reflects the current official holiday list, with changes propagating automatically and old entries cleaned up.
Watch it explained
“Mastering Google Apps Script: Holiday Calendar Automation in Google Sheets” — Aris Azhar on YouTube. Third-party video, included because it covers this ground well. We are not affiliated with the channel.
Questions people ask
Why not just share a single read-only holiday calendar?
Shared calendars are easy to miss, and users can hide or unsubscribe from them. Injecting events ensures visibility and mobile reminders, but at the cost of more careful event management.
Can this run as a batch job?
Yes, but watch for Calendar API write quotas and back off if you hit 429s. Staggering updates or running nightly reduces user impact.
Want this built?
This is a pattern we run in production. We will set up the delegation and build this on top of it — $500 per hour, most of it working the same day.
Talk to us Or read the setup guideRelated use cases
Build a real picture of team availability
Read calendars across the domain to answer who is free, who is overloaded and where the week actually went.
Turn a finished meeting into follow-up automatically
Detect that a meeting happened, pull the notes, and draft the follow-up before anyone opens their laptop.
Turn a booking into a record everywhere it matters
When a meeting is booked, create the record, the folder and the confirmation in one pass.