Back to tools

AI Agent Tool

Google Calendar logo

Google Calendar

Google's calendar and scheduling service with a REST API for programmatic event and availability management.

Scheduling & ProductivityCommunity

google.com

•

One-click Login

•

Ready to use

About Google Calendar

Google Calendar is Google's time management and scheduling service, widely used by individuals, teams, and enterprises for organizing meetings, events, and reminders. It integrates tightly with Gmail, Google Meet, and Google Workspace. Its REST API (v3) allows developers to programmatically create, read, update, and delete events, manage calendars, check free/busy availability, and subscribe to push notifications. In 2026 Google added a new 'writerWithoutPrivateAccess' permission level and a Calendar Transfer API for programmatic ownership transfers.

AI Agent Use Cases

- Event creation, editing, and deletion with recurrence and reminders

- Free/busy availability queries across calendars

- Google Meet conference data embedded in calendar events

- Push notifications for calendar changes via webhooks

- New 'writerWithoutPrivateAccess' permission level (GA June 2026)

- Calendar Transfer API for programmatic secondary calendar ownership transfer (2026)

Available Actions

These are the specific actions that AI agents can perform with this tool

Inputs

calendarId

Calendar identifier. To retrieve calendar IDs, call the calendarList.list method. Use 'primary' for the current user's primary calendar.

maxResults

Max number of entries per page. Default is 100, maximum is 250.

pageToken

Token specifying which result page to return.

showDeleted

Include deleted ACLs. Deleted ACLs show as role 'none'. Default is False.

syncToken

Token to retrieve only changed entries since last request. Always includes deleted entries.

Inputs

calendarId

Calendar identifier. Use 'primary' for the current user's main calendar.

sendNotifications

Whether to send notifications about the calendar sharing change. Defaults to True.

role

The role to assign. Options are none, freeBusyReader, reader, writer, or owner.

scopeType

Type of the scope. Options are default, user, group, or domain.

scopeValue

Email, group address, or domain name depending on the scope type.

Inputs

calendarId

The calendar identifier.

event

The event object with required fields.

Inputs

calendarId

ID of the calendar to create an event in

eventDetails

Dictionary containing details of the event to be created

accessToken

OAuth 2.0 access token for authentication

Inputs

calendarId

The calendar identifier to create the event in

eventBody

A dictionary representing the event details to be inserted

Inputs

calendarId

Calendar identifier. Can use 'primary' for the current user's primary calendar.

ruleId

ACL rule identifier.

Inputs

CalendarId

Calendar identifier to retrieve the ACL rule from

RuleId

Identifier for the ACL rule to be retrieved

Inputs

calendarId

The ID of the calendar to retrieve metadata for.

Inputs

personFields

Specifies which fields to include in the person resource returned; must be a comma-separated list of valid field names such as names, emailAddresses, phoneNumbers, addresses. At least one field must be provided.

Inputs

personFields

Specifies which fields to include in the returned person object. Each field name should be included in a comma-separated string. Allowed values include 'names', 'emailAddresses', 'phoneNumbers', 'addresses', etc. This parameter is required.

access_token

OAuth 2.0 access token for the authorized Google user. This must be used as a Bearer token in the Authorization HTTP header. The token must have appropriate People API scopes (such as 'profile' or 'https://www.googleapis.com/auth/contacts.readonly').

Inputs

access_token

OAuth 2.0 access token of the authenticated user, required for authorization in the request header as Bearer.

Inputs

personFields

Specifies which fields to include in the response, such as names, emailAddresses, phoneNumbers, and addresses. Must be a comma-separated list.

access_token

The OAuth 2.0 access token obtained from authenticating the user, must be supplied in the Authorization header as 'Bearer {access_token}'.

Inputs

access_token

OAuth 2.0 access token authorizing access to the user's profile; must be sent in the Authorization header as 'Bearer {access_token}'.

Inputs

CalendarId

The identifier of the calendar to be accessed or modified.

ScopeType

The type of access being granted, such as user or group.

ScopeValue

Email address or domain name, required if ScopeType is not 'default'.

Role

The permission level of the access being granted.

Inputs

calendarId

The identifier of the Google Calendar.

scopeType

Specifies the type of access control scope. Can be default, user, group, or domain.

scopeValue

The email address of the user or group, or the domain name, depending on the scope type. Not needed if scopeType is default.

role

The level of access granted. Can be none, freeBusyReader, reader, writer, or owner.

Inputs

calendarId

The ID of the calendar from which to retrieve events.

eventTypes

Specific types of events to filter by.

maxResults

Limits the number of events returned in a single response.

pageToken

Used for pagination.

timeMin

Filters events by their starting time.

timeMax

Filters events by their starting time.

Inputs

personFields

Specifies which fields of the Person resource to include in the response; must be a comma-separated string listing the desired fields such as names, emailAddresses, phoneNumbers, or addresses.

access_token

OAuth 2.0 Bearer access token for authenticating the request; must be obtained through Google's OAuth flow with the required People API scope.

Inputs

calendarId

Calendar identifier. Use 'primary' for the currently logged-in user's primary calendar.

ruleId

ACL rule identifier.

sendNotifications

Whether to send notifications about the calendar sharing change.

scope

Definition of the access scope.

scope.type

The type of the scope - defines the level of access.

scope.value

Email address of a user or group, or name of a domain, based on the scope type.

role

The role assigned to the scope.

Inputs

calendarId

Calendar identifier. Use 'primary' for the primary calendar of the logged-in user.

ruleId

ACL rule identifier.

sendNotifications

Optional. Whether to send notifications about the calendar sharing change. Defaults to True.

Inputs

calendarId

Calendar identifier. Use 'primary' for the primary calendar of the logged in user.

eventId

Event identifier.

alwaysIncludeEmail

Deprecated and ignored. A value will always be returned in the email field.

conferenceDataVersion

Version number of conference data. Use 1 to enable support for conference data.

maxAttendees

The maximum number of attendees to include in the response.

sendUpdates

Guests who should receive notifications about the event update. Acceptable values are 'all', 'externalOnly', and 'none'.

supportsAttachments

Whether API client performing operation supports event attachments.

start

The inclusive start time of the event.

end

The exclusive end time of the event.

Inputs

personFields

Specifies which fields to include for the Person resource. Must be a comma-separated string such as 'names,emailAddresses,phoneNumbers'. At least one field is required.

access_token

OAuth 2.0 access token used for authenticating the request. Must be included in the 'Authorization' HTTP header as 'Bearer {access_token}'.