> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# google-calendar

> Events, calendars, and attendees

**Server path:** `/google-calendar` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                      | Description                                                                                                                                                                  |
| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`google-calendar_list_events`](#google-calendar_list_events)                             | List Google Calendar events within a specified time range                                                                                                                    |
| [`google-calendar_create_event`](#google-calendar_create_event)                           | Create a new Google Calendar event with attendees and scheduling options                                                                                                     |
| [`google-calendar_update_event`](#google-calendar_update_event)                           | Update an existing Google Calendar event                                                                                                                                     |
| [`google-calendar_delete_event`](#google-calendar_delete_event)                           | Permanently delete a Google Calendar event                                                                                                                                   |
| [`google-calendar_find_free_time`](#google-calendar_find_free_time)                       | Find available time slots within a specified time range                                                                                                                      |
| [`google-calendar_add_attendees_to_event`](#google-calendar_add_attendees_to_event)       | Add attendees to an existing Google Calendar event                                                                                                                           |
| [`google-calendar_get_calendar`](#google-calendar_get_calendar)                           | Retrieve details of a specific Google Calendar                                                                                                                               |
| [`google-calendar_list_calendars`](#google-calendar_list_calendars)                       | List all calendars accessible to the user                                                                                                                                    |
| [`google-calendar_get_current_user`](#google-calendar_get_current_user)                   | Get current user information from Google Calendar                                                                                                                            |
| [`google-calendar_query_free_busy`](#google-calendar_query_free_busy)                     | Check availability across multiple calendars for scheduling                                                                                                                  |
| [`google-calendar_quick_add_event`](#google-calendar_quick_add_event)                     | Quickly create an event using natural language text                                                                                                                          |
| [`google-calendar_get_event`](#google-calendar_get_event)                                 | Get detailed information about a specific calendar event                                                                                                                     |
| [`google-calendar_list_trigger_capabilities`](#google-calendar_list_trigger_capabilities) | List available trigger capabilities for Google Calendar                                                                                                                      |
| [`google-calendar_poll_trigger`](#google-calendar_poll_trigger)                           | Poll Google Calendar for events based on trigger types (created, updated, cancelled, started, ended). Supports multiple event types and optional natural language filtering. |

***

## google-calendar\_list\_events

List Google Calendar events within a specified time range

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                                                |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `timeMin`    | string | No       | —       | Minimum time for event (ISO 8601 format, e.g., "2024-01-01T00:00:00Z")                                                                     |
| `timeMax`    | string | No       | —       | Maximum time for event (ISO 8601 format, e.g., "2024-12-31T23:59:59Z")                                                                     |
| `timeZone`   | string | No       | —       | IANA timezone for interpreting timeMin/timeMax and formatting results (e.g., "America/Los\_Angeles"). Defaults to the calendar's timezone. |
| `maxResults` | number | No       | `10`    | Maximum number of results to return, default is 10                                                                                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "timeMin": {
        "type": "string",
        "description": "Minimum time for event (ISO 8601 format, e.g., \"2024-01-01T00:00:00Z\")"
      },
      "timeMax": {
        "type": "string",
        "description": "Maximum time for event (ISO 8601 format, e.g., \"2024-12-31T23:59:59Z\")"
      },
      "timeZone": {
        "type": "string",
        "description": "IANA timezone for interpreting timeMin/timeMax and formatting results (e.g., \"America/Los_Angeles\"). Defaults to the calendar's timezone."
      },
      "maxResults": {
        "type": "number",
        "default": 10,
        "description": "Maximum number of results to return, default is 10"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_create\_event

Create a new Google Calendar event with attendees and scheduling options

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                                         |
| ------------- | --------- | -------- | ------- | ------------------------------------------------------------------- |
| `summary`     | string    | Yes      | —       | Summary/title of the event                                          |
| `description` | string    | No       | —       | Detailed description of the event                                   |
| `startTime`   | string    | Yes      | —       | Start time of event (ISO 8601 format, e.g., "2024-01-01T14:00:00Z") |
| `endTime`     | string    | Yes      | —       | End time of event (ISO 8601 format, e.g., "2024-01-01T15:00:00Z")   |
| `attendees`   | string\[] | No       | —       | List of email addresses of attendees to invite                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "summary": {
        "type": "string",
        "description": "Summary/title of the event"
      },
      "description": {
        "type": "string",
        "description": "Detailed description of the event"
      },
      "startTime": {
        "type": "string",
        "description": "Start time of event (ISO 8601 format, e.g., \"2024-01-01T14:00:00Z\")"
      },
      "endTime": {
        "type": "string",
        "description": "End time of event (ISO 8601 format, e.g., \"2024-01-01T15:00:00Z\")"
      },
      "attendees": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of email addresses of attendees to invite"
      }
    },
    "required": [
      "PCID",
      "summary",
      "startTime",
      "endTime"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_update\_event

Update an existing Google Calendar event

**Parameters:**

| Parameter     | Type   | Required | Default | Description                              |
| ------------- | ------ | -------- | ------- | ---------------------------------------- |
| `eventId`     | string | Yes      | —       | Unique identifier of the event to update |
| `summary`     | string | No       | —       | Updated summary/title of the event       |
| `description` | string | No       | —       | Updated description of the event         |
| `startTime`   | string | No       | —       | Updated start time (ISO 8601 format)     |
| `endTime`     | string | No       | —       | Updated end time (ISO 8601 format)       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "eventId": {
        "type": "string",
        "description": "Unique identifier of the event to update"
      },
      "summary": {
        "type": "string",
        "description": "Updated summary/title of the event"
      },
      "description": {
        "type": "string",
        "description": "Updated description of the event"
      },
      "startTime": {
        "type": "string",
        "description": "Updated start time (ISO 8601 format)"
      },
      "endTime": {
        "type": "string",
        "description": "Updated end time (ISO 8601 format)"
      }
    },
    "required": [
      "PCID",
      "eventId"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_delete\_event

Permanently delete a Google Calendar event

**Parameters:**

| Parameter | Type   | Required | Default | Description        |
| --------- | ------ | -------- | ------- | ------------------ |
| `eventId` | string | Yes      | —       | Event ID to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "eventId": {
        "type": "string",
        "description": "Event ID to delete"
      }
    },
    "required": [
      "PCID",
      "eventId"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_find\_free\_time

Find available time slots within a specified time range

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                      |
| ---------- | ------ | -------- | ------- | ---------------------------------------------------------------- |
| `timeMin`  | string | Yes      | —       | Start of time range to search for availability (ISO 8601 format) |
| `timeMax`  | string | Yes      | —       | End of time range to search for availability (ISO 8601 format)   |
| `duration` | number | Yes      | —       | Required duration of the time slot in minutes                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "timeMin": {
        "type": "string",
        "description": "Start of time range to search for availability (ISO 8601 format)"
      },
      "timeMax": {
        "type": "string",
        "description": "End of time range to search for availability (ISO 8601 format)"
      },
      "duration": {
        "type": "number",
        "description": "Required duration of the time slot in minutes"
      }
    },
    "required": [
      "PCID",
      "timeMin",
      "timeMax",
      "duration"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_add\_attendees\_to\_event

Add attendees to an existing Google Calendar event

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                  |
| ------------- | --------- | -------- | ------- | -------------------------------------------- |
| `calendarId`  | string    | No       | —       | Calendar ID (defaults to primary calendar)   |
| `eventId`     | string    | Yes      | —       | Event ID to add attendees to                 |
| `attendees`   | string\[] | Yes      | —       | Array of email addresses to add as attendees |
| `sendUpdates` | string    | No       | `"all"` | Whether to send email updates to attendees   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "calendarId": {
        "type": "string",
        "description": "Calendar ID (defaults to primary calendar)"
      },
      "eventId": {
        "type": "string",
        "description": "Event ID to add attendees to"
      },
      "attendees": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of email addresses to add as attendees"
      },
      "sendUpdates": {
        "type": "string",
        "enum": [
          "all",
          "externalOnly",
          "none"
        ],
        "default": "all",
        "description": "Whether to send email updates to attendees"
      }
    },
    "required": [
      "PCID",
      "eventId",
      "attendees"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_get\_calendar

Retrieve details of a specific Google Calendar

**Parameters:**

| Parameter    | Type   | Required | Default | Description                         |
| ------------ | ------ | -------- | ------- | ----------------------------------- |
| `calendarId` | string | Yes      | —       | Calendar ID to retrieve details for |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "calendarId": {
        "type": "string",
        "description": "Calendar ID to retrieve details for"
      }
    },
    "required": [
      "PCID",
      "calendarId"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_list\_calendars

List all calendars accessible to the user

**Parameters:**

| Parameter    | Type   | Required | Default | Description                           |
| ------------ | ------ | -------- | ------- | ------------------------------------- |
| `maxResults` | number | No       | `250`   | Maximum number of calendars to return |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "maxResults": {
        "type": "number",
        "default": 250,
        "description": "Maximum number of calendars to return"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_get\_current\_user

Get current user information from Google Calendar

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_query\_free\_busy

Check availability across multiple calendars for scheduling

**Parameters:**

| Parameter     | Type      | Required | Default | Description                                          |
| ------------- | --------- | -------- | ------- | ---------------------------------------------------- |
| `timeMin`     | string    | Yes      | —       | Start time for availability check (ISO 8601 format)  |
| `timeMax`     | string    | Yes      | —       | End time for availability check (ISO 8601 format)    |
| `calendarIds` | string\[] | No       | —       | Array of calendar IDs to check (defaults to primary) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "timeMin": {
        "type": "string",
        "description": "Start time for availability check (ISO 8601 format)"
      },
      "timeMax": {
        "type": "string",
        "description": "End time for availability check (ISO 8601 format)"
      },
      "calendarIds": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of calendar IDs to check (defaults to primary)"
      }
    },
    "required": [
      "PCID",
      "timeMin",
      "timeMax"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_quick\_add\_event

Quickly create an event using natural language text

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                          |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------------------------ |
| `calendarId` | string | No       | —       | Calendar ID (defaults to primary calendar)                                           |
| `text`       | string | Yes      | —       | Natural language description of the event (e.g., "Lunch with John tomorrow at 12pm") |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "calendarId": {
        "type": "string",
        "description": "Calendar ID (defaults to primary calendar)"
      },
      "text": {
        "type": "string",
        "description": "Natural language description of the event (e.g., \"Lunch with John tomorrow at 12pm\")"
      }
    },
    "required": [
      "PCID",
      "text"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_get\_event

Get detailed information about a specific calendar event

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                |
| ------------ | ------ | -------- | ------- | ------------------------------------------ |
| `calendarId` | string | No       | —       | Calendar ID (defaults to primary calendar) |
| `eventId`    | string | Yes      | —       | Event ID to retrieve                       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "calendarId": {
        "type": "string",
        "description": "Calendar ID (defaults to primary calendar)"
      },
      "eventId": {
        "type": "string",
        "description": "Event ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "eventId"
    ]
  }
  ```
</Expandable>

***

## google-calendar\_list\_trigger\_capabilities

List available trigger capabilities for Google Calendar

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID (optional)"
      }
    }
  }
  ```
</Expandable>

***

## google-calendar\_poll\_trigger

Poll Google Calendar for events based on trigger types (created, updated, cancelled, started, ended). Supports multiple event types and optional natural language filtering.

**Parameters:**

| Parameter      | Type      | Required | Default | Description                                                                                                                                                                                                                   |
| -------------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventTypes`   | string\[] | Yes      | —       | Required: Event types to trigger on. Select one or more: "created" for new events, "updated" for modified events, "cancelled" for deleted events, "started" for events that just started, "ended" for events that just ended. |
| `calendarId`   | string    | No       | —       | Calendar ID to poll (defaults to primary)                                                                                                                                                                                     |
| `eventFilter`  | string    | No       | —       | Optional natural language filter to match specific events (e.g., "meetings with John", "team standup", "all-day events", "recurring meetings")                                                                                |
| `cursor`       | string    | No       | —       | Sync token or state from previous poll for incremental sync                                                                                                                                                                   |
| `minTimestamp` | number    | No       | —       | Unix timestamp in seconds - never fetch events older than this                                                                                                                                                                |
| `maxResults`   | number    | No       | `100`   | Maximum number of events to return                                                                                                                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "eventTypes": {
        "type": "array",
        "items": {
          "type": "string",
          "enum": [
            "created",
            "updated",
            "cancelled",
            "started",
            "ended"
          ]
        },
        "description": "Required: Event types to trigger on. Select one or more: \"created\" for new events, \"updated\" for modified events, \"cancelled\" for deleted events, \"started\" for events that just started, \"ended\" for events that just ended."
      },
      "calendarId": {
        "type": "string",
        "description": "Calendar ID to poll (defaults to primary)"
      },
      "eventFilter": {
        "type": "string",
        "description": "Optional natural language filter to match specific events (e.g., \"meetings with John\", \"team standup\", \"all-day events\", \"recurring meetings\")"
      },
      "cursor": {
        "type": "string",
        "description": "Sync token or state from previous poll for incremental sync"
      },
      "minTimestamp": {
        "type": "number",
        "description": "Unix timestamp in seconds - never fetch events older than this"
      },
      "maxResults": {
        "type": "number",
        "default": 100,
        "description": "Maximum number of events to return"
      }
    },
    "required": [
      "PCID",
      "eventTypes"
    ]
  }
  ```
</Expandable>
