diff --git a/bitbylaw/steps/advoware_cal_sync/calendar_sync_event_step.py b/bitbylaw/steps/advoware_cal_sync/calendar_sync_event_step.py index db985ac8..aae071cb 100644 --- a/bitbylaw/steps/advoware_cal_sync/calendar_sync_event_step.py +++ b/bitbylaw/steps/advoware_cal_sync/calendar_sync_event_step.py @@ -167,9 +167,20 @@ async def ensure_google_calendar(service, employee_kuerzel, context=None): try: # Enforce rate limiting for calendar list fetch await enforce_global_rate_limit(context) - calendar_list = service.calendarList().list().execute() + + # Fetch all calendars with pagination + all_calendars = [] + page_token = None + while True: + calendar_list = service.calendarList().list(pageToken=page_token, maxResults=250).execute() + calendars = calendar_list.get('items', []) + all_calendars.extend(calendars) + page_token = calendar_list.get('nextPageToken') + if not page_token: + break + calendar_id = None - for calendar in calendar_list.get('items', []): + for calendar in all_calendars: if calendar['summary'] == calendar_name: calendar_id = calendar['id'] break