Dropbox Connector
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: oauthThis component uses OAuth 2.0 to connect to Dropbox's API.
Prerequisites
- A Dropbox account
- Access to the Dropbox App Console at https://www.dropbox.com/developers/apps
Setup Steps
To create a Dropbox OAuth 2.0 app, log in to Dropbox and open https://www.dropbox.com/developers/apps:
- Select Create app.
- Select Scoped access.
- Choose the type of access required:
- 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. - Full Dropbox access grants access to all files and folders in a user's Dropbox account.
- App folder access grants access to a single folder in the user's
- Give the app a name and click Create app.
- Take note of the App key and App secret. These are entered in a Dropbox connection config variable.
- 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
- Open the Dropbox App Console and select the app
- On the app's info page, click Apply for Production
- 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.
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.
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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⤓
Webhook
Receive and validate webhook requests from Dropbox for webhooks you configure. | key: dropboxWebhook
| Input | Notes | Example |
|---|---|---|
| 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⤓
Data Sources
List Folders
Fetch an array of folders. | key: listFolders | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Dropbox connection to use. | |
| Cursor | The pagination cursor returned by a previous request, from Dropbox's | 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⤓
List Shared Folders
Fetch an array of shared folders. | key: listSharedFolders | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Dropbox connection to use. | |
| Cursor | The pagination cursor returned by a previous request, from Dropbox's | lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E |
| Folder Actions | A list of | 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⤓
List Team Folders
Fetch an array of team folders. | key: listTeamFolders | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Dropbox connection to use. | |
| Cursor | The pagination cursor returned by a previous request, from Dropbox's | 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⤓
Actions
Copy Object
Copy a Folder or File from one path to another | key: copyObject
| Input | Notes | Example |
|---|---|---|
| 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⤓
Create Folder
Create a Folder at the specified path | key: createFolder
| Input | Notes | Example |
|---|---|---|
| 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⤓
Create Shared Link
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
| Input | Notes | Example |
|---|---|---|
| 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⤓
Delete Object
Delete a Folder or File at the specified path | key: deleteObject
| Input | Notes | Example |
|---|---|---|
| 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⤓
Download File
Download the file (< 150MB) at the specified path | key: downloadFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Export File
Export the file at the specified path | key: exportFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Current Account
Get information about the currently authenticated user | key: getCurrentAccount
| Input | Notes | Example |
|---|---|---|
| Connection | The Dropbox connection to use. |
Example Payload for Get Current Account⤓
Get Download Status
Get the status of a file download from a URL to Dropbox | key: getDownloadStatus
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get File Lock
Return the lock metadata for the given list of paths | key: getFileLock
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Metadata for File or Folder
Returns the metadata for a file or folder. | key: getMetadata
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Shared Link File
Download the shared link's file from a user's Dropbox. | key: getSharedLinkFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Shared Metadata for File
Returns shared file metadata. | key: getSharedMetadataForFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Shared Metadata for Folder
Returns shared folder metadata. | key: getSharedMetadataForFolder
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Team Members
Get Team Members by Member ID, External ID, or Email | key: getTeamMembers
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Temporary Link
Get a temporary link to stream content of a file. | key: getTemporaryLink
| Input | Notes | Example |
|---|---|---|
| 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⤓
Get Temporary Upload Link
Get a temporary presigned link to upload a file | key: getTemporaryUploadLink
| Input | Notes | Example |
|---|---|---|
| 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⤓
List Changes
List changes that have been made to files in this folder since the last time this action was run. | key: listChanges
| Input | Notes | Example |
|---|---|---|
| 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⤓
List Folder
List Folder contents at the specified path | key: listFolder
| Input | Notes | Example |
|---|---|---|
| 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⤓
List Shared Folders
List shared folders in the account. | key: listSharingFolder
| Input | Notes | Example |
|---|---|---|
| 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 | 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⤓
List Shared Links
List shared links at the specified path. | key: listSharedLinks
| Input | Notes | Example |
|---|---|---|
| Cursor | The pagination cursor returned by a previous request, from Dropbox's | 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⤓
List Team's Folders
List team folders. | key: listTeamFolder
| Input | Notes | Example |
|---|---|---|
| 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⤓
Lock File
Lock the files at the given paths | key: lockFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Move Object
Move a Folder or File from one path to another | key: moveObject
| Input | Notes | Example |
|---|---|---|
| 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⤓
Raw Request
Send raw HTTP request to Dropbox | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| 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 |
| 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
| Input | Notes | Example |
|---|---|---|
| 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⤓
Search Files
Search for files at the specified path | key: searchFiles
| Input | Notes | Example |
|---|---|---|
| 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⤓
Search Folders
Search for folders at the specified path | key: searchFolders
| Input | Notes | Example |
|---|---|---|
| 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⤓
Share Folder
Share a folder with collaborators. Most sharing will be completed synchronously. Large folders will be completed asynchronously. | key: shareFolder
| Input | Notes | Example |
|---|---|---|
| Actions | A list of | |
| 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⤓
Unlock File
Unlock the files at the given paths | key: unlockFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
Unshare File
Remove all members from this file. Does not remove inherited members. | key: unshareFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
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
| Input | Notes | Example |
|---|---|---|
| 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⤓
Upload File
Upload a file to the specified path | key: uploadFile
| Input | Notes | Example |
|---|---|---|
| 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⤓
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