Your list_calendars gives you calendar IDs. Now you need the actual events. How do you currently know what's coming up this week?
After list_calendars I have the IDs. But I still open Google Calendar in my browser to see what's scheduled. Board meeting Tuesday, investor call Thursday. I don't have that in Python yet.
GOOGLECALENDAR_FIND_EVENT takes your calendar ID and an ISO8601 time_min — events starting from that datetime onward. The response is a list of event dicts, each with title, start, end, and attendees:
result = toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": cal_id, "time_min": "2026-04-20T00:00:00Z"}
)
events = result.get("events", [])
for event in events:
print(event.get("summary", "untitled"))What format is time_min? Do I have to format the datetime manually?
ISO8601 — "2026-04-20T00:00:00Z". Python's datetime module can build it: datetime.utcnow().isoformat() + "Z". Or pass a hardcoded string for testing. The Z means UTC. Here's the full function:
def find_events(cal_id: str, time_min: str) -> list:
result = toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": cal_id, "time_min": time_min}
)
events = result.get("events", [])
print(f"Found {len(events)} upcoming events")
return eventsSo I can chain list_calendars to get the ID, then find_events to get this week's schedule. My entire calendar view is now Python.
Your browser tab count is decreasing. One app at a time.
List calendars, then find events — two actions, one logical step. The pattern is already obvious: list first, query second.
ISO8601 datetimes are always UTC when you append Z. If you use local time without a timezone suffix, the Calendar API may interpret it as UTC anyway — and your events will appear off by hours. Always use Z or an explicit timezone offset.
GOOGLECALENDAR_FIND_EVENT returns events from time_min onward. Pulling your calendar into Python enables fully automated agenda prep — board meetings and investor calls surface as structured data your downstream functions can act on directly without any manual tab switching.
toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": "primary", "time_min": "2026-04-20T00:00:00Z"}
){"events": [{"summary": "Board Call", "start": {...}, "end": {...}}, ...]}"2026-04-20T09:00:00Z" — date T time Z (UTC). Build with datetime.utcnow().isoformat() + 'Z'.
Your list_calendars gives you calendar IDs. Now you need the actual events. How do you currently know what's coming up this week?
After list_calendars I have the IDs. But I still open Google Calendar in my browser to see what's scheduled. Board meeting Tuesday, investor call Thursday. I don't have that in Python yet.
GOOGLECALENDAR_FIND_EVENT takes your calendar ID and an ISO8601 time_min — events starting from that datetime onward. The response is a list of event dicts, each with title, start, end, and attendees:
result = toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": cal_id, "time_min": "2026-04-20T00:00:00Z"}
)
events = result.get("events", [])
for event in events:
print(event.get("summary", "untitled"))What format is time_min? Do I have to format the datetime manually?
ISO8601 — "2026-04-20T00:00:00Z". Python's datetime module can build it: datetime.utcnow().isoformat() + "Z". Or pass a hardcoded string for testing. The Z means UTC. Here's the full function:
def find_events(cal_id: str, time_min: str) -> list:
result = toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": cal_id, "time_min": time_min}
)
events = result.get("events", [])
print(f"Found {len(events)} upcoming events")
return eventsSo I can chain list_calendars to get the ID, then find_events to get this week's schedule. My entire calendar view is now Python.
Your browser tab count is decreasing. One app at a time.
List calendars, then find events — two actions, one logical step. The pattern is already obvious: list first, query second.
ISO8601 datetimes are always UTC when you append Z. If you use local time without a timezone suffix, the Calendar API may interpret it as UTC anyway — and your events will appear off by hours. Always use Z or an explicit timezone offset.
GOOGLECALENDAR_FIND_EVENT returns events from time_min onward. Pulling your calendar into Python enables fully automated agenda prep — board meetings and investor calls surface as structured data your downstream functions can act on directly without any manual tab switching.
toolset.execute_action(
Action.GOOGLECALENDAR_FIND_EVENT,
{"calendar_id": "primary", "time_min": "2026-04-20T00:00:00Z"}
){"events": [{"summary": "Board Call", "start": {...}, "end": {...}}, ...]}"2026-04-20T09:00:00Z" — date T time Z (UTC). Build with datetime.utcnow().isoformat() + 'Z'.
Create a free account to get started. Paid plans unlock all tracks.