feat: add Dropbox connector documentation and update sitemap

This commit is contained in:
Anish Sarkar 2026-03-30 22:45:06 +05:30
parent be5685c9a4
commit 27b71c07b6
6 changed files with 101 additions and 1 deletions

View file

@ -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,

View file

@ -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`
<Callout type="warn">
Never share your app secret publicly or include it in code repositories.
</Callout>
## 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
<Callout type="warn">
All four permissions listed above are required. The connector will not authenticate successfully if any are missing.
</Callout>
---
## 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
```

View file

@ -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"
/>
<Card
title="Dropbox"
description="Connect your Dropbox to SurfSense"
href="/docs/connectors/dropbox"
/>
<Card
title="Notion"
description="Connect your Notion workspaces to SurfSense"
@ -103,4 +108,9 @@ Connect SurfSense to your favorite tools and services. Browse the available inte
description="Connect your Obsidian vault to SurfSense"
href="/docs/connectors/obsidian"
/>
<Card
title="Web Crawler"
description="Crawl and index any website into SurfSense"
href="/docs/connectors/web-crawler"
/>
</Cards>

View file

@ -5,6 +5,7 @@
"google-drive",
"gmail",
"google-calendar",
"dropbox",
"notion",
"slack",
"discord",

View file

@ -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)

View file

@ -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 |