Google Calendar
Available Tools
List all access control rules for a calendar. Returns permissions for each user/group including role and scope. Supports pagination and incremental sync.
Retrieve details of a specific ACL rule by ID. Returns role and scope. Rule ID format: ‘user:[email protected]’ or ‘group:[email protected]’.
Grant access to a calendar by creating an ACL rule. Share with users, groups, domains, or make public. Specify role and scope type.
Completely replace an ACL rule. For partial updates, use patch_acl_rule instead.
Partially update an ACL rule. Only provided fields are modified. Safer than update_acl_rule for simple permission changes.
Permanently delete an ACL rule, removing user/group access. Cannot be undone.
Set up push notifications for ACL rule changes. Requires publicly accessible HTTPS endpoint. Returns channel ID and resource ID to stop the watch later.
Retrieve complete metadata for a calendar including title, description, timezone, and location.
Create a new secondary calendar with custom title, description, timezone, and location.
Update calendar metadata (title, description, timezone, location). Owner only. For user-specific settings like color/visibility, use update_calendar_in_list.
Permanently delete a secondary calendar and all events. Cannot be undone. Cannot delete primary calendar. For temporary removal, use remove_calendar_from_list.
Permanently delete ALL events from a calendar without deleting the calendar itself. Cannot be undone. Calendar structure and sharing remain intact.
List all calendars in user’s calendar list with settings and permissions. Includes primary, owned, and subscribed calendars. Supports pagination.
Retrieve user-specific settings for a calendar including custom color, display name, notifications, and visibility.
Subscribe to an existing calendar by adding it to user’s calendar list. Set custom color, display name, visibility, and notification preferences.
Update user-specific calendar settings including color, visibility, and notifications. Changes only affect this user.
Partially update user-specific calendar settings. Only provided fields are modified.
Unsubscribe from a calendar by removing it from user’s list. Calendar itself is not deleted.
Set up push notifications for calendar list changes. Requires publicly accessible HTTPS endpoint. Returns channel ID and resource ID to stop the watch later.
List events from a Google Calendar with filtering, search, and pagination. Supports time ranges, event types, recurring event expansion, and incremental sync.
Retrieve complete details of a specific event by ID including all metadata, attendees, recurrence rules, reminders, and conference data.
Create a new event with title, location, times, attendees, reminders, recurrence, and conference data.
Update all fields of an existing event. CRITICAL: start/end times must use identical format (both ‘date’ OR both ‘dateTime’). For partial updates, use patch_event instead.
Partially update specific fields of an event without replacing the entire event. Only provided fields are modified. Safer than update_event for simple changes.
Import an event without sending notifications. Useful for bulk imports, migrations, or adding historical events. Preserves original event IDs and timestamps.
Create an event using natural language text (e.g., ‘Lunch with John tomorrow at 12pm’). Google’s AI parses dates, times, and details automatically.
Set up push notifications for event changes. Requires publicly accessible HTTPS endpoint. Returns channel ID and resource ID to stop the watch later.
Retrieve all instances of a recurring event within a time range. Expands recurring events into actual occurrences with specific dates and times.
Stop an active push notification channel. Requires channel ID and resource ID from watch creation. Cannot be restarted once stopped.
List all user settings and preferences including timezone, date format, time format, and week start day.
Retrieve a specific user setting by ID (e.g., ‘timezone’, ‘timeFormat’, ‘weekStart’, ‘locale’).
Retrieve available color palette for calendars and events with color IDs mapped to hex codes.
Query free/busy availability for multiple calendars within a time range. Returns busy periods for scheduling meetings and finding available time slots.
Set up push notifications for user settings changes. Requires publicly accessible HTTPS endpoint. Returns channel ID and resource ID to stop the watch later.