domainwidedelegation.comStart free

Use casesScheduling

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 forIT and facilities teams managing meeting rooms or shared equipment.
APIsCalendar API
Typical scopescalendar, 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

  1. Configure resource calendars to require approval for bookings.
  2. Have a delegated service account poll for new booking requests using the Calendar API.
  3. Apply policy (e.g., only department heads can book certain rooms, or block recurring events).
  4. Approve or decline bookings by updating the event status as the resource.
  5. 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.

The trap in this one. The Calendar API’s event watcher can miss changes if multiple rapid updates occur, especially if the sync token is not handled correctly. This leads to approvals or rejections being silently skipped, so bookings stay pending with no visible error. Always checkpoint the sync token after each page, and do not assume polling alone will catch every new booking—implement a periodic full resync to catch missed events.

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 guide

Related 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.