Integrations
Prebuilt Toolkits
Google
Calendar

Calendar

Description: Enable agents to interact with Google Calendar events.

Author: Arcade AI

Code: GitHub

Auth: OAuth2

PyPI VersionLicensePython VersionsWheel StatusDownloads

The Arcade AI Calendar toolkit provides a pre-built set of tools for interacting with Google Calendar. These tools make it easy to build agents and AI apps that can:

  • Create, update, list, and delete events

Install

pip install arcade_google

Available Tools

Tool NameDescription
CreateEventCreate a new event in Google Calendar.
ListEventsList events from Google Calendar.
UpdateEventUpdate an existing event in Google Calendar.
DeleteEventDelete an event from Google Calendar.

If you need to perform an action that's not listed here, you can get in touch with us to request a new tool, or create your own tools with the Google auth provider.

CreateEvent


Create a new event in the specified calendar.

Parameters

  • summary (string, required) The title of the event
  • start_datetime (string, required) The datetime when the event starts in ISO 8601 format, e.g., '2024-12-31T15:30:00'.
  • end_datetime (string, required) The datetime when the event ends in ISO 8601 format, e.g., '2024-12-31T17:30:00'.
  • calendar_id (string, optional) The ID of the calendar to create the event in, usually 'primary'.
  • description (string, optional) The description of the event
  • location (string, optional) The location of the event
  • visibility (string, optional) The visibility of the event
  • attendee_emails (array, optional) The list of attendee emails. Must be valid email addresses e.g., [email protected].

ListEvents


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

  • min_end_datetime (string, required) Filter by events that end on or after this datetime in ISO 8601 format, e.g., '2024-09-15T09:00:00'.
  • max_start_datetime (string, required) Filter by events that start before this datetime in ISO 8601 format, e.g., '2024-09-16T17:00:00'.
  • calendar_id (string, optional) The ID of the calendar to list events from
  • max_results (integer, optional) The maximum number of events to return

UpdateEvent


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

  • event_id (string, required) The ID of the event to update
  • updated_start_datetime (string, optional) The updated datetime that the event starts in ISO 8601 format, e.g., '2024-12-31T15:30:00'.
  • updated_end_datetime (string, optional) The updated datetime that the event ends in ISO 8601 format, e.g., '2024-12-31T17:30:00'.
  • updated_calendar_id (string, optional) The updated ID of the calendar containing the event.
  • updated_summary (string, optional) The updated title of the event
  • updated_description (string, optional) The updated description of the event
  • updated_location (string, optional) The updated location of the event
  • updated_visibility (enum (EventVisibility), optional) The visibility of the event
  • attendee_emails_to_add (array, optional) The list of attendee emails to add. Must be valid email addresses e.g., [email protected].
  • attendee_emails_to_remove (array, optional) The list of attendee emails to remove. Must be valid email addresses e.g., [email protected].
  • send_updates (enum (SendUpdatesOptions), optional, Defaults to 'all') Should attendees be notified of the update? (none, all, external_only)

DeleteEvent


Delete an event from Google Calendar.

Parameters

  • event_id (string, required) The ID of the event to delete
  • calendar_id (string, optional, Defaults to 'primary') The ID of the calendar containing the event
  • send_updates (enum (SendUpdatesOptions), optional, Defaults to 'all') Specifies which attendees to notify about the deletion

Auth

The Arcade AI Calendar toolkit uses the Google auth provider to connect to users' Google accounts.

With the hosted Arcade AI Engine, there's nothing to configure. Your users will see Arcade AI (demo) as the name of the application that's requesting permission.

The hosted Arcade Engine is intended for demo and testing purposes only, not for production use. To use Arcade AI and Google Calendar in production, you must use a self-hosted instance of the Arcade Engine.

With a self-hosted installation of Arcade AI, you need to configure the Google auth provider with your own Google app credentials.