Google Calendar
Overview
Google Calendar lets you organize your schedule and share events with co-workers. Through Langdock’s integration, you can access and manage Google Calendar directly from your conversations.
Authentication: OAuth Category: Google Workspace Availability: All workspace plans
Available Actions
Add Event
googlecalendar.addEvent
Creates a new event in a specific calendar Requires Confirmation: Yes Parameters:
sendUpdates(TEXT, Optional): Whether to send notifications (‘all’, ‘externalOnly’, ‘none’)startTime(TEXT, Required): Start time in RFC3339 format (e.g. ‘2025-03-15T09:00:00+01:00’)description(TEXT, Optional): Description of the event (optional)attendees(TEXT, Optional): List of attendees email adresses (optional)recurrence(TEXT, Optional): List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed. The separator between rules is an empty space.endTime(TEXT, Required): End time in RFC3339 format (e.g. ‘2025-03-15T10:00:00+01:00’)calendarId(TEXT, Required): The id of the calendar (e.g. ‘primary’ for the main calendar)location(TEXT, Optional): Location of the event (optional)timeZone(TEXT, Required): IMPORTANT: If you don’t know the time zone of the user, ask him. DO NOT GUESS THE TIME ZONE (Example format: ‘America/New_York’)title(TEXT, Required): Title of the eventeventType(TEXT, Optional): The type of event. Allowed values: default, focusTime, outOfOffice, workingLocation, etc. See Google Calendar API docs for full list. Provide one event type only
Output: Returns the created event with the following structure:
id: Event IDsummary: Event titledescription: Event descriptionstart: Start time information with dateTime and timeZoneend: End time information with dateTime and timeZonelocation: Event locationattendees: Array of attendee objects with email addressesrecurrence: Recurrence rules if applicablehtmlLink: Link to view the event in Google Calendarcreated: Creation timestampupdated: Last update timestamp
Update Event
googlecalendar.updateEvent
Updates an event Requires Confirmation: Yes Parameters:
eventId(TEXT, Required): id of the eventendTime(TEXT, Optional): End time in RFC3339 format (e.g. ‘2025-03-15T10:00:00+01:00’)startTime(TEXT, Optional): New start time in RFC3339 format (e.g. ‘2025-03-15T09:00:00+01:00’)calendarId(TEXT, Required): The id of the calendar (e.g. ‘primary’ for the main calendar)timeZone(TEXT, Optional): New time zone (e.g. ‘America/New_York’)eventTitle(TEXT, Optional): New title of the event (optional)attendees(TEXT, Optional): New list of attendees email adresses (optional)description(TEXT, Optional): New description of the event (optional)location(TEXT, Optional): New location of the event (optional)sendUpdates(TEXT, Optional): New policy on whether to send notifications (‘all’, ‘externalOnly’, ‘none’) (optional)recurrence(TEXT, Optional): New list of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed. The separator between rules is an empty space.eventType(TEXT, Optional): The type of event to update. Allowed values: default, focusTime, outOfOffice, workingLocation, etc. See Google Calendar API docs for full list. Provide as comma separated list.
Output: Returns the updated event with its new details
Get Event
googlecalendar.getEvent
Gets an event Requires Confirmation: No Parameters:
eventId(TEXT, Required): The id of the specific event to retrievecalendarId(TEXT, Required): The id of the calendar (can use ‘primary’ for the user’s primary calendar)
Output: Returns the event details including all properties and metadata
Search for Events
googlecalendar.searchforEvents
Gets calendar events by search query Requires Confirmation: No Parameters:
maxResults(TEXT, Optional): Maximum number of results to return (optional, default: 10)searchQuery(TEXT, Optional): When using the search field for calendar events, input specific and relevant keywords that are likely to appear in the following fields:Important: DO NOT include generic synonyms for event (like appointment, meeting, call) in the search query.
Summary or Title: keywords describing the event, e.g., “Project Meeting”, “Team Lunch”
Description: terms related to the event’s content or purpose, e.g., “budget discussion”
Location: name of the location, e.g., “Conference Room A”
Attendees: names or email addresses, e.g., [email protected]
Organizer: organizer’s name or email, e.g., [email protected]
Working Location Properties: office labels or building IDs if applicable
endDate(TEXT, Optional): Upper bound (exclusive) for an event’s start time to filter by. Must be RFC3339 with time zone offset. If Start date is set, End date must be greater than Start date.calendarId(TEXT, Required): The id of the calendar to search (use ‘primary’ for user’s primary calendar)startDate(TEXT, Optional): Lower bound (exclusive) for an event’s end time to filter by. Must be RFC3339 with time zone offset. If End date is set, Start date must be smaller than End date.desc(BOOLEAN, Optional): Select if the results be ordered in descending order (start time).eventType(TEXT, Optional): The type of event to filter for. Allowed values: default, focusTime, outOfOffice, workingLocation, etc. Provide only one single event type.
Output: Returns an array of events matching the search criteria
Delete Event
googlecalendar.deleteEvent
Deletes an event Requires Confirmation: Yes Parameters:
eventId(TEXT, Required): id of the event that will be deleted. For event series note that if you provide an event instance id, it will delete just that instance, and if you provide a recurring event’s master id, it will delete the entire series.For an event instance id of a recurring event like 7hagg0gtspd2b03lm8i3g4irr0_20250318T160000Z, the part until the first _ is the event’s master id.
calendarId(TEXT, Required): The id of the calendar (e.g. ‘primary’ for the main calendar)
Output: Returns confirmation of the deletion
List Calendars
googlecalendar.listCalendars
Lists all calendars accessible to the authenticated user using the Google Calendar API /users/me/calendarList endpoint. Requires Confirmation: No Parameters:
maxResults(TEXT, Optional): Maximum number of entries to return in one result page (default: 100, max: 250).minAccessRole(SELECT, Optional): Restricts results to calendars where the user has at least this access role. Allowed values: freeBusyReader, reader, writer, owner.pageToken(TEXT, Optional): Token specifying which result page to return (for pagination).showDeleted(BOOLEAN, Optional): Whether to include deleted calendar list entries in the result (default: false).showHidden(BOOLEAN, Optional): Whether to show hidden entries (default: false).syncToken(TEXT, Optional): For incremental sync, only return entries changed since the previous request with this token. Cannot be used with minAccessRole.
Output: Returns an array of calendars with the following structure:
id: Calendar IDsummary: Calendar namedescription: Calendar descriptiontimeZone: Calendar time zoneaccessRole: User’s access role for this calendarbackgroundColor: Calendar colorforegroundColor: Text color for this calendarselected: Whether this calendar is selectedprimary: Whether this is the user’s primary calendar
Get Free/Busy for Calendar
googlecalendar.getFreeBusyforCalendar
Retrieves free/busy information for one or more calendars over a specified time range using the Google Calendar API /freeBusy endpoint. Requires Confirmation: No Parameters:
timeMin(TEXT, Required): RFC3339 timestamp for the start of the time range to check (inclusive). Example: 2025-05-15T08:00:00ZtimeMax(TEXT, Required): RFC3339 timestamp for the end of the time range to check (exclusive). Example: 2025-05-15T18:00:00ZtimeZone(TEXT, Optional): Time zone for the response (optional, defaults to UTC). Example: Europe/Berlinitems(TEXT, Required): List of calendar IDs to check (e.g., emails, resource IDs, or ‘primary’). Enter as a comma-separated list.
Output: Returns free/busy information with the following structure:
kind: API resource typetimeMin: Start of the queried rangetimeMax: End of the queried rangecalendars: Object containing free/busy information for each requested calendar, including:busy: Array of time ranges when the calendar is busyerrors: Any errors encountered for this calendar
Triggers
New Event
googlecalendar.newEvent
Triggers when new calendar events are created in specified calendars Requires Confirmation: No Parameters:
calendarId(TEXT, Optional): ID of the calendar to monitor for new events.daysToInclude(TEXT, Optional): Number of days in the future to look for events. Default is 30 days
Output: Returns information about newly created events
Event Start
googlecalendar.eventStart
Triggers when events are about to start within a specified time window Requires Confirmation: No Parameters:
calendarId(TEXT, Optional): ID of the calendar to monitor. Defaults to your primary calendar if not specifiedminuteBefore(TEXT, Required): Number of minutes before an event starts to trigger the workflow. Default is 15 minutes
Output: Returns information about upcoming events
New Event Matching Search
googlecalendar.newEventMatchingSearch
Triggers when new calendar events matching the specified search query are created Requires Confirmation: No Parameters:
calendarId(TEXT, Optional): ID of the calendar to monitor for new events.daysToInclude(NUMBER, Optional): Number of days in the future to look for events. Default is 30 dayssearchQuery(TEXT, Required): Text to search for in event subjects. Examples: ‘Meeting’, ‘Review’, ‘Project kickoff’
Output: Returns information about events matching the search criteria
Common Use Cases
Data Management — Manage and organize your Google Calendar data
Automation — Automate workflows with Google Calendar
Reporting — Generate insights and reports
Integration — Connect Google Calendar with other tools
Best Practices
Important Considerations:
Ensure proper authentication credentials
Respect rate limits and API quotas
Review data privacy settings
Test operations in a safe environment first
Troubleshooting
Authentication failed
Verify your OAuth credentials
Rate limit exceeded
Reduce request frequency
Data not found
Check permissions and data availability
Connection timeout
Verify network connectivity
Support
For additional help with the Google Calendar integration, contact [email protected]
Related integrations: Google Analytics · Google Docs

