Dropbox
Cloud files. List, search, upload, and organize files and folders, share them with links, and handle file requests.
| Property | Value |
|---|---|
| Slug | dropbox |
| Definition version | 0.1.0 |
| Base URL | https://api.dropboxapi.com |
| Auth schemes | oauth2 |
| Action tools | 31 |
| By class | 13 read, 11 write, 7 destructive |
| Triggers | 1 |
| Provider rate limit | not declared, so outbound calls are unpaced |
Measured routing accuracy
49 golden cases replayed through the router over the whole index: measured over corpus ea4f12ad2948 (65 toolkits, 2283 tools indexed and 13 declared uncallable), 31 cases written by hand and 18 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.
| Measure | Cases | Share |
|---|---|---|
| top-1 | 17/49 | 34.7% |
| top-8 | 42/49 | 85.7% |
The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. just eval-live measures the same cases through the live reranker.
Authentication
Connect an entity with ConnectionsService.InitiateConnection, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.
oauth2
| Property | Value |
|---|---|
| Authorization URL | https://www.dropbox.com/oauth2/authorize |
| Token URL | https://api.dropboxapi.com/oauth2/token |
| Default scopes | files.metadata.read, files.content.read, files.content.write, sharing.read, sharing.write, account_info.read, file_requests.read, file_requests.write |
| Refresh tokens | yes, the refresh daemon renews ahead of expiry |
Tools
31 action tools. The catalog-wide slug is dropbox.<tool>, which is what search_tools returns and call_tool takes.
dropbox.list_folder
List the files and folders directly inside a Dropbox folder. Use for what's in this folder or browsing a known location. For finding a file by name or content anywhere in the account, use search_files.
Class read (reads only). Scopes files.metadata.read. Calls POST /2/files/list_folder.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | no | Folder path, e.g. "/Projects/Q3". Pass an empty string "" to list the root of the account. |
recursive | boolean | no | Include subfolder contents too. Defaults to false. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
cursor | string | |
entries | array of object | |
entries[]..tag | string | |
entries[].id | string | |
entries[].name | string | |
entries[].path_display | string | |
entries[].server_modified | string (date-time) | |
entries[].size | integer | |
has_more | boolean |
Also retrieved by: "what's in this folder", "browse this directory", "show me what's inside here", "what's stored in this location".
dropbox.search_files
Search the whole Dropbox account by name or content. Use when the user wants to find, look up, or locate something by keyword rather than browse a folder they already know. Optionally scope the search to one folder.
Class read (reads only). Scopes files.metadata.read. Calls POST /2/files/search_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
max_results | integer | no | Results to return, max 1000. Defaults to 100. |
path | string | no | Restrict the search to this folder path. Omit to search everywhere. |
query | string | yes | Search text, e.g. "budget proposal" or "quarterly report". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
has_more | boolean | |
matches | array of object | |
matches[].metadata | object | |
matches[].metadata..tag | string | |
matches[].metadata.id | string | |
matches[].metadata.name | string | |
matches[].metadata.path_display | string | |
matches[].metadata.size | integer |
Also retrieved by: "find something by keyword", "look up an old document", "dig up anything mentioning the budget", "where did I save that".
dropbox.get_metadata
Get one file or folder's metadata by path: name, size, type, and when it last changed. Use when the user names a specific file or folder. For its actual content, use download_file.
Class read (reads only). Scopes files.metadata.read. Calls POST /2/files/get_metadata.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Dropbox path, e.g. "/Projects/Q3/budget.xlsx". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
.tag | string | |
client_modified | string (date-time) | |
id | string | |
name | string | |
path_display | string | |
rev | string | |
server_modified | string (date-time) | |
size | integer |
Also retrieved by: "how big is this", "when was this last touched", "check the details on this item", "who last changed this".
dropbox.download_file
Download the raw content of a file by path. Use when the user wants to fetch, save, or read what's inside a file. For a quick visual preview of an image instead of the full file, use get_thumbnail.
Class read (reads only). Scopes files.content.read. Calls POST /2/files/download.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Dropbox path of the file to download. |
Also retrieved by: "grab a copy of this", "save this to my computer", "fetch the actual bytes", "pull this down locally".
dropbox.get_temporary_link
Get a direct download link for a file that works without Dropbox sign-in, valid for a few hours. Use when the user wants a quick link to hand someone rather than a lasting shared link (use create_shared_link for that).
Class read (reads only). Scopes files.content.read. Calls POST /2/files/get_temporary_link.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Dropbox path of the file to link to. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
link | string | |
metadata | object | |
metadata.name | string | |
metadata.path_display | string |
Also retrieved by: "give me a quick link that doesn't need sign-in", "I need a link that expires soon", "send a link that works without an account", "a link good for just a few hours".
dropbox.get_thumbnail
Get a small preview image for a photo or image file. Use when the user wants to see what a picture looks like without downloading the full file.
Class read (reads only). Scopes files.content.read. Calls POST /2/files/get_thumbnail_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
format | string, one of jpeg, png | no | Thumbnail image format. Defaults to jpeg. |
path | string | yes | Dropbox path of the image file. |
size | string, one of w32h32, w64h64, w128h128, w256h256, w480h320, w640h480, w960h640, w1024h768 | no | Thumbnail dimensions. Defaults to w64h64. |
Also retrieved by: "show me a small preview of this picture", "what does this image look like", "give me a quick look at this photo", "preview this picture without opening it".
dropbox.upload_file
Create a new file in Dropbox with the given content. Use when the user wants to add, save, or upload a document or note. Content is UTF-8 text, base64-encoded. Fails if a file already exists at that path; to overwrite one, use update_file_content.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/upload.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
content | string | yes | File content, base64-encoded. |
path | string | yes | Destination path, e.g. "/Notes/meeting.txt". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
id | string | |
name | string | |
path_display | string | |
rev | string |
Also retrieved by: "save this write-up online", "stash this note in my account", "put this text into a new document", "add a fresh item with this content".
dropbox.update_file_content
Replace an existing file's content with new text, keeping its path. Use when the user wants to overwrite, update, or rewrite what's inside a file. Content is UTF-8 text, base64-encoded.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/upload.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
content | string | yes | New file content, base64-encoded. |
path | string | yes | Path of the existing file to overwrite. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
name | string | |
rev | string | |
server_modified | string (date-time) |
Also retrieved by: "overwrite what's inside this", "replace the text in that document", "rewrite this with new content", "swap out what's currently there".
dropbox.create_folder
Create a new folder in Dropbox at the given path, including any missing parent folders. Use when the user wants to organize files into a new folder or directory.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/create_folder_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | New folder path, e.g. "/Projects/Q3 Reports". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
id | string | |
name | string | |
path_display | string |
Also retrieved by: "make a new directory for this", "set up a place to keep these organized", "I need somewhere to put all this".
dropbox.rename_file
Rename a file or folder by giving it a new path, keeping its content and parent folder. Use when the user wants to retitle or relabel something already in Dropbox. For putting it in a different folder, use move_file.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/move_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
from_path | string | yes | Current path of the file or folder. |
to_path | string | yes | New full path with the new name, e.g. "/Reports/Final Budget.xlsx". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
metadata | object | |
metadata..tag | string | |
metadata.name | string | |
metadata.path_display | string |
Also retrieved by: "retitle this", "give this a better name", "this is labeled wrong, fix the name", "change what this is called".
dropbox.move_file
Move a file or folder into a different folder, keeping its name. Use when the user wants to relocate, file away, or reorganize something into another folder. For giving it a new name in place, use rename_file.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/move_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
from_path | string | yes | Current path of the file or folder to move. |
to_path | string | yes | Destination path, including the file or folder name. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
metadata | object | |
metadata..tag | string | |
metadata.name | string | |
metadata.path_display | string |
Also retrieved by: "relocate this somewhere else", "put this in a different location", "this is in the wrong place".
dropbox.copy_file
Duplicate a file or folder to another path, leaving the original in place. Use when the user wants their own copy or a template to build from.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/copy_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
from_path | string | yes | Path of the file or folder to copy. |
to_path | string | yes | Destination path for the copy. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
metadata | object | |
metadata..tag | string | |
metadata.name | string | |
metadata.path_display | string |
Also retrieved by: "I want my own version of this", "duplicate this so I can edit it", "make a template from this".
dropbox.delete_file
Delete a file or folder by path. Use when the user wants to remove or get rid of something in Dropbox. A deleted file's content stays recoverable for a time through restore_file; use list_revisions first to find which version to bring back.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes files.content.write. Calls POST /2/files/delete_v2.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Path of the file or folder to delete. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
metadata | object | |
metadata..tag | string | |
metadata.name | string | |
metadata.path_display | string |
Also retrieved by: "get rid of this for good", "remove this, I don't need it anymore", "toss this old draft".
dropbox.restore_file
Bring back a specific past revision of a file, whether it was deleted or just overwritten. Use when the user wants to undo a change or recover a version they lost. Requires the revision id from list_revisions.
Class write (writes, no confirmation needed). Scopes files.content.write. Calls POST /2/files/restore.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Path the file lived (or lives) at. |
rev | string | yes | Revision id to restore, from list_revisions. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
name | string | |
rev | string | |
server_modified | string (date-time) |
Also retrieved by: "bring back an earlier version", "undo the last change to this", "I need the version from before".
dropbox.list_revisions
List a file's past versions: each revision id, size, and when it was saved. Use when the user asks about earlier versions or wants to recover something they changed or deleted. Restore one with restore_file.
Class read (reads only). Scopes files.metadata.read. Calls POST /2/files/list_revisions.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
limit | integer | no | Number of revisions to return, max 100. Defaults to 10. |
path | string | yes | Path of the file to list revisions for. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
entries | array of object | |
entries[].rev | string | |
entries[].server_modified | string (date-time) | |
entries[].size | integer | |
is_deleted | boolean |
Also retrieved by: "show me the version history", "what did this look like before", "who edited this and when".
dropbox.create_shared_link
Create a link to a file or folder that anyone with the URL can open. Use when the user wants to share, send, or get a link for something in Dropbox. Optionally protect it with a password or an expiry date.
Class write (writes, no confirmation needed). Scopes sharing.write. Calls POST /2/sharing/create_shared_link_with_settings.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
expires | string (date-time) | no | Optional time after which the link stops working. |
password | string | no | Optional password required to open the link. |
path | string | yes | Path of the file or folder to link to. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
.tag | string | |
path_lower | string | |
url | string |
Also retrieved by: "give me a link anyone can open", "I want a URL for this I can send someone", "generate a public link to this".
dropbox.list_shared_links
List the shareable links that exist for a file, or for the whole account when no path is given. Use when the user asks who has a link to something or wants to review what's been shared.
Class read (reads only). Scopes sharing.read. Calls POST /2/sharing/list_shared_links.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | no | Restrict to links for this file or folder. Omit to list every link. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
links | array of object | |
links[]..tag | string | |
links[].name | string | |
links[].path_lower | string | |
links[].url | string |
Also retrieved by: "who has a link to this", "what's been shared already", "check what links exist for this".
dropbox.revoke_shared_link
Disable a shared link so it stops working. Use when the user wants to unshare, revoke, or kill a link they previously created, without touching the file itself.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes sharing.write. Calls POST /2/sharing/revoke_shared_link.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
url | string | yes | The shared link URL to revoke. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
revoked | boolean |
Also retrieved by: "kill that link I sent", "shut off access through that URL", "stop that link from working".
dropbox.share_folder
Turn an existing folder into a shared folder so other people can be added to it. Use when the user wants to start collaborating on a folder with others. Add people to it afterward with add_folder_member.
Class write (writes, no confirmation needed). Scopes sharing.write. Calls POST /2/sharing/share_folder.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
path | string | yes | Path of the existing folder to share. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
.tag | string | |
shared_folder_id | string |
Also retrieved by: "start collaborating on this with others", "let the team work on this together", "open this up for the group".
dropbox.list_shared_folders
List the shared folders the signed-in account belongs to, owned by them or by someone else. Use when the user asks what team folders or shared folders they have access to.
Class read (reads only). Scopes sharing.read. Calls POST /2/sharing/list_folders.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
page_size | integer | no | Results per page, max 1000. Defaults to 100. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
cursor | string | |
entries | array of object | |
entries[].name | string | |
entries[].path_lower | string | |
entries[].shared_folder_id | string |
Also retrieved by: "what team folders am I part of", "show the shared spaces I belong to", "which collaborative folders can I open".
dropbox.add_folder_member
Invite a person by email to a shared folder, as a viewer or editor. Use when the user wants to add, invite, or give someone access to a shared folder. For a single file's link instead, use create_shared_link.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes sharing.write. Calls POST /2/sharing/add_folder_member.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
access_level | string, one of viewer, editor | no | Access level to grant. Defaults to viewer. |
email | string | yes | Email address of the person to invite. |
shared_folder_id | string | yes | Id of the shared folder, from share_folder or list_shared_folders. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
invited | boolean |
Also retrieved by: "invite someone to this shared space", "give a new person access to this", "let this person in on the shared work".
dropbox.list_folder_members
List who has access to a shared folder and their role. Use when the user wants to see who can view or edit a shared folder, before changing its membership.
Class read (reads only). Scopes sharing.read. Calls POST /2/sharing/list_folder_members.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
shared_folder_id | string | yes | Id of the shared folder to check membership on. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
users | array of object | |
users[].access_type | object | |
users[].access_type..tag | string | |
users[].user | object | |
users[].user.account_id | string | |
users[].user.display_name | string | |
users[].user.email | string |
Also retrieved by: "who's on this shared space", "see everyone with access here", "check the roster for this shared area".
dropbox.remove_folder_member
Revoke a person's access to a shared folder. Use when the user wants to remove, kick out, or stop someone from seeing a shared folder.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes sharing.write. Calls POST /2/sharing/remove_folder_member.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
email | string | yes | Email address of the person to remove. |
leave_a_copy | boolean | no | Leave the removed person a private copy of the folder's current contents. Defaults to false. |
shared_folder_id | string | yes | Id of the shared folder the person has access to. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
complete | boolean |
Also retrieved by: "take this person off the shared space", "kick them out of this collaborative area", "cut their access to this".
dropbox.unshare_folder
Turn a shared folder back into a private one, removing every other member's access at once. Use when the user wants to stop collaborating on a folder entirely, not just remove one person (use remove_folder_member for that).
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes sharing.write. Calls POST /2/sharing/unshare_folder.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
leave_a_copy | boolean | no | Leave removed members a private copy of the folder's current contents. Defaults to false. |
shared_folder_id | string | yes | Id of the shared folder to unshare. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
complete | boolean |
Also retrieved by: "stop everyone's access to this at once", "take this back to being private", "end the collaboration on this entirely".
dropbox.accept_shared_folder
Accept a shared folder someone invited the signed-in account to, so it shows up alongside their own folders. Use when the user wants to join, accept, or add a shared folder they were invited to.
Class write (writes, no confirmation needed). Scopes sharing.write. Calls POST /2/sharing/mount_folder.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
shared_folder_id | string | yes | Id of the shared folder to accept, from an invitation. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
name | string | |
path_lower | string | |
shared_folder_id | string |
Also retrieved by: "join the thing someone invited me to", "add that invitation to my account", "I want to join what they shared with me".
dropbox.leave_shared_folder
Give up the signed-in account's own access to a shared folder, leaving its other members unaffected. Use when the user wants to leave, exit, or step away from a folder someone else shared with them.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes sharing.write. Calls POST /2/sharing/relinquish_folder_membership.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
leave_a_copy | boolean | no | Keep a private copy of the folder's current contents. Defaults to false. |
shared_folder_id | string | yes | Id of the shared folder to leave. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
complete | boolean |
Also retrieved by: "step away from this shared space", "I'm done being part of this", "take myself off this collaborative area".
dropbox.get_current_account
Get the signed-in Dropbox account's name, email, and country. Use when the user asks who they're signed in as or wants their own account details.
Class read (reads only). Scopes account_info.read. Calls POST /2/users/get_current_account.
Takes no arguments.
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
account_id | string | |
country | string | |
email | string | |
name | object | |
name.display_name | string |
Also retrieved by: "who am I signed in as", "show my own profile details", "what account is this".
dropbox.get_space_usage
Get how much storage the signed-in account is using and its total allowance. Use when the user asks how much space they have left or how full their Dropbox is.
Class read (reads only). Scopes account_info.read. Calls POST /2/users/get_space_usage.
Takes no arguments.
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
allocation | object | |
allocation..tag | string | |
allocation.allocated | integer | |
used | integer |
Also retrieved by: "how much room do I have left", "check my storage usage", "is my account almost full".
dropbox.create_file_request
Create a file request: a page other people can use to upload files into a folder, without needing a Dropbox account of their own. Use when the user wants to collect, gather, or request files from someone external.
Class write (writes, no confirmation needed). Scopes file_requests.write. Calls POST /2/file_requests/create.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
deadline | string (date-time) | no | Optional deadline after which uploads are refused. |
destination | string | yes | Folder path where uploaded files land. |
title | string | yes | Title shown on the upload page, e.g. "Tax documents". |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
destination | string | |
id | string | |
title | string | |
url | string |
Also retrieved by: "set up a page for people to send me their stuff", "I need to collect documents from someone outside", "start gathering uploads from a client".
dropbox.list_file_requests
List the file requests the signed-in account has created, open or closed. Use when the user asks what upload requests they've sent out or wants to check on one.
Class read (reads only). Scopes file_requests.read. Calls POST /2/file_requests/list_v2.
Takes no arguments.
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
file_requests | array of object | |
file_requests[].destination | string | |
file_requests[].id | string | |
file_requests[].is_open | boolean | |
file_requests[].title | string |
Also retrieved by: "what upload pages have I set up", "show the collection requests I've sent out", "check on the things I asked people to send".
dropbox.delete_file_request
Permanently delete one or more file requests, closing them to new uploads. Use when the user wants to remove, cancel for good, or clean up file requests they no longer need.
Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). Scopes file_requests.write. Calls POST /2/file_requests/delete.
Arguments:
| Argument | Type | Required | Notes |
|---|---|---|---|
ids | array of string | yes | File request ids to delete, from list_file_requests. |
Result fields (the payload is trimmed to these before it reaches the model):
| Field | Type | Notes |
|---|---|---|
file_requests | array of object | |
file_requests[].id | string | |
file_requests[].title | string |
Also retrieved by: "get rid of that collection page for good", "cancel the thing I set up to gather uploads", "remove that request permanently".
Triggers
Triggers are app-initiated. They are not retrievable as tools and cannot be called; subscribe with TriggersService.CreateSubscription and events arrive as signed deliveries.
file_changed
Fires when something changes in a Dropbox account this project is subscribed to: a file added, edited, moved, or deleted anywhere in it. Carries only the affected account ids; call list_folder or get_metadata afterward to see what actually changed.
Payload fields (anything the schema does not declare never reaches a subscriber):
| Field | Type | Notes |
|---|---|---|
list_folder | object | |
list_folder.accounts | array of string |
Inbound webhooks
Providers post to /webhooks/dropbox. Posts that fail verification are rejected before anything is stored, and the ingest path refuses every post while the secret variable is unset.
| Property | Value |
|---|---|
| Verification scheme | hmac_sha256 |
| Shared secret | AUTOMATON_DROPBOX_WEBHOOK_SECRET (deployment environment) |
| Signature header | X-Dropbox-Signature |
| Signature format | {sig} |
Mappings are tried in order and the first match wins.
| Trigger | Matches when | Entity resolved from |
|---|---|---|
file_changed | every remaining post |