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

# Google Calendar

> Schedule and manage calendar events with availability checking

## Overview

Integrate Google Calendar to schedule meetings, manage events, and check availability directly from CORE. Access 8 powerful tools for complete calendar management without leaving your workspace.

## Setup Guide

* `Authentication Type` : OAuth 2.0 (Google)

## How to Connect

1. Navigate to [CORE Dashboard](https://app.getcore.me) → **Integrations**
2. Click on the **Google Calendar** card
3. Click **Connect** to authorize CORE
4. You'll be redirected to Google to authorize the application
5. Grant the required permissions to access your calendars
6. You'll be redirected back to CORE once connected

## Use Cases

When you ask CORE to perform Google Calendar tasks, it uses MCP tools to execute your requests:

<AccordionGroup>
  <Accordion title="Schedule Meetings" icon="calendar">
    **Scenario**: Quickly create a meeting with multiple attendees and send invitations

    ```
    "Create a meeting called 'Team Sync' next Wednesday from 2:00 PM to 3:00 PM
    with attendees alice@company.com, bob@company.com, and carol@company.com.
    Add a Google Meet link and set a 15-minute email reminder"
    ```

    The agent will use `create_event` to create the event with all attendees, Google Meet conference link, email or popup reminders, and recurrence rules in RRULE format.
  </Accordion>

  <Accordion title="Check Availability" icon="clock">
    **Scenario**: Find available time slots before proposing a meeting time

    ```
    "Check my availability for January 20th from 9 AM to 5 PM,
    and show me all existing events for that day"
    ```

    The agent will use `get_freebusy` to check availability and `list_events` to show scheduled events, helping you find open time slots.
  </Accordion>

  <Accordion title="Manage Recurring Events" icon="repeat">
    **Scenario**: Create recurring team meetings or recurring personal tasks

    ```
    "Create a weekly team standup meeting every Monday, Wednesday, and Friday
    at 9:00 AM for the next 12 weeks with the development team"
    ```

    The agent will use `create_event` with recurrence rules (RRULE format) to set up the recurring meeting.
  </Accordion>

  <Accordion title="Multi-Calendar Management" icon="calendar-days">
    **Scenario**: Work with multiple calendars and check availability across them

    ```
    "List all my calendars, then check my availability
    across my work and personal calendars for next Tuesday"
    ```

    The agent will:

    1. Use `list_calendars` to see all available calendars
    2. Use `get_freebusy` with multiple calendar IDs to check combined availability
  </Accordion>

  <Accordion title="Quick Event Creation" icon="bolt">
    **Scenario**: Add events using natural language without specifying all details

    ```
    "Quick add: 'Lunch with Mark at Italian Bistro tomorrow at noon'"
    ```

    The agent will use `quick_add_event` to parse the natural language and create the event automatically.
  </Accordion>

  <Accordion title="Update Meeting Details" icon="pen">
    **Scenario**: Modify an existing meeting time or attendee list

    ```
    "Update the Q1 Planning meeting to move it from 10 AM to 3 PM
    and add dev-lead@company.com as an attendee"
    ```

    The agent will use `get_event` to retrieve the event details, then `update_event` to apply the changes.
  </Accordion>

  <Accordion title="Find Meeting Slots" icon="search">
    **Scenario**: Identify available meeting times by checking free/busy across attendee calendars

    ```
    "Find a 1-hour slot on January 22nd when john@company.com,
    jane@company.com, and I are all available"
    ```

    The agent will use `get_freebusy` with all three calendar IDs to identify overlapping free time.
  </Accordion>

  <Accordion title="Calendar Cleanup" icon="trash">
    **Scenario**: Remove cancelled or rescheduled events

    ```
    "Delete the old 'Conference Call' event from January 10th
    and don't send notifications to attendees"
    ```

    The agent will use `delete_event` to remove the event without notifying attendees.
  </Accordion>
</AccordionGroup>

## Scopes

* `calendar.readonly` - Read access to your calendars
* `calendar.events` - Read and write access to calendar events
* `calendar.events.readonly` - Read access to event details
* `calendar.freebusy` - Access to free/busy information
* `calendar.settings.readonly` - Access to calendar settings

## Available MCP Tools

The Google Calendar integration provides 8 essential tools for comprehensive calendar management:

<Tabs>
  <Tab title="Event Management">
    | Tool Name      | Description                                                                  |
    | -------------- | ---------------------------------------------------------------------------- |
    | `create_event` | Create a new calendar event with attendees, reminders, and Google Meet link  |
    | `get_event`    | Get detailed information about a specific calendar event                     |
    | `list_events`  | List calendar events within a specified time range with search and filtering |
    | `update_event` | Update an existing calendar event including time, attendees, and recurrence  |
    | `delete_event` | Delete a calendar event with optional notification to attendees              |
  </Tab>

  <Tab title="Calendar Management">
    | Tool Name         | Description                                                             |
    | ----------------- | ----------------------------------------------------------------------- |
    | `list_calendars`  | List all calendars accessible to the user with access role and metadata |
    | `quick_add_event` | Create an event using natural language parsing (e.g., "Dinner at 7pm")  |
  </Tab>

  <Tab title="Availability">
    | Tool Name      | Description                                                        |
    | -------------- | ------------------------------------------------------------------ |
    | `get_freebusy` | Retrieve free/busy information for calendars to check availability |
  </Tab>
</Tabs>

## Need Help?

Join our [Discord community](https://discord.gg/dVTC3BmgEq) for support in **#core-support**
