Skip to main content

Description​

Dropbox is a file sharing platform that allows teams to collaborate and share files with one another. The Dropbox component enables interaction with the Dropbox API. Files can be uploaded, downloaded, listed, and moved within a Dropbox account.

API Documentation​

This component was built using the Dropbox API Documentation

A common integration pattern involves listing files in a file store, and performing a series of actions on the array of files that are returned. See our looping over files quickstart for information about how to create a loop over an array of files.

Detecting changes in Dropbox​

The List Changes action detects changes in the connected user's Dropbox folders. Create a flow that runs on a schedule and begin the flow with a List Changes action. That action will return a list of changes that have occurred since the flow was last run.

To detect and process changes to customers' Dropbox accounts in real-time, see the Single-Endpoint Webhook Integrations guide on handling webhook requests from apps that require a single webhook endpoint.

Connections​

OAuth 2.0​

key: oauth

This component uses OAuth 2.0 to connect to Dropbox's API.

Prerequisites​

Setup Steps​

To create a Dropbox OAuth 2.0 app, log in to Dropbox and open https://www.dropbox.com/developers/apps:

  1. Select Create app.
  2. Select Scoped access.
  3. Choose the type of access required:
    1. App folder access grants access to a single folder in the user's Apps/ directory. A folder will be created with the same name as the OAuth app.
    2. Full Dropbox access grants access to all files and folders in a user's Dropbox account.
  4. Give the app a name and click Create app.
    1. Take note of the App key and App secret. These are entered in a Dropbox connection config variable.
  5. Under the OAuth2 section add the Redirect URI as https://oauth2.prismatic.io/callback.

Under the Permissions tab, choose the permissions the app will need. The actions supported in this component relate to files, so grant the files.metadata.read and files.content.read permissions for read-only access, and also include the files.metadata.write and files.content.write permissions to write files to a user's Dropbox account. Permissions listed under Collaboration and Account Info can be safely ignored.

Configure the Connection​

  • Enter the App key from the Dropbox app's settings page as the App Key.
  • Enter the App secret from the Dropbox app's settings page as the App Secret.

Production Approval​

Dropbox requires third-party OAuth apps to pass a production approval review. Dropbox OAuth apps start in development mode, which are fully functional but limited to 50 total linked users. These apps may be used to build, test, and deploy integrations in this state.

Dropbox apps pass through two states before they are ready for broad deployment.

Development mode (default): New apps start in development mode, limited to 50 total linked users. The OAuth authorization flow works normally for users within this limit. No warning is shown during authentication. Once the app reaches 50 linked users, it is frozen: new users cannot authenticate and the authorization flow returns an error to anyone attempting to connect.

Production approved: Any Dropbox user can authorize the integration without restriction. No warning is shown.

Submit for production approval before broadly deploying the integration to end users. Once an app reaches 50 linked users, Dropbox opens a two-week window to apply for approval. If approval is not granted within this window, the app is frozen: new users cannot authenticate, and the app cannot be unfrozen by unlinking existing users. Production approval is the only path forward once frozen.

The recommended approach: deploy to a small initial group to reach the 50 linked users required for review eligibility, then apply for approval immediately and refrain from waiting to scale broadly.

Apps used solely for internal purposes can remain in development mode and do not require production approval.

Applying for Production Approval​

  1. Open the Dropbox App Console and select the app
  2. On the app's info page, click Apply for Production
  3. Provide the following details (more detail leads to faster review):
    • A description of how the app uses the Dropbox API
    • An app icon
    • A functional description of the integration

Applications are not reviewed until the app has at least 50 linked users. Early review is possible by providing a compelling justification when applying.

App Name Is Locked After Approval

The app name cannot be changed after production approval is granted. Finalize the app name before submitting.

Refer to the Dropbox developer guide for full production approval requirements.

InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for Dropbox

https://www.dropbox.com/oauth2/authorize?token_access_type=offline
App Key

Generate in the Dropbox Developer Portal.

App Secret

Generate in the Dropbox Developer Portal.

Scopes

Dropbox permission scopes are set within Dropbox on the OAuth application

Token URL

The OAuth 2.0 Token URL for Dropbox

https://api.dropboxapi.com/oauth2/token

Triggers​

New and Updated Files​

Checks for new and updated files on a configured schedule. Set a Look-back Date to sync the folder's existing files once when the instance is deployed. | key: pollChangesTrigger

InputNotesExample
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Connection

The Dropbox connection to use.

Include Deleted?

If true, the results will include entries for files and folders that used to exist but were deleted.

false
Initial Sync Page Size

How many existing entries to read per request while backfilling on deploy. Defaults to 2000, the largest value Dropbox accepts. Lower it when a downstream step is slow enough that a full page of work per round is too much to hand over at once.

500
Look-back Date

The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync reports each file modified on or after this date once; Dropbox has no date filter on folder listing, so the folder is still read in full and the date bounds only what is dispatched.

2026-01-01
Recursive

If true, the response will contain contents of all subfolders.

false
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

The New and Updated Files trigger checks a Dropbox folder for new and updated files on a configured schedule, and can optionally sync the files already in that folder once, when the instance is deployed. It returns the entries Dropbox reports as changed since the previous recurrence, including deleted entries when Include Deleted is enabled.

How It Works​

Dropbox reports changes against a cursor rather than a timestamp. On each recurrence the trigger sends the cursor it stored previously, Dropbox returns every entry that changed since that cursor was issued, and the trigger stores the new cursor carried in the response. The next recurrence resumes from exactly there, so no change is reported twice and none is missed between recurrences.

The stored cursor is scoped to the flow and step that produced it, and is kept alongside the Directory Path, Recursive, and Include Deleted values it was issued for.

The first recurrence

With no Look-back Date set, the first recurrence returns no entries. Dropbox issues a cursor describing the folder's current state, and the trigger stores it without reporting anything, so change reporting begins on the recurrence after that. The same happens after Directory Path, Recursive, or Include Deleted is changed: the stored cursor belongs to the previous settings, so the trigger discards it, takes a fresh cursor for the new settings, and again returns no entries for that recurrence. An empty first recurrence is expected behavior, not a misconfigured trigger.

Syncing the files that are already there

Set Look-back Date to have the trigger read the folder's existing files once, when the instance is deployed, before any scheduled recurrence runs. Each existing file modified on or after that date is reported the same way later changes are reported — as a file entry, with no separate "pre-existing" marker.

Leave Look-back Date empty and no historical sync happens at all: the trigger records the folder's current position and reports only what changes after deployment. An instance that has been running without this input therefore keeps behaving exactly as it did, and redeploying it does not produce a backlog.

Two limits are worth knowing before setting a date:

  • Dropbox has no date filter on folder listing. The folder is read in full either way, and the date decides only which entries are reported. Setting an older date does not cost more requests, and setting a recent one does not save any — it saves the downstream executions.
  • Entries Dropbox does not timestamp are always reported. Folders and deleted paths carry no modification time, so the date cannot exclude them. Reporting them is deliberate: leaving them out would drop entries silently, which is worse than reporting one more than asked for.

Dropbox also rejects a date in the future, and a date that is not a real calendar date such as 2026-02-31.

Initial Sync Page Size controls how many entries are read per request during this one-time pass. It appears in the flow's on-deploy configuration and does not affect scheduled recurrences. It defaults to 2000, the largest value Dropbox accepts; lower it when a downstream step is slow enough that a full page of work at once is too much to hand over. A value of zero, a negative number, or a non-numeric value falls back to the default rather than failing the deploy.

Changing Directory Path, Recursive, Include Deleted, or Look-back Date requires redeploying the instance, and that redeploy runs the initial sync again under the new settings.

Draining a backlog

A single Dropbox response carries at most one page of entries. When more pages remain and batching is enabled on the flow, the trigger keeps going within the same recurrence until the folder is caught up, rather than reporting one page and waiting for the next scheduled run. A folder with a hundred pages of pending changes therefore clears in one recurrence instead of a hundred.

With batching off, the trigger reports one page per recurrence.

Recovering From An Interrupted Pass

The stored position advances only when a pass reaches the folder's last page. If a pass is interrupted part way through — a failure, a timeout, a redeploy — the stored position is still where that pass began, and the next recurrence reads the pass again from its start. Entries that were already reported are reported a second time.

That is the intended behavior, and the alternative is worse: advancing the position page by page would put every page not yet reported permanently behind the stored cursor the moment a later page failed, and those entries would never be reported at all, with no error raised. Duplicate delivery is visible and recoverable; a silent gap is neither.

Flows using this trigger should therefore treat each entry as being delivered at least once, and act on entries in a way that is safe to repeat — keying downstream writes on the entry's path_display or id rather than appending unconditionally.

Batching

Batching is enabled per flow on this trigger. Once enabled, each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and the number of batches dispatched concurrently can both be overridden per instance. Raising concurrency increases the request volume sent to Dropbox. The same batch settings apply to the deploy-time sync and to scheduled recurrences.

To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default to use the size this trigger ships with, or choose Custom batch size to set a specific size. Batch Concurrency is optional; leave it blank to use the limit this trigger ships with, which dispatches one batch at a time.

Batch concurrency ships at 1 and should be left there unless the downstream flow is order-independent. Entries are delivered in Dropbox's own order, and that order carries meaning: a deleted entry followed by a file entry at the same path is a delete-then-recreate or a rename. Processing those in parallel can apply the deletion after the recreation and remove a file that still exists.

Enabling batching changes the payload a downstream step receives, and it is also what allows a backlog to drain within one recurrence. With batching off a step reads data.entries, data.cursor, and data.has_more; with batching on those fields do not exist and data is a single changeType/record item, or an array of them (see Returned Data). Any step reading the older shape must be updated before batching is turned on. Because batching is enabled per flow, this affects only that flow, not the component or other flows using the same trigger.

Returned Data​

What arrives in data depends on whether batching is enabled on the flow. The deploy-time sync and scheduled recurrences return the same shapes.

Without batching, data is the full folder-changes result: an entries array of changed files, folders, and deleted paths, the cursor the next recurrence resumes from, and a has_more flag.

Unbatched payload
{
"data": {
"entries": [
{
".tag": "deleted",
"name": "example_deleted_file.png",
"path_display": "/TestSubfolder/example_deleted_file.png"
},
{
".tag": "file",
"name": "example_added_file.png",
"path_display": "/TestSubfolder/example_added_file.png",
"id": "id:someExampleId",
"server_modified": "2024-11-21T18:07:17Z",
"rev": "01627702307738900000002a67d8f21",
"size": 331590
}
],
"cursor": "examplePaginationCursorValue",
"has_more": false
}
}

Fields shown are representative. The full response object includes additional properties.

With batching enabled, each execution receives one entry (or a group of entries, up to the configured batch size), tagged with the kind of change it represents. With a batch size of 1, data is a single item; with a larger batch size, data is an array of them.

Batched item
{
"changeType": "file",
"record": {
".tag": "file",
"name": "example_added_file.png",
"path_display": "/TestSubfolder/example_added_file.png",
"id": "id:someExampleId",
"server_modified": "2024-11-21T18:07:17Z",
"rev": "01627702307738900000002a67d8f21",
"size": 331590
}
}

Fields shown are representative. The full response object includes additional properties.

changeType is the entry's own .tag (file, folder, or deleted), not a created-versus-updated distinction: files/list_folder/continue returns current metadata with no create-versus-update marker, so a modified file simply reappears with a fresh server_modified.

cursor and has_more are not present on a batched item. A flow that reads either of them from the trigger payload breaks the moment batching is enabled, so downstream steps must be updated before turning it on.

Example Payload for New and Updated Files⤓
Loading…

Webhook​

Receive and validate webhook requests from Dropbox for webhooks you configure. | key: dropboxWebhook

InputNotesExample
Signing Secret

The 'App Secret' of the Dropbox app, used to verify that an incoming request was signed by Dropbox.

Many other SaaS apps allow webhook URLs to be configured on a per-customer basis. They make it possible to say "when data is updated for Acme Corp, notify Acme Corp's instance webhook URL".

Dropbox does not have customer-specific webhooks. Instead, they allow the OAuth application to designate a single webhook URL to be notified when updates occur. Whenever any user updates data in Dropbox, that single webhook URL receives a request with an array of Dropbox account IDs that have changes.

The best way to handle these Dropbox requests is to create a "Router Integration" that routes Dropbox webhook requests to the correct customer instance(s).

  • When an instance of the Dropbox integration is created, it notifies the "Router Integration" of a new mapping between the authenticated user's Dropbox Account ID and the instance's flow's webhook URL.
  • When a webhook request comes from Dropbox with a list of Dropbox Account IDs with changes, the "Router Integration" loops over the account IDs, looks up the mapping of account ID to webhook URL, and makes a request to the webhook URL of the appropriate instance, causing it to run a flow that queries for changes.

An example "Router Integration" and a Dropbox integration that register itself with the router integration is available in GitHub. The integrations can be imported and extended as needed.

Example Payload for Webhook⤓
Loading…

Data Sources​

List Folders​

Fetch an array of folders. | key: listFolders | type: picklist

InputNotesExample
Connection

The Dropbox connection to use.

Cursor

The pagination cursor returned by a previous request, from Dropbox's list_folder and list_folder/continue endpoints. Leave empty to start from the first page.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Entry Filter

Select a filter to return only files or folders. If both are selected, all will be returned.

all
Limit

The maximum number of results to return per request. Note: This is an approximate number and there can be slightly more entries returned in some cases.

25
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Recursive

If true, the response will contain contents of all subfolders.

false
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

admin
Example Payload for List Folders⤓
Loading…

List Shared Folders​

Fetch an array of shared folders. | key: listSharedFolders | type: picklist

InputNotesExample
Connection

The Dropbox connection to use.

Cursor

The pagination cursor returned by a previous request, from Dropbox's list_folder and list_folder/continue endpoints. Leave empty to start from the first page.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Folder Actions

A list of FolderActions corresponding to FolderPermissions that should appear in the response's SharedFolderMetadata.permissions field describing the actions the authenticated user can perform on the folder. This field is optional.

disable_viewer_info
Limit

The maximum number of results to return per request. Note: This is an approximate number and there can be slightly more entries returned in some cases.

25
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Example Payload for List Shared Folders⤓
Loading…

List Team Folders​

Fetch an array of team folders. | key: listTeamFolders | type: picklist

InputNotesExample
Connection

The Dropbox connection to use.

Cursor

The pagination cursor returned by a previous request, from Dropbox's list_folder and list_folder/continue endpoints. Leave empty to start from the first page.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Limit

The maximum number of results to return per request. Note: This is an approximate number and there can be slightly more entries returned in some cases.

25
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Example Payload for List Team Folders⤓
Loading…

Actions​

Copy Object​

Copy a Folder or File from one path to another | key: copyObject

InputNotesExample
Connection

The Dropbox connection to use.

From Path

The location of a source file within a Dropbox share. Include a leading /.

/path/to/source/file.txt
To Path

The location of a destination file within a Dropbox share. Include a leading /.

/path/to/destination/file.txt
Example Payload for Copy Object⤓
Loading…

Create Folder​

Create a Folder at the specified path | key: createFolder

InputNotesExample
Connection

The Dropbox connection to use.

Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt
Example Payload for Create Folder⤓
Loading…

Create a shared link with custom settings. If no settings are given then the default visibility is RequestedVisibility.public (The resolved visibility, though, may depend on other aspects such as team and shared folder settings). | key: createSharedLink

InputNotesExample
Audience

Who is allowed to open the shared link: Public grants access to anyone with the link, Team to members of the Dropbox team, and No One to no one beyond the link's owner. Leave empty to let Dropbox resolve visibility from the team and shared folder settings.

Connection

The Dropbox connection to use.

Link Settings

Password, expiration, access level, and download controls to apply to the link.

Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Create Shared Link⤓
Loading…

Delete Object​

Delete a Folder or File at the specified path | key: deleteObject

InputNotesExample
Connection

The Dropbox connection to use.

Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt
Example Payload for Delete Object⤓
Loading…

Download File​

Download the file (< 150MB) at the specified path | key: downloadFile

InputNotesExample
Download as Zip

Download a folder from the user's Dropbox, as a zip file. The folder must be less than 20 GB in size and any single file within must be less than 4 GB in size.

false
Connection

The Dropbox connection to use.

Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt
Example Payload for Download File⤓
Loading…

Export File​

Export the file at the specified path | key: exportFile

InputNotesExample
Connection

The Dropbox connection to use.

Directory Path

The path of the file to be exported.

/Homework/math/Prime_Numbers.gsheet
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Export File⤓
Loading…

Get Current Account​

Get information about the currently authenticated user | key: getCurrentAccount

InputNotesExample
Connection

The Dropbox connection to use.

Example Payload for Get Current Account⤓
Loading…

Get Download Status​

Get the status of a file download from a URL to Dropbox | key: getDownloadStatus

InputNotesExample
Async Job ID

The identifier of the asynchronous job to check. The Save From URL action returns this value in its response.

nMvNReawvD4AAAAAAAAAAQ
Connection

The Dropbox connection to use.

Example Payload for Get Download Status⤓
Loading…

Get File Lock​

Return the lock metadata for the given list of paths | key: getFileLock

InputNotesExample
Connection

The Dropbox connection to use.

Dynamic Paths

A list of file paths referenced from a previous step, each with a leading /. Supply this input, File Paths, or both.

["/path/to/file", "/path/to/another/file"]
File Path

The paths of the files to act on. Each path must include a leading /. Supply this input, Dynamic Paths, or both.

/path/to/source/file.txt
Team Member ID

Used to specify the user to act on behalf of.

dbmid:abcd1234
Example Payload for Get File Lock⤓
Loading…

Get Metadata for File or Folder​

Returns the metadata for a file or folder. | key: getMetadata

InputNotesExample
Connection

The Dropbox connection to use.

Path

The file or folder to get metadata for. Accepts either a path with a leading / or a Dropbox ID.

/Homework/math
Result Options

Options that control which records are returned and how the response is shaped.

Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Get Metadata for File or Folder⤓
Loading…

Get Shared Link File​

Download the shared link's file from a user's Dropbox. | key: getSharedLinkFile

InputNotesExample
Connection

The Dropbox connection to use.

Link Password

If the shared link has a password, this parameter can be used.

anExamplePassword
Directory Path

If the shared link is to a folder, this parameter can be used to retrieve the metadata for a specific file or sub-folder in this folder. A relative path should be used.

/Homework/math/Prime_Numbers.gsheet
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Shared Link URL

The Dropbox shared link to read the file from, including the full https:// URL.

https://www.dropbox.com/s/2sn712vy1ovegw8/Prime_Numbers.txt?dl=0
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Get Shared Link File⤓
Loading…

Get Shared Metadata for File​

Returns shared file metadata. | key: getSharedMetadataForFile

InputNotesExample
Connection

The Dropbox connection to use.

File ID

The ID for the shared file.

id:3kmLmQFnf1AAAAAAAAAAAw
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Get Shared Metadata for File⤓
Loading…

Get Shared Metadata for Folder​

Returns shared folder metadata. | key: getSharedMetadataForFolder

InputNotesExample
Connection

The Dropbox connection to use.

Shared Folder ID

The ID of the shared folder to retrieve metadata for

84528192421
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Get Shared Metadata for Folder⤓
Loading…

Get Team Members​

Get Team Members by Member ID, External ID, or Email | key: getTeamMembers

InputNotesExample
Connection

The Dropbox connection to use.

Lookup By

The kind of identifier supplied in Lookup Value, which determines how team members are matched.

Lookup Value

The identifier to look the team member up by. Must match the kind selected in Lookup By.

user@example.com
Example Payload for Get Team Members⤓
Loading…

Get a temporary link to stream content of a file. | key: getTemporaryLink

InputNotesExample
Connection

The Dropbox connection to use.

Path

The path of the file to generate a temporary link for.

/video.mp4
Team Member ID

Used to specify the user to act on behalf of.

dbmid:abcd1234
Example Payload for Get Temporary Link⤓
Loading…

Get a temporary presigned link to upload a file | key: getTemporaryUploadLink

InputNotesExample
Connection

The Dropbox connection to use.

Duration

How long the link will be valid, in seconds. Defaults to 1 hour.

3600
Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt

The Get Temporary Upload Link action fetches a presigned URL from Dropbox that can be used to upload a file directly to Dropbox. This is handy for a large file that must be uploaded to Dropbox, but cannot be uploaded through a flow.

After fetching a presigned URL, the app can upload a file directly to Dropbox. Note that the request must be a POST request and the content-type header must be application/octet-stream.

For example,

curl --request POST \
--upload-file ./my-file.png \
--header "content-type: application/octet-stream" \
https://content.dropboxapi.com/apitul/1/ExAmPlE

Dropbox documentation notes that the maximum size for a file uploaded via a presigned URL is 150MB.

Example Payload for Get Temporary Upload Link⤓
Loading…

List Changes​

List changes that have been made to files in this folder since the last time this action was run. | key: listChanges

InputNotesExample
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Connection

The Dropbox connection to use.

Include Deleted?

If true, the results will include entries for files and folders that used to exist but were deleted.

false
Recursive

If true, the response will contain contents of all subfolders.

false
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

The first time this action runs, it takes note of the current cursor returned by Dropbox, and returns no changes. Subsequent runs of this step use that cursor to determine what has changed since the last time this step ran.

To watch a folder on a schedule rather than run this action as a step, use the New and Updated Files trigger. It reports the same changes in the same shape, and adds an optional one-time sync of the files already in the folder plus optional batching. Each step keeps its own stored position, so a trigger and this action running in the same flow advance independently and each reports the full set of changes it sees. See the trigger's documentation for the payload it returns and for how batching changes that payload.

Example Payload for List Changes⤓
Loading…

List Folder​

List Folder contents at the specified path | key: listFolder

InputNotesExample
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Pagination

Cursor and page-size controls for paging through results.

Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Recursive

If true, the response will contain contents of all subfolders.

false
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for List Folder⤓
Loading…

List Shared Folders​

List shared folders in the account. | key: listSharingFolder

InputNotesExample
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Folder Actions

A list of FolderActions corresponding to FolderPermissions that should appear in the response's SharedFolderMetadata.permissions field describing the actions the authenticated user can perform on the folder. This field is optional.

disable_viewer_info
Pagination

Cursor and page-size controls for paging through results.

Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Example Payload for List Shared Folders⤓
Loading…

List shared links at the specified path. | key: listSharedLinks

InputNotesExample
Cursor

The pagination cursor returned by a previous request, from Dropbox's list_folder and list_folder/continue endpoints. Leave empty to start from the first page.

lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E
Direct Only

When true, returns only links that point at the given path itself and omits links inherited from its parent folders.

false
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for List Shared Links⤓
Loading…

List Team's Folders​

List team folders. | key: listTeamFolder

InputNotesExample
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Pagination

Cursor and page-size controls for paging through results.

Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Example Payload for List Team's Folders⤓
Loading…

Lock File​

Lock the files at the given paths | key: lockFile

InputNotesExample
Connection

The Dropbox connection to use.

Dynamic Paths

A list of file paths referenced from a previous step, each with a leading /. Supply this input, File Paths, or both.

["/path/to/file", "/path/to/another/file"]
File Path

The paths of the files to act on. Each path must include a leading /. Supply this input, Dynamic Paths, or both.

/path/to/source/file.txt
Team Member ID

Used to specify the user to act on behalf of.

dbmid:abcd1234
Example Payload for Lock File⤓
Loading…

Move Object​

Move a Folder or File from one path to another | key: moveObject

InputNotesExample
Connection

The Dropbox connection to use.

From Path

The location of a source file within a Dropbox share. Include a leading /.

/path/to/source/file.txt
To Path

The location of a destination file within a Dropbox share. Include a leading /.

/path/to/destination/file.txt
Example Payload for Move Object⤓
Loading…

Raw Request​

Send raw HTTP request to Dropbox | key: rawRequest

InputNotesExample
Connection

The Dropbox connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Timeout

The maximum time that a client will await a response to its request

2000
URL

The API path only, such as /file_requests/create. The base URL https://api.dropboxapi.com/2 is applied automatically, so to call https://api.dropboxapi.com/2/file_requests/create enter /file_requests/create.

/file_requests/create
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.


Save From URL​

Save a file from a URL to Dropbox | key: saveFromUrl

InputNotesExample
Connection

The Dropbox connection to use.

To Path

The path with file name with extension where the URL will be saved to in Dropbox.

/path/to/file.txt
URL to Save

The URL to save to Dropbox

https://example.com/file.txt
Wait Until Complete

When true, polls the save job until it finishes and returns the final job status instead of the initial job ID.

false
Example Payload for Save From URL⤓
Loading…

Search Files​

Search for files at the specified path | key: searchFiles

InputNotesExample
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Pagination

Cursor and page-size controls for paging through results.

Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
File Name

The term to search for. Matches against file names only, not file contents, so a query of report returns quarterly-report.pdf.

report
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Search Files⤓
Loading…

Search Folders​

Search for folders at the specified path | key: searchFolders

InputNotesExample
Connection

The Dropbox connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Cursor and Limit inputs are ignored when this is enabled.

false
Pagination

Cursor and page-size controls for paging through results.

Directory Path

The path to a directory within a Dropbox share. Include a leading /.

/path/to/my/directory/
Folder Name

The name of the folder to search for

My Folder
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Search Folders⤓
Loading…

Share Folder​

Share a folder with collaborators. Most sharing will be completed synchronously. Large folders will be completed asynchronously. | key: shareFolder

InputNotesExample
Actions

A list of FolderActions corresponding to FolderPermissions that should appear in the response's SharedFolderMetadata.permissions field describing the actions the authenticated user can perform on the folder.

Connection

The Dropbox connection to use.

Force Async

When true, the share is performed asynchronously and the response returns an async job ID instead of the completed shared folder metadata.

false
Directory Path

The path or the file id to the folder to share. If it does not exist, then a new one is created.

/example/workspace
Sharing Policies

Access control, membership, shared link, viewer info, and access inheritance policies to apply.

Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Share Folder⤓
Loading…

Unlock File​

Unlock the files at the given paths | key: unlockFile

InputNotesExample
Connection

The Dropbox connection to use.

Dynamic Paths

A list of file paths referenced from a previous step, each with a leading /. Supply this input, File Paths, or both.

["/path/to/file", "/path/to/another/file"]
File Path

The paths of the files to act on. Each path must include a leading /. Supply this input, Dynamic Paths, or both.

/path/to/source/file.txt
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Unlock File⤓
Loading…

Unshare File​

Remove all members from this file. Does not remove inherited members. | key: unshareFile

InputNotesExample
Connection

The Dropbox connection to use.

File ID

The ID for the shared file.

id:3kmLmQFnf1AAAAAAAAAAAw
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Unshare File⤓
Loading…

Unshare Folder​

Allows a shared folder owner to unshare the folder. Unshare will not work in the following cases: The shared folder contains shared folders OR the shared folder is inside another shared folder. | key: unshareFolder

InputNotesExample
Connection

The Dropbox connection to use.

Leave a Copy

If true, members of this shared folder will get a copy of this folder after it's unshared. Otherwise, it will be removed from their Dropbox. The current user, who is an owner, will always retain their copy.

false
Shared Folder ID

The ID for the shared folder.

84528192421
Team Member ID

The ID of the team member. Required if Team User Type is set

dbmid:abcd1234
Team User Type

The team member context the request runs as: Admin acts with team admin privileges, User acts as the member themselves. This takes effect only when Team Member ID is also set.

Example Payload for Unshare Folder⤓
Loading…

Upload File​

Upload a file to the specified path | key: uploadFile

InputNotesExample
Connection

The Dropbox connection to use.

File Contents

The contents to write to a file. This can be a string of text, it can be binary data (like an image or PDF) that was generated in a previous step.

My File Contents
Path

The location of a file within a Dropbox share. Include a leading /.

/path/to/file.txt
Example Payload for Upload File⤓
Loading…

Changelog​

2026-09-18​

Added an initial sync and opt-in batching to the New and Updated Files trigger, added output schemas and inline action calling across the component, grouped related action inputs into structured objects, and fixed path handling on the lock actions:

  • Added an optional Look-back Date input to the New and Updated Files trigger for performing an initial sync of the folder's existing files. The initial sync begins when the instance is deployed, reporting each file modified on or after the specified date once; later recurrences are unaffected. Leave it empty to start from the first recurrence with no backfill. An optional Initial Sync Page Size input, presented while the instance deploys, sets how many existing entries each backfill request reads
  • Added opt-in batching to the New and Updated Files trigger, dispatching each changed file individually or in configured batches so a large backlog drains in one recurrence instead of one page per recurrence; enabling it changes the shape a downstream step receives
  • Updated the Search Files, List Folder, Search Folders, List Shared Folders, and List Team's Folders actions to group their paging controls into Pagination; Fetch All stays a top-level toggle
  • Updated Get Metadata for File or Folder to group its response-shaping inputs into Result Options, Create Shared Link to group its password, expiration, and access controls into Link Settings, and Share Folder to group its access and membership controls into Sharing Policies
  • Updated the Webhook trigger to match the Dropbox signature header regardless of the casing it arrives in, so verification no longer depends on how the header name is delivered
  • Fixed Get File Lock, Lock File, and Unlock File failing when Dynamic Paths was supplied on its own and File Path was left empty; the actions now accept either path input without the other
  • Fixed the List Shared Links description, which described listing folder contents rather than shared links
  • Added output schemas to 29 actions for improved field mapping during configuration
  • Added inline action calling support to 31 actions for improved example output during configuration

2026-05-28​

Added Fetch All input to list and search actions to automatically retrieve all pages of results in a single call:

  • List Folder
  • List Shared Folders
  • List Shared Links
  • List Sharing Folders
  • List Team Folders
  • Search Files
  • Search Folders

2026-05-18​

List Changes now persists its Dropbox cursor in crossFlowState keyed by context.flow.stableId and the step name so it survives deployments while keeping per-step cursors when a flow contains multiple List Changes steps. Existing instance-state cursors are migrated transparently on the next run, with no re-baseline

2026-04-30​

Updated spectral version

2026-03-16​

Improved input field documentation with formatted URL links for better readability

2026-03-13​

Removed the Debug Request input from all action inputs. Debug logging is now controlled internally and no longer appears as a configurable field in actions.

2025-11-19​

Enhanced webhook triggers to support simulated test executions

2025-10-08​

Fixed List Changes action losing cursor position on instance update to ensure reliable pagination