SurfSense/surfsense_web/content/docs/connectors/google-calendar.mdx

88 lines
2.9 KiB
Text

---
title: Google Calendar
description: Connect your Google Calendar to SurfSense
---
# Google Calendar OAuth Integration Setup Guide
This guide walks you through setting up a Google OAuth 2.0 integration for SurfSense to connect your Google Calendar.
## Step 1: Access the Google Cloud Console
1. Navigate to [Google Cloud Console](https://console.cloud.google.com/)
2. Select an existing project or create a new one
## Step 2: Enable Required APIs
1. Go to **APIs & Services** > **Library**
2. Search for and enable the following APIs:
- **People API** (required for Google OAuth)
- **Google Calendar API** (required for Calendar connector)
![Google Developer Console People API](/docs/connectors/google/google_oauth_people_api.png)
## Step 3: Configure OAuth Consent Screen
1. Go to **APIs & Services** > **OAuth consent screen**
2. Select **External** user type (or Internal if using Google Workspace)
3. Fill in the required information:
- **App name**: `SurfSense`
- **User support email**: Your email address
- **Developer contact information**: Your email address
4. Click **Save and Continue**
![Google Developer Console OAuth consent screen](/docs/connectors/google/google_oauth_screen.png)
### Add Scopes
1. Click **Add or Remove Scopes**
2. Add the following scope:
- `https://www.googleapis.com/auth/calendar.events` - Read, create, update, and delete Google Calendar events
3. Click **Update** and then **Save and Continue**
<Callout type="info">
The `calendar.events` scope is required for HITL (Human-in-the-Loop) tools like creating, updating, and deleting calendar events. If you only need read access, you can use `calendar.readonly` instead, but HITL tools will not work.
</Callout>
## Step 4: Create OAuth Client ID
1. Go to **APIs & Services** > **Credentials**
2. Click **Create Credentials** > **OAuth client ID**
3. Select **Web application** as the application type
4. Enter **Name**: `SurfSense`
5. Under **Authorized redirect URIs**, add:
```
http://localhost:8000/api/v1/auth/google/calendar/connector/callback
```
6. Click **Create**
![Google Developer Console OAuth client ID](/docs/connectors/google/google_oauth_client.png)
## Step 5: Get OAuth Credentials
1. After creating the OAuth client, you'll see a dialog with your credentials
2. Copy your **Client ID** and **Client Secret**
<Callout type="warn">
Never share your client secret publicly.
</Callout>
![Google Developer Console Config](/docs/connectors/google/google_oauth_config.png)
---
## Running SurfSense with Google Calendar Connector
Add the Google OAuth credentials to your `.env` file (created during [Docker installation](/docs/docker-installation/docker-compose)):
```bash
GOOGLE_OAUTH_CLIENT_ID=your_google_client_id
GOOGLE_OAUTH_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALENDAR_REDIRECT_URI=http://localhost:8000/api/v1/auth/google/calendar/connector/callback
```
Then restart the services:
```bash
docker compose up -d
```