domainwidedelegation.comStart free

Use casesScheduling

Apply out-of-office to many calendars at once

Update out-of-office status in bulk for users, handling events and status propagation with a delegated service account.

Who it is forIT and operations teams responsible for workforce-wide absence management.
APIsCalendar API
Typical scopescalendar

The problem

When many users are absent at once—holidays, office closures, or strikes—manual OOO updates are error-prone and slow, and central management via the admin console only covers status, not events.

How it works

  1. Fetch the list of affected users from the directory or a CSV.
  2. Impersonate each user with domain-wide delegation and create a single-day or multi-day OOO event on their primary calendar.
  3. Set the event's transparency to 'opaque' and mark it as 'out of office'.
  4. Optionally, add a custom message or decline all meetings during the period.
  5. Log success and errors for each user.

What changes

All selected users' calendars show the correct OOO status and block bookings for the specified period, reducing manual work and missed updates.

The trap in this one. The Calendar API's 'out of office' event type is only available on primary calendars and does not retroactively decline existing invites—these must be processed separately. If you create OOO events in rapid succession, the API can silently drop events due to quota limits or batching errors, and without explicit error handling, some users will be missed with no visible sign in the UI or logs unless you check each calendar individually.

Watch it explained

Migrate email, calendars, and contacts from Google Workspace to Microsoft 365” — Microsoft 365 Copilot help & learning on YouTube. Third-party video, included because it covers this ground well. We are not affiliated with the channel.

Questions people ask

Will this decline meetings already on the calendar?

No, out-of-office events do not automatically decline existing events. You must fetch and individually decline overlapping meetings.

Can I update or delete these OOO events later in bulk?

Yes, but you must track the eventId you created for each user; searching by summary or time range is unreliable if users edit the events.

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.