# Google Calendar — Pipedream Connect

> With Google Calendar, you can quickly schedule meetings and events and get reminders about upcoming activities, so you always know what’s next.

- API slug: `google_calendar` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://calendar.google.com
- Managed OAuth scopes: `https://www.googleapis.com/auth/calendar.events` · `https://www.googleapis.com/auth/calendar.readonly` · `https://www.googleapis.com/auth/calendar.settings.readonly`
- This page (HTML): https://pipedream.com/apps/google-calendar
- Tools: 17 actions · 6 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: google_calendar`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "google_calendar",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Attendees To Event:
const result = await mcp.callTool({
  name: "google_calendar-add-attendees-to-event",
  arguments: {
    calendarId: "Calendar",
    eventId: "Event",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Google Calendar endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://www.googleapis.com/calendar/v3/users/me/settings

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2FsZW5kYXIvdjMvdXNlcnMvbWUvc2V0dGluZ3M?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "google_calendar-add-attendees-to-event",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_calendar: { authProvisionId: "apn_xxxxxxx" },
    calendarId: "Calendar",
    eventId: "Event",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (17)

### `google_calendar-add-attendees-to-event` — Add Attendees To Event (Write)

Add one or more attendees (invitees) to an event that ALREADY EXISTS on a Google Calendar, without recreating it. New attendees are merged into the event's current attendee list — existing attendees are preserved, not replaced. Use this when the user wants to invite additional people to an event…

Full schema: https://pipedream.com/apps/google-calendar/actions/add-attendees-to-event.md

### `google_calendar-quick-add-event` — Add Quick Event (Write)

Create a quick event to the Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/quick-add-event.md

### `google_calendar-create-event` — Create Event (Write)

Create a new event on a Google Calendar — a single or recurring appointment at a specific date/time (optionally with attendees, location, and description). Use this whenever the user wants to add something to their calendar. This creates calendar EVENTS only: it cannot configure calendar settings…

Full schema: https://pipedream.com/apps/google-calendar/actions/create-event.md

### `google_calendar-delete-event` — Delete an Event (Write)

Delete a single event from a Google Calendar. Deletes only the one event identified by eventId — it does NOT clear a whole day or delete multiple events. When the user asks to delete several events, clear a day, or the target is ambiguous, first confirm with the user (ideally listing what will be…

Full schema: https://pipedream.com/apps/google-calendar/actions/delete-event.md

### `google_calendar-get-current-user` — Get Current User (Read-only)

Retrieve information about the authenticated Google Calendar account, including the primary calendar (summary, timezone, ACL flags), a list of accessible calendars, user-level settings (timezone, locale, week start), and the color palette that controls events and calendars. Ideal for confirming…

Full schema: https://pipedream.com/apps/google-calendar/actions/get-current-user.md

### `google_calendar-get-date-time` — Get Date Time (Read-only)

Get current date and time for use in Google Calendar actions. Useful for agents that need datetime awareness and timezone context before calling other Google Calendar tools.

Full schema: https://pipedream.com/apps/google-calendar/actions/get-date-time.md

### `google_calendar-list-calendars` — List Calendars (Read-only)

Retrieve a list of calendars from Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/list-calendars.md

### `google_calendar-list-color-id-options` — List Color ID Options (Read-only)

Retrieves available options for the Color ID field.

Full schema: https://pipedream.com/apps/google-calendar/actions/list-color-id-options.md

### `google_calendar-list-event-instances` — List Event Instances (Read-only)

Retrieve instances of a recurring event. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/list-event-instances.md

### `google_calendar-list-events` — List Events (Read-only)

List or search the events on a Google Calendar. Use this for "what's on my calendar", "what's my schedule/agenda", "what's coming up", "am I busy/free", or any question about the events in a date range: set timeMin/timeMax for the window, q to search event text, and singleEvents to true to expand…

Full schema: https://pipedream.com/apps/google-calendar/actions/list-events.md

### `google_calendar-respond-to-event` — Respond to Event Invitation (Write)

Accept, decline, or tentatively accept a Google Calendar event invitation on behalf of the authenticated user. Use this when you need to RSVP to an event. You can identify the event by its exact eventId or by eventName (searches upcoming events by title). If both are provided, eventId takes…

Full schema: https://pipedream.com/apps/google-calendar/actions/respond-to-event.md

### `google_calendar-get-calendar` — Retrieve Calendar Details (Read-only)

Retrieve calendar details of a Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/get-calendar.md

### `google_calendar-get-event` — Retrieve Event Details (Read-only)

Retrieve event details from Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/get-event.md

### `google_calendar-query-free-busy-calendars` — Retrieve Free/Busy Calendar Details (Read-only)

Retrieve free/busy calendar details from Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/query-free-busy-calendars.md

### `google_calendar-update-event` — Update Event (Write)

Update an event from Google Calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/update-event.md

### `google_calendar-update-event-instance` — Update Event Instance (Write)

Update a specific instance of a recurring event. Changes apply only to the selected instance. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/update-event-instance.md

### `google_calendar-update-following-instances` — Update Following Event Instances (Write)

Update all instances of a recurring event following a specific instance. This creates a new recurring event starting from the selected instance. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/actions/update-following-instances.md

## Triggers (6)

### `google_calendar-new-or-updated-event-instant` — New Created or Updated Event (Instant) (Polling)

Emit new event when a Google Calendar events is created or updated (does not emit cancelled events)

Full schema: https://pipedream.com/apps/google-calendar/triggers/new-or-updated-event-instant.md

### `google_calendar-new-calendar` — New Calendar Created (Polling)

Emit new event when a calendar is created.

Full schema: https://pipedream.com/apps/google-calendar/triggers/new-calendar.md

### `google_calendar-new-event-search` — New Event Matching a Search (Polling)

Emit new event when a Google Calendar event is created that matches a search

Full schema: https://pipedream.com/apps/google-calendar/triggers/new-event-search.md

### `google_calendar-event-cancelled` — New Cancelled Event (Polling)

Emit new event when a Google Calendar event is cancelled or deleted

Full schema: https://pipedream.com/apps/google-calendar/triggers/event-cancelled.md

### `google_calendar-event-ended` — New Ended Event (Polling)

Emit new event when a Google Calendar event ends

Full schema: https://pipedream.com/apps/google-calendar/triggers/event-ended.md

### `google_calendar-upcoming-event-alert-polling` — New Upcoming Event Alert (Polling) (Polling)

Emit new event based on a time interval before an upcoming event in the calendar. See the documentation

Full schema: https://pipedream.com/apps/google-calendar/triggers/upcoming-event-alert-polling.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
