Skip to main content

Overview

CrewAI supports integration with Notion, enabling your crews to access workspaces, databases, pages, and comments.

Prerequisites

  • A Notion account
  • Workspace owner or admin permissions to create integrations
  • Access to Notion Integrations

Notion Integration Setup

Step 1: Create a New Integration

  1. Navigate to Notion Integrations
  2. Click New integration
  3. Fill in the integration details:
    • Name: Enter a name (e.g., “CrewAI”)
    • Logo: Optional logo for the integration
    • Associated workspace: Select the workspace to integrate with
  4. Click Submit

Step 2: Configure Capabilities

  1. In your integration settings, configure the Capabilities:
    • Content Capabilities: Select what content the integration can access
    • Comment Capabilities: Enable if you need to create comments
    • User Capabilities: Enable to read user information
  2. Under OAuth Domain & URIs:
    • Redirect URIs: Add your callback URL:
      https://<YOUR_APPLICATION_HOST>/oauthsvc/oauth/notion/callback
      
      Replace <YOUR_APPLICATION_HOST> with your CrewAI application domain.

Step 3: Get Your Credentials

  1. In the Secrets section, locate:
    • OAuth client ID: Your integration’s client ID
    • OAuth client secret: Click to reveal the secret
  2. Store these credentials securely for CrewAI configuration
Notion uses a different authentication method than typical OAuth. The integration must be explicitly shared with pages and databases in Notion before it can access them.

Required Scopes

Notion uses capability-based permissions rather than traditional OAuth scopes. The following scopes are used during OAuth:
ScopeDescription
read:userRead user information from the workspace
insert:commentsCreate comments on pages and discussions

Share Integration with Content

After OAuth authentication, users must share the integration with specific pages or databases:
  1. Open a Notion page or database
  2. Click the menu in the top right
  3. Select Connections (or Add connections)
  4. Find and select your integration name
  5. Click Confirm
The integration can only access content that has been explicitly shared with it. This is a Notion security feature to ensure users have control over what data integrations can access.

Configure CrewAI Helm Values

Add your Notion credentials to your CrewAI Helm values:
oauth:
  enabled: true
  secrets:
    notion:
      clientId: "your-notion-oauth-client-id"
      clientSecret: "your-notion-oauth-client-secret"
See Built-in Integrations Configuration for complete configuration options.