How to connect Dropbox to Hermes Agent
Connect Dropbox to Hermes with ClawLink in one click — 111 tools your AI agent can call from chat via hosted OAuth. No API keys, no manual setup.


Store, sync, and share files. Once connected, Hermes Agent can read and act on Dropbox from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Dropbox access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Dropbox setup: pair once in the browser and your always-on Hermes agent can act on Dropbox for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into Hermes to install the plugin and pair your account.
Set up ClawLink for Hermes and tell me when it's ready.
1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin
3. I'll approve it in my browser, then reply "approved".
4. When I say approved, finish setup:
hermes clawlink finish
5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.Setup
It takes three steps to connect Hermes to Dropbox.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect Dropbox
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Dropbox?"
Install by command
The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin # prints an approval link — open it and approve
hermes clawlink finish # after approving in the browser
hermes clawlink testThen connect Dropbox in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking Hermes:
Upload the attached file to my Dropbox at /invoices with dropbox_upload_file (path "/invoices/2026-08.pdf", content attached, mode add). Confirm the path with me before sending.
Using a different agent?
The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once Dropbox is connected in the dashboard, that agent calls the same 111 Dropbox tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Dropbox MCP for Hermes
Looking for a Dropbox MCP server for Hermes Agent? ClawLink connects Dropbox to Hermes Agent and exposes 111 Dropbox tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Dropbox integration works the same way.
ChatGPT answers "how do I connect Dropbox to Hermes" with the same setup every time: there is no one-click Dropbox integration in Hermes, so install the Composio CLI or edit ~/.hermes/config.yaml, then generate a Dropbox app and a token in the Dropbox App Console. The App Console route is eight steps: create app, pick scoped access, generate token, copy it somewhere. The hosted route removes the app and the token: Dropbox is OAuth-only (there are no static keys to paste anywhere), so you authorize your Dropbox account in the browser and the 111 tools on this page, named with the dropbox_ prefix, work from the next message. Nothing about the connection lives in a config file on your machine.
What the Hermes Agent Dropbox integration can do
111 Dropbox tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 111.
30 of 111 Dropbox tools for Hermes
| Tool | What it does |
|---|---|
Copy file or folder dropbox_copy_file_or_folder | Copy a file or folder in Dropbox |
Create folder dropbox_create_folder | Create a new folder in Dropbox |
Create shared link dropbox_create_shared_link | Create a shared link for a Dropbox file or folder |
Download zip dropbox_download_zip | Download a Dropbox folder as a ZIP archive |
Get metadata dropbox_get_metadata | Get metadata for a Dropbox file or folder |
Get space usage dropbox_get_space_usage | Get current Dropbox storage space usage |
Get temporary link dropbox_get_temporary_link | Get a temporary link to download a Dropbox file |
List file revisions dropbox_list_file_revisions | List revisions of a Dropbox file |
List folder continue dropbox_list_folder_continue | List files and folders in a Dropbox folder |
List shared links dropbox_list_shared_links | List shared links in Dropbox |
Move file or folder dropbox_move_file_or_folder | Move a file or folder in Dropbox |
Read file dropbox_read_file | Read the contents of a Dropbox file |
Search file or folder dropbox_search_file_or_folder | Search Dropbox for files and folders |
Share folder dropbox_share_folder | Share a Dropbox folder with others |
Upload file dropbox_upload_file | Upload a file to Dropbox |
Check copy batch dropbox_check_copy_batch | Check the status of an asynchronous copy batch job in Dropbox |
Check folder batch dropbox_check_folder_batch | Check the status of an asynchronous folder batch creation job |
Check job status dropbox_check_job_status | Check the status of an asynchronous sharing job in Dropbox |
Check move batch dropbox_check_move_batch | Check the status of an asynchronous move batch job |
Check save URL status dropbox_check_save_url_status | Check the status of a save_url job in Dropbox |
Check share job status dropbox_check_share_job_status | Check the status of an asynchronous folder sharing job in Dropbox |
Check upload batch dropbox_check_upload_batch | Check the status of an asynchronous upload batch job in Dropbox |
Check user dropbox_check_user | Test Dropbox API connection and validate access token by echoing back a supplied string |
Count file requests dropbox_count_file_requests | Get the total number of file requests owned by the authenticated user |
Export file dropbox_export_file | Export non-downloadable Dropbox files (especially Dropbox Paper) to Markdown/HTML/plain text |
Files search dropbox_files_search | Search for files and folders in Dropbox by name or content |
Get about me dropbox_get_about_me | Get information about the current user's Dropbox account |
Get account dropbox_get_account | Get information about a user's Dropbox account using their account ID |
Get account batch dropbox_get_account_batch | Get information about multiple user accounts in a single request |
Get copy reference dropbox_get_copy_reference | Get a copy reference to a file or folder |
Try it: find the Dropbox tool you need
Browse the 30 Dropbox tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Upload the attached file to my Dropbox at /invoices with dropbox_upload_file (path "/invoices/2026-08.pdf", content attached, mode add). Confirm the path with me before sending.
List /invoices with dropbox_list_files_in_folder (limit 2000), follow dropbox_list_folder_continue while has_more is true, and show me the 10 most recent files with their sizes and modified dates.
Call dropbox_get_space_usage and tell me how much of my Dropbox quota is used and how much is free.
Dropbox tool arguments that trip agents up
Verified 2026-08-02 against the live Composio schemas (backend.composio.dev/api/v3.1/tools/<SLUG>) and prod call history. These are the traps in the current toolset:
dropbox_upload_filerequirespathandcontent, and the content must be the actual file bytes attached to the call. Passing a local filesystem path fails with the missing-file-bytes error. Single uploads cap at ~150MB; larger files need a chunked upload.modedefaults toadd(fail if a file exists at the path), andautorenameorstrict_conflictchange that behavior.dropbox_list_files_in_foldertakes a path or a folder ID (likeid:aBcDeFgH123), defaultslimitto 2000 (the max), and only lists the folder's own contents unlessrecursiveis true. When the response hashas_more: true, the next page comes fromdropbox_list_folder_continuewith the returned cursor, not from another call to the list tool.dropbox_create_shared_linkrequirespathand creates a stable, long-lived link, which is what you want for embedding or permanent sharing.dropbox_get_temporary_linkis the short-lived alternative.- Dropbox addresses everything by path or folder ID: there is no free-form name search in the write tools, so an agent that tries to upload "to the invoices folder" without a real path fails. Run a list or search tool first.
- Write tools are confirmation-gated:
dropbox_upload_fileanddropbox_share_folderrequire explicit user confirmation before they execute, by design. - Tool names are literal:
dropbox_list_files_in_folderexists,dropbox_list_folder_contentsdoes not;dropbox_create_folderexists,dropbox_create_filedoes not. The "Did you mean" line on a miss lists the real names.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Dropbox working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Dropbox app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Dropbox through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Dropbox. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right Dropbox actions to the runtime in a format your agent can reliably use. | 111 tools for Dropbox are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Dropbox to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Dropbox in the browser, and the 111 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use Dropbox
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Connection succeeds but no tools appear
Reconnect Dropbox from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.
"Tool schema not loaded yet" error when calling Dropbox tools
Dropbox tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Dropbox call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.
Dropbox returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.
File bytes are missing for content. No attached bytes and s3key="…" is not a public URL the server can fetch
The dominant Dropbox failure on the ClawLink runtime. The agent passed a local file path (like /home/user/.openclaw/media/inbound/report.pdf) to dropbox_upload_file, but the file never left your machine, so there is nothing to upload. The server needs the file's bytes attached to the call, or a URL it can fetch that is publicly accessible on the internet. Ask the agent to attach the file itself rather than naming a path; if it is working from a link, the link must not require login or a localhost address. The error names the offending s3key, so check whether the agent invented it from a path on your disk.
Ask the agent to diagnose it:
Retry the Dropbox upload, but attach the actual file bytes to the content argument instead of passing a filesystem path. Show me the arguments you plan to send before you send them.Tool 'dropbox_list_folder_contents' not found. Did you mean: 'dropbox_list_folder_members', 'dropbox_list_folder_continue', 'dropbox_list_files_in_folder'?
The agent guessed a tool name that does not exist. The real tool is dropbox_list_files_in_folder; dropbox_list_folder_continue is the pagination tool that follows a has_more cursor. ClawLink returns a "Did you mean" line on every miss, so ask the agent to read it and retry with the suggested name, or list the Dropbox catalog first and pick from it.
Ask the agent to diagnose it:
List the available Dropbox tools, show me the real names, and retry with `dropbox_list_files_in_folder`.Tool 'dropbox_create_file' not found. Did you mean: 'dropbox_create_file_request', 'dropbox_delete_file', 'dropbox_restore_file'?
Another guessed name: Dropbox tools write through dropbox_upload_file (bytes attached, up to ~150MB) rather than a generic create-file tool. If the goal was a folder, dropbox_create_folder is the real name. Read the "Did you mean" line and retry with a real tool.
Ask the agent to diagnose it:
Retry with `dropbox_upload_file` and the file attached, or `dropbox_create_folder` if I asked for a folder.dropbox_upload_file requires explicit confirmation before execution.
Dropbox writes are confirmation-gated: the runtime refuses to run dropbox_upload_file until the user confirms the call. This is by design, not an error. Approve the confirmation prompt when it appears, or tell the agent to confirm the upload target with you before calling. The same gate applies to other write tools such as dropbox_share_folder.
Ask the agent to diagnose it:
Tell me the exact path and file name you plan to upload before calling dropbox_upload_file again.arguments.path is required
A real prod error: the agent called a Dropbox tool (in the recorded case, an upload-adjacent call) without the path argument. Dropbox addresses everything by path or folder ID, so the agent needs the target folder path (like /invoices) before writing. Run dropbox_list_files_in_folder with a folder ID or root path first to get real references, then retry with the path filled in.
Ask the agent to diagnose it:
List the target folder with dropbox_list_files_in_folder, then retry the failing call with the real path.Dropbox 403 or "permission denied" on one file while others work
Dropbox permissions are per item, so a single 403 with other calls working means the connected account lacks permission on that specific file or folder. The causes, in Dropbox terms: the account is not the owner, the item is in a shared folder the account can view but not edit, a Dropbox Business admin restricted the app or the folder, or the agent passed a placeholder id instead of a real one. Run a list or search tool and retry with a real path or folder ID from the results. If the account genuinely lacks access, share the item to the connected account's email or ask the owner to grant edit access.
Ask the agent to diagnose it:
Run dropbox_search_file_or_folder or dropbox_list_files_in_folder and show me the real paths. Then retry the failing action with a real path, and tell me who owns the file.OAuth finished in the browser but the account is still missing
Try reconnecting Dropbox and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent Dropbox integration?
Yes. ClawLink is the fastest way to connect Hermes to Dropbox: link your Dropbox account once in the browser and Hermes Agent can call the Dropbox API through 111 ready-made tools — no custom code or token handling.
How do I connect Dropbox to Hermes with ClawLink?
Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Dropbox in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect Dropbox to Hermes Agent?
About two minutes. Sign in, click Connect next to Dropbox in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Dropbox up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Dropbox working from chat.
Do I need a Dropbox app or access token for this?
No. The manual route for a Hermes-Dropbox connection is a Dropbox app: register one in the Dropbox App Console, enable scoped access, generate a token, and handle refresh yourself. ClawLink's Dropbox app is already registered, so you connect your account in the browser and the tools work without you ever generating or storing a token. Dropbox has no static machine-to-machine keys at all, so "no API keys" here means exactly that; what the connection uses is an OAuth grant, and revoking it in your Dropbox account settings (connected apps) ends the access immediately.
Which Dropbox tools does Hermes get?
111 tools. The tabulated 30 are the ones people reach for most: upload, create folder, copy and move, create shared links, list folder contents, read files, search, file revisions, and space usage. The rest of the catalog covers batch operations, account info, save-from-URL, and export. Dropbox's own MCP server covers a narrower read-and-search surface, so most of what an agent does with a Dropbox account from chat, like uploading or sharing, is only available through a connection like this one.
Is it safe to connect Dropbox to an AI agent?
The AI Overview answers this with prompt-injection warnings from files and over-privileged access. Both apply here, with a hosted-flow control the manual guides never mention: there is no token on your machine to leak. The grant lives on the ClawLink side, is scoped to your Dropbox account, and can be revoked at any time from your Dropbox connected-apps settings. The file-content warning is still real: files an agent reads can contain instructions, so keep untrusted documents out of the folders the agent works in, or review what it does with their contents.
Why does my agent's Dropbox tool fail with a permission error?
Dropbox permissions are per file and per folder, not per connection. The usual causes, in Dropbox terms: the connected account is not the owner of the file or folder, the file lives in a shared folder the account can see but not modify, a Dropbox Business admin has restricted the app or the folder, or the agent sent a placeholder id instead of a real one. Run a list or search tool first to get real file and folder references, and check ownership on the item before blaming the connection.
Hermes paired but still can't use Dropbox
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.