Endpoint List events
Name
list_events
Description
Related Tables
Parameters
| Parameter | Required | Options | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Name:
Label: Calendar ID (e.g. 'primary' or calendar ID) |
YES | |||||||||||
|
Name:
Label: Start Time Lower bound for event start time (RFC3339 timestamp, e.g. 2026-01-26T00:00:00Z --OR-- 2026-01-27T05:00:00-05:00) |
|
|||||||||||
|
Name:
Label: End Time Upper bound for event end time (RFC3339 timestamp, e.g. 2026-01-27T00:00:00Z --OR-- 2026-01-27T05:00:00-05:00) |
|
|||||||||||
|
Name:
Label: Show Deleted Whether to include deleted events (true/false) |
|
|||||||||||
|
Name:
Label: Single Events Expand recurring events into instances (true/false) |
|
|||||||||||
|
Name:
Label: Max Results Maximum number of events per page |
||||||||||||
|
Name:
Label: Order By Order of the events returned (startTime or updated) |
|
Output Columns
| Label | Data Type (SSIS) | Data Type (SQL) | Length | Description |
|---|---|---|---|---|
| Id |
DT_WSTR
|
nvarchar(300)
|
300 | |
| Kind |
DT_WSTR
|
nvarchar(300)
|
300 | |
| Status |
DT_WSTR
|
nvarchar(300)
|
300 | |
| HtmlLink |
DT_WSTR
|
nvarchar(1000)
|
1000 | |
| CreatedAt |
DT_DBTIMESTAMP
|
datetime
|
||
| UpdatedAt |
DT_DBTIMESTAMP
|
datetime
|
||
| Summary |
DT_WSTR
|
nvarchar(300)
|
300 | |
| Description |
DT_NTEXT
|
nvarchar(MAX)
|
||
| CreatorEmail |
DT_WSTR
|
nvarchar(300)
|
300 | |
| OrganizerEmail |
DT_WSTR
|
nvarchar(300)
|
300 | |
| OrganizerDisplayName |
DT_WSTR
|
nvarchar(300)
|
300 | |
| StartsAt |
DT_DBTIMESTAMP
|
datetime
|
||
| StartsOn |
DT_DBDATE
|
date
|
||
| StartTimeZone |
DT_WSTR
|
nvarchar(300)
|
300 | |
| EndsAt |
DT_DBTIMESTAMP
|
datetime
|
||
| EndsOn |
DT_DBDATE
|
date
|
||
| EndTimeZone |
DT_WSTR
|
nvarchar(300)
|
300 | |
| Attendees |
DT_NTEXT
|
nvarchar(MAX)
|
||
| Location |
DT_WSTR
|
nvarchar(1024)
|
1024 | |
| Recurrence |
DT_WSTR
|
nvarchar(1000)
|
1000 | |
| ICalUID |
DT_WSTR
|
nvarchar(300)
|
300 | |
| EventType |
DT_WSTR
|
nvarchar(128)
|
128 | |
| ColorId |
DT_WSTR
|
nvarchar(50)
|
50 | |
| Visibility |
DT_WSTR
|
nvarchar(50)
|
50 | |
| Transparency |
DT_WSTR
|
nvarchar(50)
|
50 | |
| Sequence |
DT_I4
|
int
|
||
| Attachments |
DT_NTEXT
|
nvarchar(MAX)
|
||
| ConferenceDataConferenceId |
DT_WSTR
|
nvarchar(500)
|
500 | |
| ConferenceDataEntryPoints |
DT_WSTR
|
nvarchar(1000)
|
1000 | |
| ConferenceDataConferenceSolutionKeyType |
DT_WSTR
|
nvarchar(500)
|
500 | |
| ConferenceDataConferenceSolutionIconUri |
DT_WSTR
|
nvarchar(500)
|
500 | |
| ConferenceDataConferenceSolutionName |
DT_WSTR
|
nvarchar(500)
|
500 | |
| GuestsCanInviteOthers |
DT_BOOL
|
bit
|
||
| RemindersUseDefault |
DT_BOOL
|
bit
|
||
| RemindersOverrides |
DT_WSTR
|
nvarchar(1000)
|
1000 | |
| ETag |
DT_WSTR
|
nvarchar(200)
|
200 | |
| HangoutLink |
DT_WSTR
|
nvarchar(1000)
|
1000 | |
| RecurringEventId |
DT_WSTR
|
nvarchar(300)
|
300 | |
| OriginalStartDateTime |
DT_DBTIMESTAMP
|
datetime
|
||
| OriginalStartDate |
DT_DBDATE
|
date
|
||
| SourceUrl |
DT_WSTR
|
nvarchar(1024)
|
1024 | |
| SourceTitle |
DT_WSTR
|
nvarchar(300)
|
300 |
Input Columns
| Label | Data Type (SSIS) | Data Type (SQL) | Length | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Examples
SSIS
Use Google Calendar Connector in API Source or in API Destination SSIS Data Flow components to read or write data.
API Source
This Endpoint belongs to the Events table, therefore it is better to use it, instead of accessing the endpoint directly:
| Required Parameters | |
|---|---|
| Calendar ID (e.g. 'primary' or calendar ID) | Fill-in the parameter... |
API Destination
This Endpoint belongs to the Events table, therefore it is better to use it, instead of accessing the endpoint directly. Use this table and table-operation pair to list events:
| Required Parameters | |
|---|---|
| Calendar ID (e.g. 'primary' or calendar ID) | Fill-in the parameter... |
ODBC application
Use these SQL queries in your ODBC application data source:
List events
<p>This example lists events from a specified calendar. Supply the calendar ID to target a calendar; for a single event you can filter by event ID in the WHERE clause or use the EventId parameter.</p> <p><strong>Tip:</strong> Combine with time range parameters (<code>StartTime</code>, <code>EndTime</code>) for filtered results.</p>
SELECT * FROM Events
WITH (CalendarId='MyCalendarId') -- Specify the calendar ID to list events from
--Get single event by Id
--SELECT * FROM Events WHERE Id='MyEventId' -- Filter by event ID in WHERE clause
--SELECT * FROM Events WITH(EventId='MyEventId') -- Use EventId parameter for direct lookup
List events with time range
<p>This example demonstrates how to list events within a specific date range using static timestamps. The <code>StartTime</code> and <code>EndTime</code> parameters filter events to only include those starting after the minimum time and ending before the maximum time. This is useful for querying events in a particular month or week.</p> <p><strong>Note:</strong> Timestamps must be in RFC3339 format (e.g., <code>2026-01-01T00:00:00Z</code>).</p>
SELECT *
FROM Events
WITH (CalendarId='primary',
StartTime='2026-01-01T00:00:00Z',
EndTime='2026-01-31T23:59:59Z')
--OR-- From all accessible calendars (EventsAll table)
--SELECT *
--FROM EventsAll
--WITH (StartTime='2026-01-01T00:00:00-05:00',
-- EndTime='2026-01-31T23:59:59-05:00')
List events ordered by start time
<p>Use this query to retrieve events ordered by their start time. The <code>OrderBy</code> parameter sorts the results chronologically based on the event's start date and time. This is ideal for displaying upcoming events in sequence.</p> <p><strong>Tip:</strong> Combine with <code>StartTime</code> to focus on future events.</p>
SELECT *
FROM Events
WITH (CalendarId='primary',
OrderBy='startTime')
List events including deleted ones
<p>This example shows how to include deleted events in the results by setting <code>ShowDeleted='true'</code>. Deleted events are typically hidden, but this parameter allows you to view them for auditing or recovery purposes.</p> <p><strong>Warning:</strong> Deleted events may have limited data available.</p>
SELECT *
FROM Events
WITH (CalendarId='primary',
ShowDeleted='true')
List events with max results and single events
<p>Limit the number of events returned with <code>MaxResults</code> and expand recurring events into individual instances using <code>SingleEvents='true'</code>. This prevents pagination issues and ensures each occurrence of a recurring event is listed separately.</p> <p><strong>Example use case:</strong> Fetch the next 10 upcoming event instances.</p>
SELECT * FROM Events
WITH (CalendarId='primary',
MaxResults=10,
SingleEvents='true')
List events for next week using dynamic dates
<p>This query uses dynamic date functions to list events for the next week. <code><<today,FUN_TO_DATETIME>></code> represents today's date in datetime format, and <code><<today+7d,FUN_TO_DATETIME>></code> adds 7 days. This allows for automated queries that always fetch the upcoming week's events without hardcoding dates.</p> <p><strong>Dynamic Placeholders:</strong> Supported functions include <code>FUN_TO_DATE</code> for dates and <code>FUN_TO_DATETIME</code> for timestamps.</p>
SELECT * FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId='primary',
--//e.g. append -05:00 for EST (New York Time Zone) to convert local time to UTC -OR- just appends "Z" for UTC time (2026-01-01T05:00:00Z which is same as 2026-01-01T00:00:00-05:00 ).
StartTime='<<today,FUN_TO_DATETIME>>-05:00',
EndTime='<<today+7d,FUN_TO_DATETIME>>-05:00')
List events ordered by updated time
<p>Retrieve events sorted by their last updated time using <code>OrderBy='updated'</code>. This is useful for tracking recent changes or modifications to events in the calendar.</p> <p><strong>Combine with Filters:</strong> Add <code>StartTime</code> to focus on recently updated events.</p>
SELECT * FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId='primary',
OrderBy='updated')
List events for today and tomorrow with dynamic placeholders
<p>Use dynamic placeholders to query events starting from today and ending tomorrow. <code><<today,FUN_TO_DATETIME>></code> is today's start, and <code><<today+1d,FUN_TO_DATETIME>></code> is tomorrow's start. This example combines static time ranges with dynamic dates for precise filtering.</p> <p><strong>Advanced Tip:</strong> Adjust the offsets (e.g., +1d for tomorrow) to customize the range.</p>
SELECT *
FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId='primary',
StartTime='<<today,FUN_TO_DATETIME>>-05:00',
EndTime='<<today+1d,FUN_TO_DATETIME>>-05:00')
list_events endpoint belongs to
Events
table(s), and can therefore be used via those table(s).
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
List events
<p>This example lists events from a specified calendar. Supply the calendar ID to target a calendar; for a single event you can filter by event ID in the WHERE clause or use the EventId parameter.</p> <p><strong>Tip:</strong> Combine with time range parameters (<code>StartTime</code>, <code>EndTime</code>) for filtered results.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM Events
WITH (CalendarId=''MyCalendarId'') -- Specify the calendar ID to list events from
--Get single event by Id
--SELECT * FROM Events WHERE Id=''MyEventId'' -- Filter by event ID in WHERE clause
--SELECT * FROM Events WITH(EventId=''MyEventId'') -- Use EventId parameter for direct lookup';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events with time range
<p>This example demonstrates how to list events within a specific date range using static timestamps. The <code>StartTime</code> and <code>EndTime</code> parameters filter events to only include those starting after the minimum time and ending before the maximum time. This is useful for querying events in a particular month or week.</p> <p><strong>Note:</strong> Timestamps must be in RFC3339 format (e.g., <code>2026-01-01T00:00:00Z</code>).</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM Events
WITH (CalendarId=''primary'',
StartTime=''2026-01-01T00:00:00Z'',
EndTime=''2026-01-31T23:59:59Z'')
--OR-- From all accessible calendars (EventsAll table)
--SELECT *
--FROM EventsAll
--WITH (StartTime=''2026-01-01T00:00:00-05:00'',
-- EndTime=''2026-01-31T23:59:59-05:00'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events ordered by start time
<p>Use this query to retrieve events ordered by their start time. The <code>OrderBy</code> parameter sorts the results chronologically based on the event's start date and time. This is ideal for displaying upcoming events in sequence.</p> <p><strong>Tip:</strong> Combine with <code>StartTime</code> to focus on future events.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM Events
WITH (CalendarId=''primary'',
OrderBy=''startTime'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events including deleted ones
<p>This example shows how to include deleted events in the results by setting <code>ShowDeleted='true'</code>. Deleted events are typically hidden, but this parameter allows you to view them for auditing or recovery purposes.</p> <p><strong>Warning:</strong> Deleted events may have limited data available.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM Events
WITH (CalendarId=''primary'',
ShowDeleted=''true'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events with max results and single events
<p>Limit the number of events returned with <code>MaxResults</code> and expand recurring events into individual instances using <code>SingleEvents='true'</code>. This prevents pagination issues and ensures each occurrence of a recurring event is listed separately.</p> <p><strong>Example use case:</strong> Fetch the next 10 upcoming event instances.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM Events
WITH (CalendarId=''primary'',
MaxResults=10,
SingleEvents=''true'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events for next week using dynamic dates
<p>This query uses dynamic date functions to list events for the next week. <code><<today,FUN_TO_DATETIME>></code> represents today's date in datetime format, and <code><<today+7d,FUN_TO_DATETIME>></code> adds 7 days. This allows for automated queries that always fetch the upcoming week's events without hardcoding dates.</p> <p><strong>Dynamic Placeholders:</strong> Supported functions include <code>FUN_TO_DATE</code> for dates and <code>FUN_TO_DATETIME</code> for timestamps.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId=''primary'',
--//e.g. append -05:00 for EST (New York Time Zone) to convert local time to UTC -OR- just appends "Z" for UTC time (2026-01-01T05:00:00Z which is same as 2026-01-01T00:00:00-05:00 ).
StartTime=''<<today,FUN_TO_DATETIME>>-05:00'',
EndTime=''<<today+7d,FUN_TO_DATETIME>>-05:00'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events ordered by updated time
<p>Retrieve events sorted by their last updated time using <code>OrderBy='updated'</code>. This is useful for tracking recent changes or modifications to events in the calendar.</p> <p><strong>Combine with Filters:</strong> Add <code>StartTime</code> to focus on recently updated events.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId=''primary'',
OrderBy=''updated'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
List events for today and tomorrow with dynamic placeholders
<p>Use dynamic placeholders to query events starting from today and ending tomorrow. <code><<today,FUN_TO_DATETIME>></code> is today's start, and <code><<today+1d,FUN_TO_DATETIME>></code> is tomorrow's start. This example combines static time ranges with dynamic dates for precise filtering.</p> <p><strong>Advanced Tip:</strong> Adjust the offsets (e.g., +1d for tomorrow) to customize the range.</p>
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT *
FROM Events
--FROM EventsAll --(Get from All Calendars)
WITH (CalendarId=''primary'',
StartTime=''<<today,FUN_TO_DATETIME>>-05:00'',
EndTime=''<<today+1d,FUN_TO_DATETIME>>-05:00'')';
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY];
list_events endpoint belongs to
Events
table(s), and can therefore be used via those table(s).