AgentPMT
Google Calendar

Google Calendar

Function

Available ActionsEach successful request consumes credits as outlined below.

list_calendars5crlist_events5crget_event5crcreate_event5crquick_add5crupdate_event5crdelete_event5crsearch_events5crcheck_availability5cr

Details

Comprehensive Google Calendar integration tool that enables AI agents to manage calendar events and check availability on behalf of users. The tool supports all essential calendar operations including listing calendars and events, creating events with full details or natural language input, updating and deleting events, searching for events by text, and checking free/busy availability. Features include support for recurring events with flexible scheduling patterns, Google Meet video conference integration, attendee management with customizable notification settings, and timezone-aware scheduling. The tool handles both timed events and all-day events, supports custom reminders, and provides paginated results for calendars with many events.

Use Cases

Scheduling meetings with attendees, Checking calendar availability before booking, Creating recurring events like weekly team standups, Adding Google Meet links to virtual meetings, Finding events by searching for keywords, Managing event details and locations, Sending calendar invitations to external participants, Viewing upcoming events for the day or week, Canceling and rescheduling meetings with notifications, Quick event creation from natural language descriptions

Credentials

Google OAuth *
Connect your Google account.
oauth token

Manage credentials in your dashboard.

Actions(9)

list_calendars5cr3 params

List all calendars the user has access to.

List all calendars the user has access to.

calendar_idstring

Calendar ID to operate on. Use 'primary' for the user's main calendar.

Default: primary
max_resultsinteger

Maximum number of calendars to return (1-250).

Default: 50
Range: 1 - 250
page_tokenstring

Token for fetching next page of results from a previous call.

list_events5cr5 params

List events from a calendar within an optional date range. Defaults to upcoming events from the current time.

List events from a calendar within an optional date range. Defaults to upcoming events from the current time.

calendar_idstring

Calendar ID to list events from. Defaults to 'primary'.

Default: primary
time_minstring

Start of time range in ISO 8601 format (e.g., '2026-03-10T00:00:00Z'). Defaults to current time if omitted.

time_maxstring

End of time range in ISO 8601 format.

max_resultsinteger

Maximum number of events to return (1-250).

Default: 50
Range: 1 - 250
page_tokenstring

Token for fetching next page of results.

get_event5cr2 params(1 required)

Get full details of a specific calendar event.

Get full details of a specific calendar event.

event_idrequiredstring

Event ID to retrieve. Obtain from list_events or search_events.

calendar_idstring

Calendar ID containing the event. Defaults to 'primary'.

Default: primary
create_event5cr17 params(1 required)

Create a new calendar event. Provide either timed event fields (start_datetime/end_datetime) or all-day event fields (start_date/end_date).

Create a new calendar event. Provide either timed event fields (start_datetime/end_datetime) or all-day event fields (start_date/end_date).

summaryrequiredstring

Event title (max 1024 characters).

Length: 0 - 1024
start_datetimestring

Event start time in ISO 8601 format with timezone (e.g., '2026-03-15T14:00:00-05:00'). Required for timed events.

end_datetimestring

Event end time in ISO 8601 format with timezone. Required for timed events.

start_datestring

All-day event start date in YYYY-MM-DD format. Required for all-day events.

end_datestring

All-day event end date in YYYY-MM-DD format (exclusive - use day after for single-day events). Required for all-day events.

calendar_idstring

Calendar ID to create the event in. Defaults to 'primary'.

Default: primary
descriptionstring

Event description or notes.

locationstring

Event location (address or place name).

timezonestring

IANA timezone (e.g., 'America/New_York'). Defaults to calendar timezone when omitted.

attendeesarray

List of attendees to invite to the event.

Array of: object
send_updatesstring

Who to send email notifications to.

Values:
allexternalOnlynone
Default: all
recurrenceobject

Recurrence settings for repeating events.

Properties:
frequency*(string)- How often the event repeats. Required when recurrence is provided.
interval(integer)- Repeat every N frequency units.
count(integer)- Total number of occurrences.
until(string)- End date for recurrence (YYYY-MM-DD or ISO 8601).
by_day(array)- Days of week for WEEKLY frequency.
remindersarray

Custom reminder settings (only used when use_default_reminders is false).

Array of: object
use_default_remindersboolean

Use calendar's default reminders instead of custom ones.

Default: true
add_video_conferenceboolean

Automatically add a Google Meet link to the event.

Default: false
visibilitystring

Event visibility setting.

Values:
defaultpublicprivateconfidential
show_asstring

How the event appears in free/busy queries.

Values:
busyfree
quick_add5cr3 params(1 required)

Create an event from a natural language description. Google Calendar parses the text to extract event title, date, and time.

Create an event from a natural language description. Google Calendar parses the text to extract event title, date, and time.

textrequiredstring

Natural language event description (e.g., 'Lunch with Sarah tomorrow at noon').

calendar_idstring

Calendar ID to create the event in. Defaults to 'primary'.

Default: primary
send_updatesstring

Who to send email notifications to.

Values:
allexternalOnlynone
Default: all
update_event5cr17 params(1 required)

Update an existing event. Only provided fields will be changed; all other fields remain as-is. The existing event is fetched first, then the provided fields are merged.

Update an existing event. Only provided fields will be changed; all other fields remain as-is. The existing event is fetched first, then the provided fields are merged.

event_idrequiredstring

Event ID to update.

calendar_idstring

Calendar ID containing the event. Defaults to 'primary'.

Default: primary
summarystring

New event title.

Length: 0 - 1024
descriptionstring

New event description.

locationstring

New event location.

start_datetimestring

New start time in ISO 8601 (must provide end_datetime too).

end_datetimestring

New end time in ISO 8601 (must provide start_datetime too).

start_datestring

New all-day start date YYYY-MM-DD (must provide end_date too).

end_datestring

New all-day end date YYYY-MM-DD (must provide start_date too).

timezonestring

IANA timezone for the updated times.

attendeesarray

Updated attendee list (replaces existing attendees).

Array of: object
recurrenceobject

Updated recurrence settings.

Properties:
frequency*(string)- How often the event repeats. Required when recurrence is provided.
interval(integer)- Repeat every N frequency units.
count(integer)- Total number of occurrences.
until(string)- End date for recurrence.
by_day(array)- Days of week for WEEKLY frequency.
remindersarray

Updated custom reminders.

Array of: object
add_video_conferenceboolean

Add a Google Meet link.

Default: false
visibilitystring

Updated visibility setting.

Values:
defaultpublicprivateconfidential
show_asstring

Updated availability display.

Values:
busyfree
send_updatesstring

Who to send notification emails to.

Values:
allexternalOnlynone
Default: all
delete_event5cr3 params(1 required)

Delete an event from the calendar.

Delete an event from the calendar.

event_idrequiredstring

Event ID to delete.

calendar_idstring

Calendar ID containing the event. Defaults to 'primary'.

Default: primary
send_updatesstring

Who to send cancellation notifications to.

Values:
allexternalOnlynone
Default: all
search_events5cr6 params(1 required)

Search for events by text. Searches event title, description, location, and attendees.

Search for events by text. Searches event title, description, location, and attendees.

queryrequiredstring

Search text to match against events.

calendar_idstring

Calendar ID to search in. Defaults to 'primary'.

Default: primary
time_minstring

Start of search range in ISO 8601. Defaults to current time.

time_maxstring

End of search range in ISO 8601.

max_resultsinteger

Maximum events to return (1-250).

Default: 50
Range: 1 - 250
page_tokenstring

Pagination token from a previous response.

check_availability5cr6 params(2 required)

Check free/busy times across one or more calendars. Returns busy periods, free blocks, and common available time slots when checking multiple calendars.

Check free/busy times across one or more calendars. Returns busy periods, free blocks, and common available time slots when checking multiple calendars.

time_minrequiredstring

Start of range in ISO 8601 format.

time_maxrequiredstring

End of range in ISO 8601 format.

calendar_idstring

Calendar ID; used when check_calendars is not provided. Defaults to 'primary'.

Default: primary
check_calendarsarray

Multiple calendar IDs to check availability across.

Array of: string
attendee_emailsarray

Email addresses to check availability for (requires domain access).

Array of: string
timezonestring

IANA timezone for the query.

Frequently Asked Questions

How do I connect this tool to an external agent?

Install commands

npm install -g @agentpmt/mcp-router
agentpmt-setup

Hosted MCP config

{
  "mcpServers": {
    "agentpmt": {
      "type": "streamable-http",
      "url": "https://api.agentpmt.com/mcp",
      "headers": {
        "Authorization": "Bearer <AGENTPMT_BEARER_TOKEN>",
        "x-instance-metadata": "{\"client\":\"generic-mcp\",\"platform\":\"remote\"}"
      }
    }
  }
}

How does an external agent use this tool?

Agent prompt

Call the AgentPMT-Tool-Search-and-Execution tool with action 'get_schema' and tool_id 6961b8314991c3b032310fca ("Google Calendar"). Then call the same tool with action 'call_tool', tool_id 6961b8314991c3b032310fca, and the parameters needed for my request.

Looking for help integrating AI into your business? Set up a free consultation.

Google Calendar by Apoth3osis | AgentPMT