calendar_query
Search and filter calendar events across all calendars using time range, text, or location filters. Avoids loading excessive entries by querying only matching results.
Instructions
⭐ PREFERRED: Search and filter calendar events efficiently. Use instead of list_events to avoid loading thousands of entries. Omit calendar_url to search across ALL calendars automatically.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of events to return (default 20, max 500). You get the earliest by start date, and the response states how many matched in total. | |
| calendar_url | No | Optional: Specific calendar URL. Omit to search ALL calendars (recommended for "find events with X" queries). Only provide if user explicitly names a calendar. DO NOT use list_calendars first - that defeats cross-calendar search. | |
| summary_filter | No | Search event titles/summaries containing this text (case-insensitive). Example: "meeting with Elena" or "standup". Can be used alone as sufficient filter. | |
| time_range_end | No | End datetime (ISO 8601). If provided, time_range_start is REQUIRED. Both dates together form a complete filter. Do not omit if start is provided. | |
| location_filter | No | Search event locations containing this text. Example: "Berlin", "Office", "Zoom". Can be used alone as sufficient filter. | |
| time_range_start | No | Start datetime (ISO 8601, e.g., 2025-10-30T00:00:00Z). If provided, time_range_end is REQUIRED. Calculate dates for "today", "this week", etc. Can be used alone (with end date) as sufficient filter. |