Use cases → Scheduling
Automate resource booking approvals in Calendar
Use a delegated service account to approve or reject resource bookings based on policy, without manual review.
| Who it is for | IT and facilities teams managing meeting rooms or shared equipment. |
|---|---|
| APIs | Calendar API |
| Typical scopes | calendar, calendar.resources.readonly |
The problem
Resource calendars fill with conflicting or inappropriate bookings. Manual approval doesn’t scale, and inconsistent enforcement leads to disputes and wasted time.
How it works
- Configure resource calendars to require approval for bookings.
- Have a delegated service account poll for new booking requests using the Calendar API.
- Apply policy (e.g., only department heads can book certain rooms, or block recurring events).
- Approve or decline bookings by updating the event status as the resource.
- Notify requesters of the outcome with a calendar update or email.
What changes
Booking policies are enforced consistently, with approvals or rejections processed in seconds rather than hours, and an auditable trail of decisions.
Watch it explained
“Calendar Project - Prevent Double Booking - Search - Share | Apps Script” — Google Workspace Tutorial on YouTube. Third-party video, included because it covers this ground well. We are not affiliated with the channel.
Questions people ask
Can the service account approve as the resource?
Yes, if delegated domain-wide, the service account can act as the resource and update event statuses. It cannot approve as the original requester.
How quickly are approvals reflected?
Calendar event state can take up to several minutes to propagate, especially for large domains. Account for this lag in user notifications.
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.