Skip to content

Google Calendar — Get events

Type: googlecalendar-get-events  ·  Package: Google Calendar v1.0.5  ·  Output: List<Dictionary<string,object>>

Lists or searches a calendar’s events within a date range. It is the usual way to get the IDs of the events to update, cancel or process, and to read a period’s agenda to prepare work.

Queries the calendar calendarId (default primary) with one call to Google:

  • Returns the events that overlap the period: those ending after timeMin and starting before timeMax. An event that already started but is still running at timeMin is included.
  • Without timeMin, it starts from now (the moment of the run). Without timeMax, there is no upper bound.
  • timeMin and timeMax accept a DateTime or ISO 8601 text; without an offset they are read in the timeZone zone or, if empty, in the calendar’s zone, not the machine’s. Since version 1.0.5.
  • Recurring events are expanded: each occurrence arrives as an event with its own ID.
  • Events arrive ordered by start. Cancelled events are left out.
  • query searches free text across the event fields (title, description, location, guests…).
  • Returns up to maxResults events from a single page of results (Google returns at most 2500 per page). For busy periods, narrow it with timeMin/timeMax.

None.

ParameterTypeDefaultDescription
sessionZoanGoogleCalendarSession—Session from Google Calendar — Connect. Inside Connect’s body it is inherited and you can leave it empty.
calendarIdstringprimaryCalendar ID (from Get calendars). primary is the account’s main calendar.
querystring—Free-text search across the event fields.
timeMinDateTime | stringthe current timeStart of the period: a DateTime or ISO 8601 text, e.g. 2026-06-01T00:00:00.
timeMaxDateTime | string—End of the period, in the same format.
timeZonestringthe calendar’sIANA time zone (e.g. America/Bogota) in which timeMin and timeMax without an offset are read. Since version 1.0.5.
maxResultsint50Maximum number of events. A non-numeric value or one below 1 uses 50.

Returns a List of Dictionary: each item is an event with the event data (id, summary, description, location, start, end, allDay, status, organizer, attendees, htmlLink, meetLink). If there are no events, it returns an empty list, not an error.

MessageCause and fix
Invalid date/time '…'. Use ISO 8601 (e.g. 2026-06-15T14:30:00) or a DateTime value.timeMin or timeMax is neither a DateTime nor ISO 8601 text (for example, 15/06/2026). Pass the DateTime directly or the text as yyyy-MM-ddTHH:mm:ss.
Unknown time zone '…'. Use an IANA time zone such as America/Bogota.timeZone is not a valid IANA zone.
The date has no time zone and the calendar's time zone could not be determined. …The date has no offset, timeZone is empty and the account could not read the calendar’s zone. Set timeZone or include the offset in the date.
No Google Calendar session available. Provide 'session' from a googlecalendar-connect activity, or place this activity inside the Connect activity's body …The activity is outside Connect’s body and received no session. Move it inside the body or pass the saved session.
The service calendar has thrown an exception. HttpStatusCode is …Google rejected the call: unknown calendar or event, no access, expired token or quota exceeded. See Google API errors.

Review tomorrow’s meetings and log the ones without a location:

Google Calendar — Connect credential = credential("calendar-team")
└─ body:
Google Calendar — Get events timeMin = DateTime.Today.AddDays(1)
timeMax = DateTime.Today.AddDays(2)
→ output: events
For Each items = events itemVariable = ev
└─ activities:
If condition = isNull(ev["location"])
└─ then:
Log message = "No location: " + ev["summary"] + " (" + ev["start"] + ")"