Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Read-only Dropbox integration for browsing, searching, and downloading files from your Dropbox account. Includes automatic OAuth token refresh, secure credential storage, and comprehensive setup guide. Perfect for accessing your Dropbox files from OpenClaw without giving write access.
Read-only Dropbox integration for browsing, searching, and downloading files from your Dropbox account. Includes automatic OAuth token refresh, secure credential storage, and comprehensive setup guide. Perfect for accessing your Dropbox files from OpenClaw without giving write access.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill provides read-only access to your Dropbox account, allowing you to browse folders, search files, and download content from OpenClaw. It uses OAuth 2.0 authentication with automatic token refresh for seamless long-term access. Perfect for: Safely accessing your Dropbox files without worrying about accidental modifications or deletions.
List contents of any folder in your Dropbox View file sizes and modification dates Navigate folder hierarchies
Full-text search across file names Find files anywhere in your Dropbox Get file metadata and locations
Download any file from your Dropbox Save to local filesystem Batch download support
OAuth 2.0 authentication with refresh tokens Automatic token refresh (no manual re-authentication) Secure credential storage Token expiration handling with 5-minute buffer
This skill is configured for read-only access with the following Dropbox scopes: files.metadata.read - Read file/folder metadata files.content.read - Read file content account_info.read - Read account information NOT included: โ files.content.write - Cannot upload or modify files โ files.metadata.write - Cannot rename or move files โ files.permanent_delete - Cannot delete files This ensures your Dropbox content remains safe from accidental modifications.
Before using this skill, you need: A Dropbox account (free or paid) A Dropbox App registration (takes 5 minutes) App key and App secret from your Dropbox App Node.js with dropbox package (auto-installed) Setup time: ~10 minutes See Setup Guide for step-by-step instructions.
Visit https://www.dropbox.com/developers/apps/create and create a new app: API: Scoped access Access type: Full Dropbox (or App folder for restricted access) App name: Something unique like "OpenClaw-YourName"
In your app's settings: Add redirect URI: http://localhost:3000/callback Copy your App key and App secret Under Permissions tab, enable: files.metadata.read files.content.read account_info.read
Create credentials.json in the skill directory: { "app_key": "your_dropbox_app_key_here", "app_secret": "your_dropbox_app_secret_here" } Important: This file is gitignored and will never be committed.
node setup-oauth.js This will: Open your browser for Dropbox authorization Start a local server to capture the authorization code Exchange the code for access + refresh tokens Save tokens securely to token.json
node test-connection.js If successful, you'll see your Dropbox account information!
# List root folder node browse.js # List specific folder node browse.js "/Documents" node browse.js "/Photos/2024" Output: ๐ Listing: /Documents ๐ report.pdf (2.3 MB) - 2024-02-01 ๐ presentation.pptx (5.1 MB) - 2024-01-28 ๐ Projects ๐ Archive Total: 4 items
node search-files.js "budget 2024" node search-files.js "contract" Output: ๐ Searching for: "budget 2024" โ Found 3 matches: ๐ /Finance/budget-2024-q1.xlsx Size: 156.3 KB Modified: 2024-01-15T10:30:00Z ๐ /Reports/budget-2024-summary.pdf Size: 2.1 MB Modified: 2024-02-01T14:22:00Z
# Download to local file node download.js "/Documents/report.pdf" "./downloads/report.pdf" # Download to current directory node download.js "/Photos/vacation.jpg" "./vacation.jpg" Output: ๐ฅ Downloading: /Documents/report.pdf โ Saved to: ./downloads/report.pdf (2.3 MB)
From OpenClaw, you can use the exec tool to run these scripts: Browse files: Run: node /path/to/dropbox-integration/browse.js "/Documents" Search for files: Run: node /path/to/dropbox-integration/search-files.js "contract" Download a file: Run: node /path/to/dropbox-integration/download.js "/path/in/dropbox" "./local/path" Or create custom automation workflows that use the dropbox-helper.js module directly.
Initial Setup: User authorizes the app via OAuth 2.0 Token Storage: Access token + refresh token saved to token.json Auto-Refresh: Before each API call, checks if token needs refresh Seamless Access: Automatically refreshes tokens 5 minutes before expiration
Access Token: Short-lived (typically 4 hours) Refresh Token: Long-lived (doesn't expire unless revoked) Auto-refresh: Happens transparently in dropbox-helper.js Refresh Buffer: 5 minutes before expiration to prevent edge cases
dropbox-integration/ โโโ SKILL.md # This file โโโ dropbox-helper.js # Auto-refresh Dropbox client โโโ setup-oauth.js # OAuth setup script โโโ browse.js # Browse folders โโโ search-files.js # Search files โโโ download.js # Download files โโโ test-connection.js # Test authentication โโโ credentials.json.example # Template for credentials โโโ .gitignore # Excludes credentials.json and token.json โโโ references/ โโโ setup-guide.md # Detailed setup instructions
Create credentials.json with your Dropbox app key and secret (see Quick Start step 3).
Your refresh token may have been revoked. Re-run node setup-oauth.js to re-authenticate.
Check that you enabled the required permissions in your Dropbox App settings under the Permissions tab.
Make sure you added http://localhost:3000/callback to your app's redirect URIs in Dropbox App Console.
If the local server doesn't catch the redirect, manually copy the full URL from your browser after authorization and look for the code= parameter.
Read-only: Cannot upload, modify, or delete files (by design) File size: Practical limit ~150MB per download (Dropbox API constraint) Rate limits: Dropbox API has rate limits (typically not an issue for personal use) Shared folders: Access depends on your Dropbox account permissions
Never commit credentials: credentials.json and token.json are gitignored File permissions: Tokens are saved with mode 0600 (user read/write only) App-specific tokens: Each app has its own tokens (easily revokable) Scope limitation: Only request permissions you actually need Token rotation: Refresh tokens are rotated automatically
Setup Guide - Detailed step-by-step instructions with screenshots Dropbox API Documentation OAuth 2.0 Guide
App Console - Manage your apps API Explorer - Test API calls SDK Documentation - JavaScript SDK reference
For custom integrations, import the helper directly: const { getDropboxClient } = require('./dropbox-helper'); async function myCustomFunction() { const dbx = await getDropboxClient(); // Auto-refreshing client // Use any Dropbox SDK method const response = await dbx.filesListFolder({ path: '/Photos' }); console.log(response.result.entries); } The helper automatically handles token refresh, so you never need to worry about expiration.
Download multiple files in sequence: const { getDropboxClient } = require('./dropbox-helper'); const fs = require('fs').promises; async function downloadMultiple(files) { const dbx = await getDropboxClient(); for (const file of files) { const response = await dbx.filesDownload({ path: file.dropboxPath }); await fs.writeFile(file.localPath, response.result.fileBinary); console.log(`Downloaded: ${file.dropboxPath}`); } }
This skill requires the dropbox npm package: npm install dropbox The package is automatically installed when you install this skill via ClawHub.
MIT - Free to use, modify, and distribute.
For issues or questions: Check the Setup Guide for detailed instructions Review Dropbox API errors in the API documentation Open an issue on the skill repository Note: This skill is designed for personal use. For production applications with multiple users, consider implementing proper OAuth flow with state management and error handling for concurrent users.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.