Get calendar events
get_calendar_eventsList events from the user's connected Google Calendar, ordered by start time — summary, start/end, location, organizer, attendees and their RSVP status, and a meeting link when there is one. With no time range it returns upcoming events from now. time_min and time_max are RFC3339 timestamps ('2026-08-19T00:00:00Z'), so 'what's on my calendar tomorrow' is time_min/time_max spanning that day; past ranges work too. query free-text matches event titles, descriptions, and attendees. For 'how many meetings…' questions over long ranges (a quarter, a year), set count_only=true — it sweeps the whole range and returns the total plus a per-month breakdown instead of the events themselves, so a 12-month count is one call. By default this reads the primary calendar; to read a named calendar ('my Family calendar'), first get its id from list_google_calendars, then pass calendar_id. If the result says no Google account is connected (or the account lacks calendar access), show the user the message and link them to /user/integrations/gmail.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Free-text search over events (titles, descriptions, attendees). Omit to list everything in the range. | |
| account | No | Email address of one connected Google account. Omit to read all connected accounts. | |
| time_max | No | Latest event start, RFC3339. | |
| time_min | No | Earliest event end, RFC3339 ('2026-08-19T00:00:00Z'). Defaults to now when time_max is also omitted. | |
| count_only | No | Return only counts — total and per calendar month — instead of the events. Sweeps far more of the range (up to 12,500 events) than an event listing can. Use for totals and "how many" questions. | |
| calendar_id | No | Which calendar to read — an id from list_google_calendars. Omit for the primary calendar. | |
| max_results | No | Max events to return (default 10, max 250). |