diff --git a/surfsense_web/app/sitemap.ts b/surfsense_web/app/sitemap.ts index e7c0d576e..9f3f7ebdf 100644 --- a/surfsense_web/app/sitemap.ts +++ b/surfsense_web/app/sitemap.ts @@ -133,6 +133,12 @@ export default function sitemap(): MetadataRoute.Sitemap { changeFrequency: "daily", priority: 0.8, }, + { + url: "https://www.surfsense.com/docs/connectors/dropbox", + lastModified, + changeFrequency: "daily", + priority: 0.8, + }, { url: "https://www.surfsense.com/docs/connectors/elasticsearch", lastModified, diff --git a/surfsense_web/content/docs/connectors/dropbox.mdx b/surfsense_web/content/docs/connectors/dropbox.mdx new file mode 100644 index 000000000..d1e5f4451 --- /dev/null +++ b/surfsense_web/content/docs/connectors/dropbox.mdx @@ -0,0 +1,79 @@ +--- +title: Dropbox +description: Connect your Dropbox to SurfSense +--- + +# Dropbox OAuth Integration Setup Guide + +This guide walks you through setting up a Dropbox OAuth integration for SurfSense using the Dropbox App Console. + +## Step 1: Access the Dropbox App Console + +1. Navigate to [dropbox.com/developers/apps](https://www.dropbox.com/developers/apps) +2. Sign in with your Dropbox account + +## Step 2: Create a New App + +1. Click **"Create app"** +2. Fill in the app details: + +| Field | Value | +|-------|-------| +| **Choose an API** | Select **"Scoped access"** | +| **Choose the type of access** | Select **"Full Dropbox"** | +| **Name your app** | `SurfSense` (or any unique name) | + +3. Click **"Create app"** + +## Step 3: Configure Redirect URI + +1. On your app's **Settings** page, scroll to the **OAuth 2** section +2. Under **Redirect URIs**, add: `http://localhost:8000/api/v1/auth/dropbox/connector/callback` +3. Click **"Add"** + +## Step 4: Get App Key and Secret + +On the same **Settings** page, you will find: + +1. **App key** - this is your `DROPBOX_APP_KEY` +2. **App secret** - click **"Show"** to reveal, then copy. This is your `DROPBOX_APP_SECRET` + + + Never share your app secret publicly or include it in code repositories. + + +## Step 5: Configure Permissions + +1. Go to the **Permissions** tab of your app +2. Enable the following scopes: + +| Permission | Description | +|------------|-------------| +| `files.metadata.read` | View information about files and folders | +| `files.content.read` | View and download file content | +| `files.content.write` | Create, modify, and delete files | +| `account_info.read` | View basic account information | + +3. Click **"Submit"** to save the permissions + + + All four permissions listed above are required. The connector will not authenticate successfully if any are missing. + + +--- + +## Running SurfSense with Dropbox Connector + +Add the Dropbox OAuth credentials to your `.env` file (created during [Docker installation](/docs/docker-installation/docker-compose)): + +```bash +DROPBOX_APP_KEY=your_dropbox_app_key +DROPBOX_APP_SECRET=your_dropbox_app_secret +DROPBOX_REDIRECT_URI=http://localhost:8000/api/v1/auth/dropbox/connector/callback +``` + +Then restart the services: + +```bash +docker compose up -d +``` diff --git a/surfsense_web/content/docs/connectors/index.mdx b/surfsense_web/content/docs/connectors/index.mdx index 93caf807d..e3d06aa3c 100644 --- a/surfsense_web/content/docs/connectors/index.mdx +++ b/surfsense_web/content/docs/connectors/index.mdx @@ -23,6 +23,11 @@ Connect SurfSense to your favorite tools and services. Browse the available inte description="Connect your Google Calendar to SurfSense" href="/docs/connectors/google-calendar" /> + + diff --git a/surfsense_web/content/docs/connectors/meta.json b/surfsense_web/content/docs/connectors/meta.json index 7b715d673..3a3b6e039 100644 --- a/surfsense_web/content/docs/connectors/meta.json +++ b/surfsense_web/content/docs/connectors/meta.json @@ -5,6 +5,7 @@ "google-drive", "gmail", "google-calendar", + "dropbox", "notion", "slack", "discord", diff --git a/surfsense_web/content/docs/docker-installation/docker-compose.mdx b/surfsense_web/content/docs/docker-installation/docker-compose.mdx index 25ace2180..3e79e58f4 100644 --- a/surfsense_web/content/docs/docker-installation/docker-compose.mdx +++ b/surfsense_web/content/docs/docker-installation/docker-compose.mdx @@ -113,11 +113,12 @@ Uncomment the connectors you want to use. Redirect URIs follow the pattern `http | Notion | `NOTION_CLIENT_ID`, `NOTION_CLIENT_SECRET`, `NOTION_REDIRECT_URI` | | Slack | `SLACK_CLIENT_ID`, `SLACK_CLIENT_SECRET`, `SLACK_REDIRECT_URI` | | Discord | `DISCORD_CLIENT_ID`, `DISCORD_CLIENT_SECRET`, `DISCORD_BOT_TOKEN`, `DISCORD_REDIRECT_URI` | -| Jira & Confluence | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET`, `JIRA_REDIRECT_URI`, `CONFLUENCE_REDIRECT_URI` | +| Atlassian (Jira & Confluence) | `ATLASSIAN_CLIENT_ID`, `ATLASSIAN_CLIENT_SECRET`, `JIRA_REDIRECT_URI`, `CONFLUENCE_REDIRECT_URI` | | Linear | `LINEAR_CLIENT_ID`, `LINEAR_CLIENT_SECRET`, `LINEAR_REDIRECT_URI` | | ClickUp | `CLICKUP_CLIENT_ID`, `CLICKUP_CLIENT_SECRET`, `CLICKUP_REDIRECT_URI` | | Airtable | `AIRTABLE_CLIENT_ID`, `AIRTABLE_CLIENT_SECRET`, `AIRTABLE_REDIRECT_URI` | | Microsoft (Teams & OneDrive) | `MICROSOFT_CLIENT_ID`, `MICROSOFT_CLIENT_SECRET`, `TEAMS_REDIRECT_URI`, `ONEDRIVE_REDIRECT_URI` | +| Dropbox | `DROPBOX_APP_KEY`, `DROPBOX_APP_SECRET`, `DROPBOX_REDIRECT_URI` | ### Observability (optional) diff --git a/surfsense_web/content/docs/manual-installation.mdx b/surfsense_web/content/docs/manual-installation.mdx index 05e646d6d..f9eed9487 100644 --- a/surfsense_web/content/docs/manual-installation.mdx +++ b/surfsense_web/content/docs/manual-installation.mdx @@ -131,6 +131,9 @@ Edit the `.env` file and set the following variables: | MICROSOFT_CLIENT_SECRET | (Optional) Microsoft OAuth client secret (shared for Teams and OneDrive) | | TEAMS_REDIRECT_URI | (Optional) Redirect URI for Teams connector OAuth callback (e.g., `http://localhost:8000/api/v1/auth/teams/connector/callback`) | | ONEDRIVE_REDIRECT_URI | (Optional) Redirect URI for OneDrive connector OAuth callback (e.g., `http://localhost:8000/api/v1/auth/onedrive/connector/callback`) | +| DROPBOX_APP_KEY | (Optional) Dropbox OAuth app key | +| DROPBOX_APP_SECRET | (Optional) Dropbox OAuth app secret | +| DROPBOX_REDIRECT_URI | (Optional) Redirect URI for Dropbox connector OAuth callback (e.g., `http://localhost:8000/api/v1/auth/dropbox/connector/callback`) | **(Optional) Backend LangSmith Observability:** | ENV VARIABLE | DESCRIPTION |