CONNECT APP
Build with Dropbox
File Storage
- OAuth
MCP
Give your agent Dropbox tools
Every Dropbox action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Dropbox account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "dropbox",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Create a Text File:
const result = await mcp.callTool({
name: "dropbox-create-a-text-file",
arguments: {
name: "File Name",
path: "Path",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "dropbox",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Create a Text File:
result = await session.call_tool("dropbox-create-a-text-file", {
"name": "File Name",
"path": "Path",
})API PROXY
Call the Dropbox API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Dropbox API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.dropboxapi.com/2/users/get_account",
})
// Any allowed Dropbox endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.dropboxapi.com/2/users/get_account
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZHJvcGJveGFwaS5jb20vMi91c2Vycy9nZXRfYWNjb3VudA?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Dropbox actions from your backend
Connect a user's Dropbox account once, then run Create a Text File on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "dropbox-create-a-text-file",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
dropbox: { authProvisionId: "apn_xxxxxxx" },
name: "File Name",
path: "Path",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="dropbox-create-a-text-file",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"dropbox": {"authProvisionId": "apn_xxxxxxx"},
"name": "File Name",
"path": "Path",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "dropbox-create-a-text-file",
"configured_props": {
"dropbox": { "authProvisionId": "apn_xxxxxxx" },
"name": "File Name",
"path": "Path"
}
}'TOOLS
Dropbox actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Create a Text File
actionCreates a brand new text file from plain text content you specify. See the documentationWritev0.0.14 -
Create folder
actionCreate a Folder. See the documentationWritev0.0.14 -
Create or Append to a Text File
actionAdds a new line to an existing text file, or creates a file if it doesn't exist. See the documentationWritev0.0.14 -
Create/Update a Share Link
actionCreates or updates a public share link to the file or folder (It allows you to share the file or folder with anyone). See the documentationWritev0.0.14 -
Delete a File/Folder
actionPermanently removes a file/folder from the server. See documentationWritev0.0.14 -
Download and Export
actionExport a file from a user's Dropbox. If file is not exportable, it will be downloaded in original format. See the documentationRead-onlyv0.0.2 -
Download File Preview
actionDownload a file preview from Dropbox. See the documentationWritev0.0.1 -
Download File to TMP
actionDownload a specific file to the temporary directory. See the documentation.Writev0.0.12 -
Get Shared Link File
actionGet a file from a shared link. See the documentationRead-onlyv0.0.3 -
Get Shared Link Metadata
actionRetrieves the shared link metadata for a given shared link. See the documentationRead-onlyv0.0.3 -
List All Files/Subfolders in a Folder
actionRetrieves a list of files or subfolders in a specified folder See the documentationRead-onlyv0.0.14 -
List File Revisions
actionRetrieves a list of file revisions needed to recover previous content. See the documentationRead-onlyv0.0.14 -
List Shared Links
actionRetrieves a list of shared links for a given path. See the documentationRead-onlyv0.0.3 -
Move a File/Folder
actionMoves a file or folder to a different location in the user's Dropbox See the documentationWritev0.0.15 -
Rename a File/Folder
actionRenames a file or folder in the user's Dropbox See the documentationWritev0.0.14 -
Restore a File
actionRestores a previous file version. See the documentationWritev0.0.14 -
Search files and folders
actionSearches for files and folders by name. See the documentationRead-onlyv0.0.15 -
Upload a File
actionUploads a file to a selected folder. See the documentationWritev1.0.5 -
Upload Multiple Files
actionUploads multiple file to a selected folder. See the documentationWritev1.0.5
EVENTS
Dropbox triggers
Event sources your backend can deploy for users and receive through a webhook.
-
New File
triggerEmit new event when a new file is added to your account or a specific folder. Make sure the number of files/folders in the watched folder does not exceed 4000.Instantv0.0.21 -
New Folder
triggerEmit new event when a new folder is created. Make sure the number of files/folders in the watched folder does not exceed 4000.Instantv0.0.20 -
New or Modified File or Folder
triggerEmit new event when a file or folder is added or modified. Make sure the number of files/folders in the watched folder does not exceed 4000.Instantv0.0.20
MULTI-APP
Use Dropbox with other popular apps
Most products don't stop at one integration. Pair Dropbox with the other apps your users rely on, and ship use cases that span both.
- App slug
- dropbox
- Authentication
- OAuth
- Categories
- File Storage
- Actions
- 19
- Triggers
- 3
- API proxy
- Available