Skip to Content

Google Calendar

Service domainCALENDAR
Google Calendar icon
Arcade Optimized

Arcade.dev LLM tools for Google Calendar

Author:Arcade
Version:3.4.0
Auth:User authorization via the Google auth provider
7tools

The Google Calendar toolkit for Arcade integrates with Google Calendar via OAuth, enabling LLMs to read, create, update, and delete calendar data on behalf of authenticated users.

Capabilities

  • Calendar discovery & user context: List all calendars accessible to the user and retrieve the authenticated user's profile, email, and Calendar access permissions.
  • Event querying: List events within a datetime range using precise exclusive bounds on both start and end times, supporting complex filtering across one or more days.
  • Event management: Create single or recurring events (via recurrence rules), update individual fields of existing events without overwriting unchanged fields, and delete events.
  • Scheduling assistance: Find available time slots when all specified participants are free within a given date range and time boundaries.

OAuth

This toolkit uses OAuth 2.0 via the Google provider. See the Arcade Google auth provider docs for setup details, required API enablement, and scope coverage.

Available tools(7)

7 of 7 tools
Operations
Behavior
Tool nameDescriptionSecrets
Create a new event/meeting/sync/meetup in the specified calendar. Pass `recurrence` to create a repeating event.
Delete an event from Google Calendar.
Provides time slots when everyone is free within a given date range and time boundaries.
List all calendars accessible by the user.
List events from the specified calendar within the given datetime range. min_end_datetime serves as the lower bound (exclusive) for an event's end time. max_start_datetime serves as the upper bound (exclusive) for an event's start time. For example: If min_end_datetime is set to 2024-09-15T09:00:00 and max_start_datetime is set to 2024-09-16T17:00:00, the function will return events that: 1. End after 09:00 on September 15, 2024 (exclusive) 2. Start before 17:00 on September 16, 2024 (exclusive) This means an event starting at 08:00 on September 15 and ending at 10:00 on September 15 would be included, but an event starting at 17:00 on September 16 would not be included.
Update an existing event in the specified calendar with the provided details. Only the provided fields will be updated; others will remain unchanged. `updated_start_datetime` and `updated_end_datetime` are independent and can be provided separately.
Get comprehensive user profile and Google Calendar environment information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Google Calendar access permissions, and other important profile details from Google services.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

GoogleCalendar.CreateEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Calendar
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create a new event/meeting/sync/meetup in the specified calendar. Pass `recurrence` to create a repeating event.

Parameters

ParameterTypeReq.Description
summarystringRequiredThe title of the event
start_datetimestringRequiredThe datetime when the event starts in ISO 8601 format, e.g., '2024-12-31T15:30:00'.
end_datetimestringRequiredThe datetime when the event ends in ISO 8601 format, e.g., '2024-12-31T17:30:00'.
calendar_idstringOptionalThe ID of the calendar to create the event in, usually 'primary'.
descriptionstringOptionalThe description of the event
locationstringOptionalThe location of the event
visibilitystringOptionalThe visibility of the event
defaultpublicprivateconfidential
attendee_emailsarray<string>OptionalThe list of attendee emails. Must be valid email addresses e.g., username@domain.com.
send_notifications_to_attendeesstringOptionalShould attendees be notified by email of the invitation? (none, all, external_only)
noneallexternalOnly
add_google_meetbooleanOptionalWhether to add a Google Meet link to the event. Defaults to False.
recurrencearray<string>OptionalRecurrence rules for a repeating event, in RFC 5545 format. Each entry is an RRULE/RDATE/EXDATE line; a bare rule is automatically prefixed with 'RRULE:'. Examples: ['RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10'] for every Mon/Wed/Fri for 10 occurrences, or ['RRULE:FREQ=DAILY;UNTIL=20241231T000000Z'] for daily until 2024-12-31. Omit for a one-time event.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the created event details
#

GoogleCalendar.DeleteEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
Service domains
Calendar
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Delete an event from Google Calendar.

Parameters

ParameterTypeReq.Description
event_idstringRequiredThe ID of the event to delete
calendar_idstringOptionalThe ID of the calendar containing the event
send_updatesstringOptionalSpecifies which attendees to notify about the deletion
noneallexternalOnly

Requirements

No secrets required

Output

Type:stringA string containing the deletion confirmation message
#

GoogleCalendar.FindTimeSlotsWhenEveryoneIsFree

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Provides time slots when everyone is free within a given date range and time boundaries.

Parameters

ParameterTypeReq.Description
email_addressesarray<string>OptionalThe list of email addresses from people in the same organization domain (apart from the currently logged in user) to search for free time slots. Defaults to None, which will return free time slots for the current user only.
start_datestringOptionalThe start date to search for time slots in the format 'YYYY-MM-DD'. Defaults to today's date. It will search starting from this date at the time 00:00:00.
end_datestringOptionalThe end date to search for time slots in the format 'YYYY-MM-DD'. Defaults to seven days from the start date. It will search until this date at the time 23:59:59.
start_time_boundarystringOptionalWill return free slots in any given day starting from this time in the format 'HH:MM'. Defaults to '08:00', which is a usual business hour start time.
end_time_boundarystringOptionalWill return free slots in any given day until this time in the format 'HH:MM'. Defaults to '18:00', which is a usual business hour end time.

Requirements

No secrets required

Output

Type:jsonA dictionary with the free slots and the timezone in which time slots are represented.
#

GoogleCalendar.ListCalendars

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List all calendars accessible by the user.

Parameters

ParameterTypeReq.Description
max_resultsintegerOptionalThe maximum number of calendars to return. Up to 250 calendars, defaults to 10.
show_deletedbooleanOptionalWhether to show deleted calendars. Defaults to False
show_hiddenbooleanOptionalWhether to show hidden calendars. Defaults to False
next_page_tokenstringOptionalThe token to retrieve the next page of calendars. Optional.

Requirements

No secrets required

Output

Type:jsonA dictionary containing the calendars accessible by the end user
#

GoogleCalendar.ListEvents

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List events from the specified calendar within the given datetime range. min_end_datetime serves as the lower bound (exclusive) for an event's end time. max_start_datetime serves as the upper bound (exclusive) for an event's start time. For example: If min_end_datetime is set to 2024-09-15T09:00:00 and max_start_datetime is set to 2024-09-16T17:00:00, the function will return events that: 1. End after 09:00 on September 15, 2024 (exclusive) 2. Start before 17:00 on September 16, 2024 (exclusive) This means an event starting at 08:00 on September 15 and ending at 10:00 on September 15 would be included, but an event starting at 17:00 on September 16 would not be included.

Parameters

ParameterTypeReq.Description
min_end_datetimestringRequiredFilter by events that end on or after this datetime in ISO 8601 format, e.g., '2024-09-15T09:00:00'.
max_start_datetimestringRequiredFilter by events that start before this datetime in ISO 8601 format, e.g., '2024-09-16T17:00:00'.
calendar_idstringOptionalThe ID of the calendar to list events from
max_resultsintegerOptionalThe maximum number of events to return

Requirements

No secrets required

Output

Type:jsonA dictionary containing the list of events
#

GoogleCalendar.UpdateEvent

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Calendar
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Update an existing event in the specified calendar with the provided details. Only the provided fields will be updated; others will remain unchanged. `updated_start_datetime` and `updated_end_datetime` are independent and can be provided separately.

Parameters

ParameterTypeReq.Description
event_idstringRequiredThe ID of the event to update
updated_start_datetimestringOptionalThe updated datetime that the event starts in ISO 8601 format, e.g., '2024-12-31T15:30:00'.
updated_end_datetimestringOptionalThe updated datetime that the event ends in ISO 8601 format, e.g., '2024-12-31T17:30:00'.
updated_calendar_idstringOptionalThe updated ID of the calendar containing the event.
updated_summarystringOptionalThe updated title of the event
updated_descriptionstringOptionalThe updated description of the event
updated_locationstringOptionalThe updated location of the event
updated_visibilitystringOptionalThe visibility of the event
defaultpublicprivateconfidential
updated_recurrencearray<string>OptionalUpdated recurrence rules for a repeating event, in RFC 5545 format. Each entry is an RRULE/RDATE/EXDATE line; a bare rule is automatically prefixed with 'RRULE:'. Provide the full set of rules to replace the event's existing recurrence, e.g. ['RRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR;COUNT=10'] for every Mon/Wed/Fri for 10 occurrences. Pass an empty list ([]) to REMOVE recurrence and make the event a one-time event. Omit (leave unset) to leave recurrence unchanged.
attendee_emails_to_addarray<string>OptionalThe list of attendee emails to add. Must be valid email addresses e.g., username@domain.com.
attendee_emails_to_removearray<string>OptionalThe list of attendee emails to remove. Must be valid email addresses e.g., username@domain.com.
send_notifications_to_attendeesstringOptionalShould attendees be notified of the update? (none, all, external_only)
noneallexternalOnly
updated_google_meetstringOptionalWhether to update the Google Meet link to the event. (none, add, remove)
noneaddremove

Requirements

No secrets required

Output

Type:stringA string containing the updated event details, including the event ID, update timestamp, and a link to view the updated event.
#

GoogleCalendar.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Calendar
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get comprehensive user profile and Google Calendar environment information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Google Calendar access permissions, and other important profile details from Google services.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Google Calendar environment information.
Last updated on