Dropbox Connector
Sync files and folders from Dropbox into LH42.
Features
- Files - Documents, PDFs, text files
- Folders - Recursive folder sync
- Dropbox Paper - Paper documents as markdown
- Shared folders - Team shared content
- Incremental sync - Delta-based change detection
- Selective sync - Choose specific folders
Prerequisites
- Dropbox account (Basic, Plus, or Business)
- Folder access permissions
Setup
Step 1: Connect via OAuth
- Go to Settings > Integrations
- Find Dropbox and click Connect
- Sign in with your Dropbox account
- Grant the requested permissions
Step 2: Configure Sync Settings
python
client.connectors.configure("dropbox", {
"settings": {
"root_folder": "/Documents/Company", # Optional: limit to folder
"include_shared": True, # Include shared folders
"include_paper": True, # Include Dropbox Paper
"file_extensions": [".txt", ".md", ".pdf", ".docx"],
"max_file_size_mb": 50
}
})Options:
- Omit
root_folderto sync entire Dropbox file_extensions- Limit to specific typesinclude_paper- Sync Dropbox Paper documents
Step 3: Start Initial Sync
python
client.connectors.sync("dropbox", mode="full")Supported File Types
| Type | Extensions | Processing |
|---|---|---|
| Text | .txt, .md, .rst | Direct indexing |
| Documents | .docx, .doc, .pdf | Text extraction |
| Data | .json, .xml, .yaml, .csv | Structured parsing |
| Code | .py, .js, .ts, etc. | Syntax-aware indexing |
| Paper | .paper | Markdown conversion |
API Reference
List Files
bash
GET /api/connectors/{connector_id}/files?path=/Documents&limit=50
# Response
{
"files": [
{
"id": "file_abc123",
"path": "/Documents/report.pdf",
"name": "report.pdf",
"size": 1024000,
"modified": "2026-01-20T10:30:00Z",
"synced": true
}
]
}List Folders
bash
GET /api/connectors/{connector_id}/folders?path=/Sync Specific Folder
bash
POST /api/connectors/{connector_id}/sync
{
"mode": "incremental",
"filters": {
"paths": ["/Documents/Team"]
}
}Delta Sync
Dropbox provides efficient delta-based sync:
- First sync records a cursor position
- Subsequent syncs fetch only changes since cursor
- Handles additions, modifications, and deletions
python
# Status shows cursor position
status = client.connectors.get_sync_status("dropbox")
print(f"Cursor: {status.cursor}")
print(f"Last delta: {status.last_sync}")Dropbox Paper
Dropbox Paper documents are converted to markdown:
- Headings, lists, tables preserved
- Images referenced as links
- Comments and mentions included
- Embedded content expanded
Sync Frequency
| Mode | Frequency | Use Case |
|---|---|---|
| Scheduled | Every 4 hours | Standard sync |
| On-demand | Manual trigger | Immediate updates |
Troubleshooting
"Path not found" errors
- Verify the folder path exists
- Check for case sensitivity in paths
Missing files
- Verify file extension is in allowed list
- Check file isn't over size limit
Slow initial sync
- Large Dropbox accounts take longer
- Use folder filters to limit scope
Next Steps
- Box Connector - Connect Box
- Integrations Overview - Architecture overview