

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.
Manage credentials in your dashboard.
Actions(9)
list_calendars5cr3 paramsList all calendars the user has access to.
list_calendars5cr3 paramsList all calendars the user has access to.
calendar_idstringCalendar ID to operate on. Use 'primary' for the user's main calendar.
Default:
primarymax_resultsintegerMaximum number of calendars to return (1-250).
Default:
50Range: 1 - 250
page_tokenstringToken for fetching next page of results from a previous call.
list_events5cr5 paramsList events from a calendar within an optional date range. Defaults to upcoming events from the current time.
list_events5cr5 paramsList events from a calendar within an optional date range. Defaults to upcoming events from the current time.
calendar_idstringCalendar ID to list events from. Defaults to 'primary'.
Default:
primarytime_minstringStart of time range in ISO 8601 format (e.g., '2026-03-10T00:00:00Z'). Defaults to current time if omitted.
time_maxstringEnd of time range in ISO 8601 format.
max_resultsintegerMaximum number of events to return (1-250).
Default:
50Range: 1 - 250
page_tokenstringToken for fetching next page of results.
get_event5cr2 params(1 required)Get full details of a specific calendar event.
get_event5cr2 params(1 required)Get full details of a specific calendar event.
event_idrequiredstringEvent ID to retrieve. Obtain from list_events or search_events.
calendar_idstringCalendar ID containing the event. Defaults to 'primary'.
Default:
primarycreate_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_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).
summaryrequiredstringEvent title (max 1024 characters).
Length: 0 - 1024
start_datetimestringEvent start time in ISO 8601 format with timezone (e.g., '2026-03-15T14:00:00-05:00'). Required for timed events.
end_datetimestringEvent end time in ISO 8601 format with timezone. Required for timed events.
start_datestringAll-day event start date in YYYY-MM-DD format. Required for all-day events.
end_datestringAll-day event end date in YYYY-MM-DD format (exclusive - use day after for single-day events). Required for all-day events.
calendar_idstringCalendar ID to create the event in. Defaults to 'primary'.
Default:
primarydescriptionstringEvent description or notes.
locationstringEvent location (address or place name).
timezonestringIANA timezone (e.g., 'America/New_York'). Defaults to calendar timezone when omitted.
attendeesarrayList of attendees to invite to the event.
Array of: object
send_updatesstringWho to send email notifications to.
Values:
allexternalOnlynone
Default:
allrecurrenceobjectRecurrence 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.remindersarrayCustom reminder settings (only used when use_default_reminders is false).
Array of: object
use_default_remindersbooleanUse calendar's default reminders instead of custom ones.
Default:
trueadd_video_conferencebooleanAutomatically add a Google Meet link to the event.
Default:
falsevisibilitystringEvent visibility setting.
Values:
defaultpublicprivateconfidential
show_asstringHow 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.
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.
textrequiredstringNatural language event description (e.g., 'Lunch with Sarah tomorrow at noon').
calendar_idstringCalendar ID to create the event in. Defaults to 'primary'.
Default:
primarysend_updatesstringWho to send email notifications to.
Values:
allexternalOnlynone
Default:
allupdate_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_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.
event_idrequiredstringEvent ID to update.
calendar_idstringCalendar ID containing the event. Defaults to 'primary'.
Default:
primarysummarystringNew event title.
Length: 0 - 1024
descriptionstringNew event description.
locationstringNew event location.
start_datetimestringNew start time in ISO 8601 (must provide end_datetime too).
end_datetimestringNew end time in ISO 8601 (must provide start_datetime too).
start_datestringNew all-day start date YYYY-MM-DD (must provide end_date too).
end_datestringNew all-day end date YYYY-MM-DD (must provide start_date too).
timezonestringIANA timezone for the updated times.
attendeesarrayUpdated attendee list (replaces existing attendees).
Array of: object
recurrenceobjectUpdated 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.remindersarrayUpdated custom reminders.
Array of: object
add_video_conferencebooleanAdd a Google Meet link.
Default:
falsevisibilitystringUpdated visibility setting.
Values:
defaultpublicprivateconfidential
show_asstringUpdated availability display.
Values:
busyfree
send_updatesstringWho to send notification emails to.
Values:
allexternalOnlynone
Default:
alldelete_event5cr3 params(1 required)Delete an event from the calendar.
delete_event5cr3 params(1 required)Delete an event from the calendar.
event_idrequiredstringEvent ID to delete.
calendar_idstringCalendar ID containing the event. Defaults to 'primary'.
Default:
primarysend_updatesstringWho to send cancellation notifications to.
Values:
allexternalOnlynone
Default:
allsearch_events5cr6 params(1 required)Search for events by text. Searches event title, description, location, and attendees.
search_events5cr6 params(1 required)Search for events by text. Searches event title, description, location, and attendees.
queryrequiredstringSearch text to match against events.
calendar_idstringCalendar ID to search in. Defaults to 'primary'.
Default:
primarytime_minstringStart of search range in ISO 8601. Defaults to current time.
time_maxstringEnd of search range in ISO 8601.
max_resultsintegerMaximum events to return (1-250).
Default:
50Range: 1 - 250
page_tokenstringPagination 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_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.
time_minrequiredstringStart of range in ISO 8601 format.
time_maxrequiredstringEnd of range in ISO 8601 format.
calendar_idstringCalendar ID; used when check_calendars is not provided. Defaults to 'primary'.
Default:
primarycheck_calendarsarrayMultiple calendar IDs to check availability across.
Array of: string
attendee_emailsarrayEmail addresses to check availability for (requires domain access).
Array of: string
timezonestringIANA timezone for the query.
Frequently Asked Questions
How do I connect this tool to an external agent?
You can install the local MCP server by opening a terminal and running:
Install commands
npm install -g @agentpmt/mcp-router
agentpmt-setupThis will connect you to local agents like Claude Code, Windsurf, Grok Build, Cursor, etc.
Alternatively you can connect to the hosted version with this config block, no installation required:
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\"}"
}
}
}
}View MCP Connection Instructions for more details.
How does an external agent use this tool?
After the external agent is connected to an Agent Group that can use this tool, paste this prompt into the agent:
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.
The agent should fetch the tool schema first, collect the required parameters for your request, and then call the tool through AgentPMT.





