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

# Google Calendar

> Event and scheduling management via Google Calendar

Google Calendar integration for managing events, calendars, and scheduling.

**Required Configuration:**

* OAuth2 authentication (handled automatically via VibeFlow Cloud or your own credentials via BYOK)

## BYOK (Bring Your Own Keys)

If you prefer to use your own Google OAuth credentials instead of VibeFlow's managed OAuth, follow these steps:

<Steps>
  <Step title="Create a Google Cloud Project">
    Go to the [Google Cloud Console](https://console.cloud.google.com) and create a new project (or use an existing one).

    Enable the following APIs for your project:

    * **Google Calendar API**
    * **Google People API**
  </Step>

  <Step title="Create OAuth Credentials">
    In your Google Cloud project, navigate to **APIs & Services** > **Credentials** and click **Create Credentials** > **OAuth client ID**.

    * **Application type**: Web application
    * Add the following **Authorized redirect URI**:
      ```
      https://integration.vibeflow.ai/api/oauth/callback/google-calendar
      ```
  </Step>

  <Step title="Configure OAuth Scopes">
    Ensure the following scopes are enabled on your OAuth consent screen:

    ```
    https://www.googleapis.com/auth/userinfo.email
    https://www.googleapis.com/auth/userinfo.profile
    https://www.googleapis.com/auth/calendar
    ```
  </Step>

  <Step title="Add Credentials to VibeFlow">
    Copy your **Client ID** and **Client Secret** from Google Cloud Console and paste them into the VibeFlow connector modal when setting up the Google Calendar integration.

    Your credentials are encrypted by default and stored securely.
  </Step>
</Steps>

<Info>
  BYOK is ideal for businesses that require data isolation, custom branding, or stricter compliance requirements.
</Info>

## Available Endpoints

<AccordionGroup>
  <Accordion title="POST /api/actions/google-calendar/create-event">
    Create a new calendar event
  </Accordion>

  <Accordion title="GET /api/actions/google-calendar/list-events">
    List calendar events
  </Accordion>

  <Accordion title="GET /api/actions/google-calendar/get-event">
    Get a specific event by ID
  </Accordion>

  <Accordion title="PUT /api/actions/google-calendar/update-event">
    Update an existing event
  </Accordion>

  <Accordion title="DELETE /api/actions/google-calendar/delete-event">
    Delete a calendar event
  </Accordion>
</AccordionGroup>
