--- title: Notion description: Connect your Notion workspaces to SurfSense --- # Notion OAuth Integration Setup Guide This guide walks you through setting up a Notion OAuth integration for SurfSense. ## Step 1: Access Notion Integrations 1. Navigate to [notion.so/profile/integrations](https://notion.so/profile/integrations) 2. Click the **"New integration"** button ![Notion Integrations Page](/docs/connectors/notion/notion-integrations-page.png) ## Step 2: Configure New Integration Fill in the integration details: | Field | Value | |-------|-------| | **Integration Name** | `SurfSense` | | **Associated workspace** | Select your workspace | | **Type** | `Public` | | **Company name** | Your company name | | **Website** | Your website URL | | **Tagline** | Brief description | | **Privacy Policy URL** | Your privacy policy URL | | **Terms of Use URL** | Your terms of use URL | | **Email** | Your developer email | | **Logo** | Upload a 512x512 logo | ### OAuth Redirect URI Under **OAuth domains & URIs**, set the **Redirect URI** to: ``` http://localhost:8000/api/v1/auth/notion/connector/callback ``` Click **Save** to create the integration. ![New Integration Form](/docs/connectors/notion/notion-new-integration-form.png) ## Step 3: Get OAuth Credentials & Configure Capabilities After creating the integration, you'll see the configuration page with your credentials: 1. Copy your **OAuth Client ID** 2. Copy your **OAuth Client Secret** (click Refresh if needed) ### Set Required Capabilities Enable the following capabilities: | Capability Type | Required Setting | |----------------|------------------| | **Content Capabilities** | Read content | | **Comment Capabilities** | Read comments | | **User Capabilities** | Read user information including email addresses | Click **Save** to apply the capabilities. ![Integration Configuration](/docs/connectors/notion/notion-integration-config.png) --- ## Limitations & Unsupported Content Notion's API has limitations on certain block types that cannot be retrieved. SurfSense will automatically skip these unsupported blocks and continue syncing all other content. ### Unsupported Block Types The following Notion features are **not accessible via the Notion API** and will be skipped during sync: - **Transcription blocks** - Audio/video transcriptions from Notion AI - **AI blocks** - AI-generated content blocks ### Learn More The Notion API only supports specific block types for retrieval. The official list of **supported block types** is documented in Notion's Block reference: - **[Block Object Reference](https://developers.notion.com/reference/block)** - Official documentation listing all supported block types. Any block type not listed here (such as `transcription` and `ai_block`) is not accessible via the Notion API. For additional information: - [Working with Page Content](https://developers.notion.com/docs/working-with-page-content) - Guide on how the Notion API handles page content - [Notion API Reference](https://developers.notion.com/reference) - Complete API documentation --- ## Running SurfSense with Notion Connector Add the Notion credentials to your `.env` file (created during [Docker installation](/docs/docker-installation/docker-compose)): ```bash NOTION_OAUTH_CLIENT_ID=your_notion_client_id NOTION_OAUTH_CLIENT_SECRET=your_notion_client_secret NOTION_REDIRECT_URI=http://localhost:8000/api/v1/auth/notion/connector/callback ``` Then restart the services: ```bash docker compose up -d ```