SKILL.md
Dropbox Automation via Rube MCP
Automate Dropbox operations including file upload/download, search, folder management, sharing links, batch operations, and metadata retrieval through Composio's Dropbox toolkit.
Prerequisites
- Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active Dropbox connection via
RUBEMANAGECONNECTIONSwith toolkitdropbox - Always call
RUBESEARCHTOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBESEARCHTOOLSresponds - Call
RUBEMANAGECONNECTIONSwith toolkitdropbox - If connection is not ACTIVE, follow the returned auth link to complete Dropbox OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Search for Files and Folders
When to use: User wants to find files or folders by name, content, or type
Tool sequence:
DROPBOXSEARCHFILEORFOLDER- Search by query string with optional path scope and filters [Required]DROPBOXSEARCHCONTINUE- Paginate through additional results using cursor [Required if has_more]DROPBOXGETMETADATA- Validate and get canonical path for a search result [Optional]DROPBOXREADFILE- Read file content to verify it is the intended document [Optional]
Key parameters:
query: Search string (case-insensitive, 1+ non-whitespace characters)options.path: Scope search to a folder (e.g.,"/Documents"); empty string for rootoptions.file_categories: Filter by type ("image","document","pdf","folder", etc.)options.file_extensions: Filter by extension (e.g.,["jpg", "png"])options.filename_only: Settrueto match filenames only (not content)options.max_results: Results per page (default 100, max 1000)
Pitfalls:
- Search returns
has_more: truewith acursorwhen more results exist; MUST continue to avoid silently missing matches - Maximum 10,000 matches total across all pages of search + search_continue
DROPBOXGETMETADATAreturnedpath_displaymay differ in casing from user input; always use the returned canonical path- File content from
DROPBOXREADFILEmay be returned as base64-encodedfilecontentbytes; decode before parsing
2. Upload and Download Files
When to use: User wants to upload files to Dropbox or download files from it
Tool sequence:
DROPBOXUPLOADFILE- Upload a file to a specified path [Required for upload]DROPBOXREADFILE- Download/read a file from Dropbox [Required for download]DROPBOXDOWNLOADZIP- Download an entire folder as a zip file [Optional]DROPBOXSAVEURL- Save a file from a public URL directly to Dropbox [Optional]DROPBOXGETSHAREDLINKFILE- Download a file from a shared link URL [Optional]DROPBOXEXPORTFILE- Export non-downloadable files like Dropbox Paper to markdown/HTML [Optional]
Key parameters:
path: Dropbox path (must start with/, e.g.,"/Documents/report.pdf")mode:"add"(default, fail on conflict) or"overwrite"for uploadsautorename:trueto auto-rename on conflict instead of failingcontent: FileUploadable object withs3key,mimetype, andnamefor uploadsurl: Public URL forDROPBOXSAVEURLexportformat:"markdown","html", or"plaintext"for Paper docs
Pitfalls:
DROPBOXSAVEURLis asynchronous and may take up to 15 minutes for large filesDROPBOXDOWNLOADZIPfolder must be under 20 GB with no single file over 4 GB and fewer than 10,000 entriesDROPBOXREADFILEcontent may be base64-encoded; check response format- Shared link downloads via
DROPBOXGETSHAREDLINKFILEmay requirelink_passwordfor protected links
3. Share Files and Manage Links
When to use: User wants to create sharing links or manage existing shared links
Tool sequence:
DROPBOXGETMETADATA- Confirm file/folder exists and get canonical path [Prerequisite]DROPBOXLISTSHARED_LINKS- Check for existing shared links to avoid duplicates [Prerequisite]DROPBOXCREATESHARED_LINK- Create a new shared link [Required]DROPBOXGETSHAREDLINKMETADATA- Resolve a shared link URL to metadata [Optional]DROPBOXLISTSHARED_FOLDERS- List all shared folders the user has access to [Optional]
Key parameters:
path: File or folder path for link creationsettings.audience:"public","team", or"no_one"settings.access:"viewer"or"editor"settings.expires: ISO 8601 expiration date (e.g.,"2026-12-31T23:59:59Z")settings.requirepassword/settings.linkpassword: Password protectionsettings.allow_download: Boolean for download permissiondirectonly: ForLISTSHARED_LINKS, settrueto only return direct links (not parent folder links)
Pitfalls:
DROPBOXCREATESHAREDLINKfails with 409 Conflict if a shared link already exists for the path; check withDROPBOXLISTSHAREDLINKSfirst- Always validate path with
DROPBOXGETMETADATAbefore creating links to avoidpath/not_founderrors - Reuse existing links from
DROPBOXLISTSHARED_LINKSinstead of creating duplicates requested_visibilityis deprecated; useaudiencefor newer implementations
4. Manage Folders (Create, Move, Delete)
When to use: User wants to create, move, rename, or delete files and folders
Tool sequence:
DROPBOXCREATEFOLDER- Create a single folder [Required for create]DROPBOXCREATEFOLDER_BATCH- Create multiple folders at once [Optional]DROPBOXMOVEFILEORFOLDER- Move or rename a single file/folder [Required for move]DROPBOXMOVEBATCH- Move multiple items at once [Optional]DROPBOXDELETEFILEORFOLDER- Delete a single file or folder [Required for delete]DROPBOXDELETEBATCH- Delete multiple items at once [Optional]DROPBOXCOPYFILEORFOLDER- Copy a file or folder to a new location [Optional]DROPBOXCHECKMOVEBATCH/DROPBOXCHECKFOLDERBATCH- Poll async batch job status [Required for batch ops]
Key parameters:
path: Target path (must start with/, case-sensitive)frompath/topath: Source and destination for move/copy operationsautorename:trueto auto-rename on conflictentries: Array of{frompath, topath}for batch moves; array of paths for batch createsallowsharedfolder: Settrueto allow moving shared foldersallowownershiptransfer: Settrueif move changes ownership
Pitfalls:
- All paths are case-sensitive and must start with
/ - Paths must NOT end with
/or whitespace - Batch operations may be asynchronous; poll with
DROPBOXCHECKMOVEBATCHorDROPBOXCHECKFOLDERBATCH DROPBOXFILESMOVE_BATCH(v1) has "all or nothing" behavior - if any entry fails, entire batch failsDROPBOXMOVEBATCH(v2) is preferred overDROPBOXFILESMOVE_BATCH(v1)- Maximum 1000 entries per batch delete/move; 10,000 paths per batch folder create
- Case-only renaming is not supported in batch move operations
5. List Folder Contents
When to use: User wants to browse or enumerate files in a Dropbox folder
Tool sequence:
DROPBOXLISTFILESINFOLDER- List contents of a folder [Required]DROPBOXLISTFOLDERS- Alternative folder listing with deleted entries support [Optional]DROPBOXGETMETADATA- Get details for a specific item [Optional]
Key parameters:
path: Folder path (empty string""for root)recursive:trueto list all nested contentslimit: Max results per request (default/max 2000)include_deleted:trueto include deleted but recoverable itemsincludemediainfo:trueto get photo/video metadata
Pitfalls:
- Use empty string
""for root folder, not"/" - Recursive listings can be very large; use
limitto control page size - Results may paginate via cursor even with small limits
DROPBOXLISTFILESINFOLDERreturns 409 Conflict withpath/not_foundfor incorrect paths
Common Patterns
ID Resolution
- Path-based: Most Dropbox tools use path strings (e.g.,
"/Documents/file.pdf") - ID-based: Some tools accept
id:...format (e.g.,"id:4g0reWVRsAAAAAAAAAAAQ") - Canonical path: Always use
pathdisplayorpathlowerfromDROPBOXGETMETADATAresponses for subsequent calls - Shared link URL: Use
DROPBOXGETSHAREDLINKMETADATAto resolve URLs to paths/IDs
Pagination
Dropbox uses cursor-based pagination across most endpoints:
- Search: Follow
hasmore+cursorwithDROPBOXSEARCH_CONTINUE(max 10,000 total matches) - Folder listing: Follow cursor from response until no more pages
- Shared links: Follow
hasmore+cursorinDROPBOXLISTSHAREDLINKS - Batch job status: Poll with
DROPBOXCHECKMOVEBATCH/DROPBOXCHECKFOLDERBATCH
Async Operations
Several Dropbox operations run asynchronously:
DROPBOXSAVEURL- returns job ID; poll or setwait: true(up to 120s default)DROPBOXMOVEBATCH/DROPBOXFILESMOVE_BATCH- may return job IDDROPBOXCREATEFOLDER_BATCH- may return job IDDROPBOXDELETEBATCH- returns job ID
Known Pitfalls
Path Formats
- All paths must start with
/(except empty string for root in some endpoints) - Paths must NOT end with
/or contain trailing whitespace - Paths are case-sensitive for write operations
path_displayfrom API may differ in casing from user input; always prefer API-returned paths
Rate Limits
- Dropbox API has per-endpoint rate limits; batch operations help reduce call count
- Search is limited to 10,000 total matches across all pagination
DROPBOXSAVEURLhas a 15-minute timeout for large files
File Content
DROPBOXREADFILEmay return content as base64-encodedfilecontentbytes- Non-downloadable files (Dropbox Paper, Google Docs) require
DROPBOXEXPORTFILEinstead - Download URLs from shared links require proper authentication headers
Sharing
- Creating a shared link when one already exists returns a 409 Conflict error
- Always check
DROPBOXLISTSHARED_LINKSbefore creating new links - Shared folder access may not appear in standard path listings; use
DROPBOXLISTSHARED_FOLDERS
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Search files | DROPBOXSEARCHFILEORFOLDER |
query, options.path |
| Continue search | DROPBOXSEARCHCONTINUE |
cursor |
| List folder | DROPBOXLISTFILESINFOLDER |
path, recursive, limit |
| List folders | DROPBOXLISTFOLDERS |
path, recursive |
| Get metadata | DROPBOXGETMETADATA |
path |
| Read/download file | DROPBOXREADFILE |
path |
| Upload file | DROPBOXUPLOADFILE |
path, content, mode |
| Save URL to Dropbox | DROPBOXSAVEURL |
path, url |
| Download folder zip | DROPBOXDOWNLOADZIP |
path |
| Export Paper doc | DROPBOXEXPORTFILE |
path, export_format |
| Download shared link | DROPBOXGETSHAREDLINKFILE |
url |
| Create shared link | DROPBOXCREATESHARED_LINK |
path, settings |
| List shared links | DROPBOXLISTSHARED_LINKS |
path, direct_only |
| Shared link metadata | DROPBOXGETSHAREDLINKMETADATA |
url |
| List shared folders | DROPBOXLISTSHARED_FOLDERS |
limit |
| Create folder | DROPBOXCREATEFOLDER |
path |
| Create folders batch | DROPBOXCREATEFOLDER_BATCH |
paths |
| Move file/folder | DROPBOXMOVEFILEORFOLDER |
frompath, topath |
| Move batch | DROPBOXMOVEBATCH |
entries |
| Delete file/folder | DROPBOXDELETEFILEORFOLDER |
path |
| Delete batch | DROPBOXDELETEBATCH |
entries |
| Copy file/folder | DROPBOXCOPYFILEORFOLDER |
frompath, topath |
| Check batch status | DROPBOXCHECKMOVE_BATCH |
asyncjobid |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Example
User request:
Automate Dropbox file management, sharing, search, uploads, downloads, and folder operations via Rube MCP (Composio).
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.