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

# Setting Up Google Calendar OAuth App

> Complete guide to creating and configuring a Google Calendar OAuth application

## Prerequisites

* Google account

## Step 1: Create a Project

1. Visit [https://console.cloud.google.com/home/dashboard](https://console.cloud.google.com/home/dashboard) and select the project dropdown at the top.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step1_box.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=53fe9aba64ffec91a82100d539336867" alt="Google Cloud project dropdown" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step1_box.png" />

2. Click **New Project**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step2_new_project.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=3bb1788c85d3b04d9bea5a8ed847e3b1" alt="Google Cloud new project button" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step2_new_project.png" />

3. Enter the project details and click **Create**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step3_create.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=8a2e901e0dc6547134d9e5dd90939244" alt="Google Cloud create project form" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step3_create.png" />

4. Select your newly created project.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step4_select_project.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=d84204cbc82f7aeb6996d062934a8536" alt="Google Cloud select project" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step4_select_project.png" />

5. Go to **APIs & Services**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step5_apis_and_services.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=f3eed8c4ad32fb1b1cfc496b39f44f70" alt="Google Cloud APIs & Services menu" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step5_apis_and_services.png" />

6. Click **Enable APIs and Services**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step6_enable_api_services.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=c2fe51b1c87d6bf67688467da7b36a07" alt="Enable APIs and Services button" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step6_enable_api_services.png" />

7. Search for and select **Google Calendar API**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step7_select_calendar.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=d177b062e3072d5cefaf23fff724ea6b" alt="Search Google Calendar API" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step7_select_calendar.png" />

8. Click **Enable**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step8_enable.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=810ecc83f45e7b80d00048623cdaa7f7" alt="Enable Google Calendar API" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step8_enable.png" />

9. Go back to **APIs & Services** and select **OAuth consent screen**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step9_oauth_screen.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=3e8bb9dda9f5695874914f934c4b8c07" alt="OAuth consent screen menu" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step9_oauth_screen.png" />

10. Enter the required information and save.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step10_info.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=5a44a0f844bb563c2dd617e464596869" alt="OAuth consent screen form" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step10_info.png" />

11. Go to **Credentials** in APIs & Services and click **Create Credentials**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step11_CreateCredentials.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=0248df1ee2475b0d1f8b82848835d5cc" alt="Create credentials button" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step11_CreateCredentials.png" />

12. Select **OAuth Client ID**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step12_OAuthClientID.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=fdc06a158d10c36fdd54e27429ad142a" alt="OAuth Client ID selection" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step12_OAuthClientID.png" />

13. Choose **Web Application** and enter the required details.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step13_WebApplication.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=5442d976af29184f3d85b180b6a73b91" alt="Web application OAuth settings" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step13_WebApplication.png" />

14. Add redirect URLs:
    `https://api.klavis.ai/oauth/gcalendar/callback`
    Then click **Create**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step14_redirect_uri.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=04c509d36be49b7669d1a5709d11ebff" alt="Add redirect URIs" width="1300" height="654" data-path="images/knowledge-base/google_calendar_oauth_app/step14_redirect_uri.png" />

15. Your **Client ID** and **Client Secret** will be displayed.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/step15_credentials.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=7afae4ac35686d0e5719dd3d1ea3406f" alt="OAuth credentials screen" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/step15_credentials.png" />

## Step 2: Request Scopes

<Note>
  Klavis Google Calendar MCP Server uses the following OAuth scopes:
  `https://www.googleapis.com/auth/calendar.readonly`
  `https://www.googleapis.com/auth/calendar.events`
</Note>

1. Go to **OAuth consent screen**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/scope1_oauth.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=a132cd7f7ebeb73a7bfb8c9180ed5e1a" alt="OAuth consent screen" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/scope1_oauth.png" />

2. Click **Data Access**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/scope2_data_access.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=e4965bf29cce86301964974de68cb6f6" alt="Data access settings" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/scope2_data_access.png" />

3. Click **Add or Remove Scopes**.

<img src="https://mintcdn.com/klavisai/b0PbegeaiTqWkRoA/images/knowledge-base/google_calendar_oauth_app/scope3_add_scopes.png?fit=max&auto=format&n=b0PbegeaiTqWkRoA&q=85&s=e6f448040d6d5819856ffb1e2cef068d" alt="Add or remove scopes" width="1298" height="652" data-path="images/knowledge-base/google_calendar_oauth_app/scope3_add_scopes.png" />

4. Enter the needed scopes and click **Update**.

<Check>
  You have successfully created a Google Calendar OAuth application! You now have your Client ID and Client Secret ready for integration with Klavis AI.
</Check>

## (Optional) Step 3: White Labeling

<Note>
  White labeling allows you to customize the OAuth experience with your own branding instead of Klavis AI's.
</Note>

If you want to use your own Google Calendar OAuth application with custom branding:

1. **Configure White Labeling**: Go to [https://www.klavis.ai/home/white-label](https://www.klavis.ai/home/white-label)
2. **Add Your Credentials**: Enter your Google Calendar **Client ID** and **Client Secret** from Step 1.
3. **Set Redirect URI**: Use `https://api.klavis.ai/oauth/gcalendar/callback` or your custom callback URL.
4. **Initiate OAuth**: Use your client ID when starting the OAuth flow:

   <CodeGroup>
     ```javascript without SDK theme={null}
     // Example: Initiating Google Calendar OAuth with white-label
     const authUrl = `https://api.klavis.ai/oauth/gcalendar/authorize?instance_id=${instanceId}&client_id=${yourClientId}`;
     window.location.href = authUrl;
     ```

     ```typescript TypeScript SDK theme={null}
     import { Klavis } from "@klavis/sdk";

     const klavis = new Klavis({
       apiKey: "YOUR_API_KEY"
     });

     // Example: Initiating Google Calendar OAuth with white-label
     const oauthUrl = await klavis.mcpServer.getOAuthUrl({
       serverName: Klavis.McpServerName.Gcalendar,
       instanceId: instanceId,
       clientId: yourClientId,
       // redirectUri: YOUR_REDIRECT_URI,
       // scope: "YOUR_SCOPES", 
     });

     window.location.href = oauthUrl;
     ```

     ```python Python SDK theme={null}
     import webbrowser
     from klavis import Klavis
     from klavis.types import McpServerName

     klavis = Klavis(api_key="YOUR_API_KEY")

     # Example: Initiating Google Calendar OAuth with white-label
     oauth_url = klavis.mcp_server.get_oauth_url(
         server_name=McpServerName.GCALENDAR,
         instance_id=instance_id,
         client_id=your_client_id,
         # redirect_uri="YOUR_REDIRECT_URI",
         # scope="YOUR_SCOPES"
     )

     # Open OAuth URL in user's default browser
     webbrowser.open(oauth_url)
     ```
   </CodeGroup>

<Tip>
  For detailed white labeling implementation and code examples, see our [OAuth & White Labeling guide](/auth/white-label).
</Tip>

## Resources

* [Klavis OAuth & White Labeling Guide](/auth/white-label)
* [Klavis White Label Dashboard](https://www.klavis.ai/home/white-label)
