Get free/busy times
calendar_get_free_busyReturns busy intervals between start and end across all your calendars at once (true availability), and for other attendees where one of your accounts can see them. Only accounts with the calendar.attendee_free_busy capability (see accounts_list) look other people up, usually colleagues in the same organisation; an attendee none of them can see has no entry in items and is named in warnings with ATTENDEE_NOT_VISIBLE, so treat their time as unknown, not free. Use it to check whether people are free; to get candidate slots use calendar_find_meeting_times. Times are ISO 8601: with an offset (2026-11-02T09:00:00+02:00), or without one to mean time_zone; all-day events use dates, and their end is the day after the last day. Example: { "start": "2026-11-03T08:00:00+02:00", "end": "2026-11-03T18:00:00+02:00" }.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"start": "<start>",
"end": "<end>"
},
"name": "calendar_get_free_busy"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | Window end (exclusive): ISO 8601 date-time or date. | |
| start | Yes | Window start: ISO 8601 date-time or date. | |
| attendees | No | Other people's email addresses to check too (up to 20). Anyone your accounts cannot see is named in `warnings`, not `items`. | |
| time_zone | No | IANA time zone for dates in and out, e.g. "Africa/Johannesburg". Defaults to the workspace time zone, which prubex_overview returns as `time_zone`. | |
| profile_id | No | Only accounts in this profile (`prf_…` from profiles_list). | |
| account_ids | No | Only these accounts (`acc_…`). Omit to cover every account you can reach. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| warnings | No | Accounts that failed or timed out, and attendees no account could see (ATTENDEE_NOT_VISIBLE); everything else is still here. |