query_freebusy
Find scheduling conflicts or free slots by querying busy periods across one or more calendars, without revealing event details.
Instructions
Query busy-time windows across one or more calendars.
Use this to find scheduling conflicts or free slots before creating an event — it returns only busy periods, not event details. For event details use get_events. This is the efficient way to compare availability across multiple people/rooms. Requires the calendar.readonly OAuth scope.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_google_email | Yes | The user's Google email address (authenticated account). | |
| time_min | Yes | Interval start, RFC3339 ("2026-05-12T10:00:00Z" or "2026-05-12"). | |
| time_max | Yes | Interval end, RFC3339. | |
| calendar_ids | No | Calendars to query (primary calendar, room resource IDs, or colleague emails if you have access). Defaults to ["primary"]. | |
| group_expansion_max | No | Cap on members expanded from a Google group identifier, up to 100. | |
| calendar_expansion_max | No | Cap on calendars returned, up to 50. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |