Skip to main content

Dropbox integration

Manage files and folders and react to account-level change notifications on behalf of your clients' Dropbox accounts.

What it does

The Dropbox integration lets your agency move work in and out of your clients' Dropbox accounts without leaving TaskJuice. Connect an account once and your workflows can list folders, create new folders, move or copy files, soft-delete files, fetch metadata, and mint shared links against the Dropbox HTTP API v2. When something changes inside the connected account, Dropbox notifies TaskJuice and your workflow can react in seconds.

Connect a Dropbox account

  1. Open your workspace in TaskJuice and navigate to Connections.
  2. Choose Dropbox and click Connect.
  3. Sign in to the Dropbox account you want to wire up and approve the scopes your BYOC client requests (account_info.read, account_info.write, contacts.write, email, file_requests.read, file_requests.write, files.content.read, files.content.write, files.metadata.read, files.metadata.write, files.permanent_delete, openid, profile, sharing.read, sharing.write).
  4. TaskJuice returns you to the workspace with the connection ready to use in any workflow.

To revoke access, open dropbox.com, go to Settings, Connected apps, and remove the TaskJuice authorization. The full grant flow is documented in the Dropbox OAuth guide.

Triggers

  • dropbox/account-changed Triggers when a change occurs in any connected Dropbox account (file added, removed, or modified). Dropbox POSTs a list_folder/longpoll-style notification carrying the changed account ids; downstream actions then call /files/list_folder/continue to materialize the delta.
  • dropbox/file-changed-in-folder Polls POST /2/files/list_folder for a folder and emits one activation per cycle whose items array carries the entries seen on that listing. Dedupe is on rev, the Dropbox revision id, so a NEW file fires once and an EDITED file fires again on every content change. Entries without a rev -- folders, and deleted entries when Include Deleted is on -- fall back to whole-entry identity, so each fires once. The first cycle is suppressed: it baselines the folder so an existing library does not flood the workflow. Drop a Loop node (type: array, arrayPath: items) downstream to act on each entry; omit it for a digest. Folders arrive in the same array with .tag: "folder" -- add a Filter node on that field for a New Folder workflow. Dropbox pages list_folder through a SEPARATE list_folder/continue endpoint, which this poller cannot call, so one cycle sees at most Page Size entries -- raise it for large folders. For a true change feed with no page ceiling, use the Account Changed webhook trigger with the List Folder Changes (Continue) action instead.
  • dropbox/matching-item-found Polls POST /2/files/search_v2 ordered by last-modified time and emits one activation per cycle whose items array carries the search matches. Use it to watch the WHOLE Dropbox (or one folder subtree) for items whose name matches a term, without listing a specific folder. A query string is mandatory -- Dropbox search has no match-everything mode; to watch a folder unconditionally use New or Updated File in Folder instead. Dedupe is on the match's metadata.metadata.rev, so an edited file re-fires; folders (which carry no rev) fall back to whole-match identity and fire once. The first cycle is suppressed so an existing library does not flood the workflow. Drop a Loop node (type: array, arrayPath: items) downstream to act on each match. Note Dropbox indexes content only on paid plans; on Basic, matching is filename-only.
  • dropbox/shared-folder-added Polls POST /2/sharing/list_folders and emits one activation per cycle whose items array carries the shared folders the connected account is a member of. Dedupe is on shared_folder_id, so each folder fires once -- when it is first shared with, or first created by, this account. The first cycle is suppressed so existing shared folders do not flood the workflow. Dropbox pages this endpoint through a separate list_folders/continue route the poller cannot call, so raise Max folders rather than expecting paging.
  • dropbox/file-request-created Polls POST /2/file_requests/list_v2 and emits one activation per cycle whose items array carries the file requests owned by the connected account. Only file requests created after the workflow is first published fire, judged by the request's own creation date, so editing an older request's title or deadline does not fire it. Dedupe is on the request id, so each fires once. The first cycle is suppressed so existing requests do not flood the workflow. This watches the REQUESTS, not the files uploaded through them -- to react to uploads, watch the destination folder with New or Updated File in Folder.

Every inbound POST is authenticated by recomputing HMAC-SHA256 over the raw request body using your Dropbox app secret, and comparing the hex digest against the value Dropbox sends in the X-Dropbox-Signature header. Activations that fail the check are rejected before they reach your workflow.

Actions

Files and folders

  • dropbox/add-file-tag add a tag to an item. A tag is a string. The strings are automatically converted to lowercase letters. No more than 20 tags can be added to a...
  • dropbox/check-save-url-job polls a Save File from URL transfer that returned an async_job_id (POST /2/files/save_url/check_job_status). Returns .tag: "in_progress"...
  • dropbox/copy copies a file or folder from one path to another. Optionally auto-renames on conflict.
  • dropbox/copy-batch-check-v2 returns the status of an asynchronous job for It returns list of results for each entry.
  • dropbox/copy-batch-v2 copy multiple files or folders to different locations at once in the user's Dropbox. This route will replace The main difference is this route...
  • dropbox/create-folder creates a new folder at the supplied path. Optionally auto-renames on conflict.
  • dropbox/create-folder-batch create multiple folders at once. This route is asynchronous for large batches, which returns a job ID immediately and runs the create folder batch...
  • dropbox/create-folder-batch-check returns the status of an asynchronous job for If success, it returns list of result for each entry.
  • dropbox/delete permanently deletes a file or folder at the supplied path. Soft-deletes by default; can be restored from the trash window.
  • dropbox/delete-batch delete multiple files/folders at once. This route is asynchronous, which returns a job ID immediately and runs the delete batch asynchronously....
  • dropbox/delete-batch-check returns the status of an asynchronous job for If success, it returns list of result for each entry.
  • dropbox/download-file downloads a file's bytes and stores them as a TaskJuice file reference a later step can re-upload or attach (POST...
  • dropbox/download-folder-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...
  • dropbox/export-file export a file from a user's Dropbox. This route only supports exporting files that cannot be downloaded directly and whose...
  • dropbox/get-copy-reference get a copy reference to a file or folder. This reference string can be used to save that file or folder to another user's Dropbox by passing it to.
  • dropbox/get-file-lock-batch return the lock metadata for the given list of paths.
  • dropbox/get-file-preview get a preview for a file. Currently, PDF previews are generated for files with the following extensions: .ai, .doc, .docm, .docx, .eps, .gdoc...
  • dropbox/get-file-tags get list of tags assigned to items.
  • dropbox/get-latest-cursor returns a cursor representing the CURRENT state of a folder without listing any entries (POST /2/files/list_folder/get_latest_cursor). Use it to...
  • dropbox/get-metadata fetches metadata for a single file or folder by path or id. Dropbox routes the read through POST with a JSON body.
  • dropbox/get-temporary-link returns a direct, unauthenticated streaming URL for a file that is valid for four hours (POST /2/files/get_temporary_link). Prefer this over...
  • dropbox/get-temporary-upload-link creates a one-time, unauthenticated URL that any system can POST raw bytes to, committing them to the supplied Dropbox path (POST...
  • dropbox/get-thumbnail renders a thumbnail for an image, PDF, or document and stores it as a TaskJuice file reference (POST...
  • dropbox/get-thumbnail-batch get thumbnails for a list of images. We allow up to 25 thumbnails in a single batch. This method currently supports files with the following file...
  • dropbox/list-folder lists the immediate contents of a folder by path. Supports cursor pagination via the cursor returned in the response.
  • dropbox/list-folder-continue materializes the delta since a stored cursor (POST /2/files/list_folder/continue). This is the second half of the Dropbox change-notification...
  • dropbox/list-revisions lists prior revisions of a file (POST /2/files/list_revisions). Each entry carries a rev you can hand to Restore File Revision. Only...
  • dropbox/lock-file-batch lock the files at the given paths. A locked file will be writable only by the lock holder. A successful response indicates that the file has been...
  • dropbox/move moves a file or folder from one path to another. Optionally creates missing parent folders or auto-renames on conflict.
  • dropbox/move-batch-check-v2 returns the status of an asynchronous job for It returns list of results for each entry.
  • dropbox/move-batch-v2 move multiple files or folders to different locations at once in the user's Dropbox. Note that we do not currently support case-only renaming....
  • dropbox/permanently-delete permanently delete the file or folder at a given path (see https://www.dropbox.com/en/help/40). If the given file or folder is not yet deleted...
  • dropbox/remove-file-tag remove a tag from an item.
  • dropbox/restore-file restores a file to a previous revision (POST /2/files/restore). The current contents become just another revision, so this is recoverable --...
  • dropbox/save-copy-reference save a copy reference returned by to the user's Dropbox.
  • dropbox/save-url tells Dropbox to fetch a public URL server-side and save the bytes into the account (POST /2/files/save_url). This is the way to get bytes INTO...
  • dropbox/search-files searches the connected Dropbox for files and folders matching a query (POST /2/files/search_v2). Optionally scope to a folder path, restrict to...
  • dropbox/search-files-continue fetches the next page of a previous Search Files and Folders call (POST /2/files/search/continue_v2). Pass the cursor the prior call returned....
  • dropbox/unlock-file-batch unlock the files at the given paths. A locked file can only be unlocked by the lock holder or, if a business account, a team admin. A successful...

Sharing

  • dropbox/add-file-member adds specified members to a file.
  • dropbox/add-folder-member invites one or more people to a shared folder (POST /2/sharing/add_folder_member). members is a list of ( "member": ( ".tag": "email", "email"...
  • dropbox/check-remove-member-job-status returns the status of an asynchronous job for sharing a folder.
  • dropbox/check-share-job-status returns the status of an asynchronous job for sharing a folder.
  • dropbox/check-sharing-job-status returns the status of an asynchronous job.
  • dropbox/create-shared-link creates a shareable URL for a file or folder, with optional access and expiration settings.
  • dropbox/get-file-metadata returns shared file metadata.
  • dropbox/get-file-metadata-batch returns shared file metadata.
  • dropbox/get-folder-metadata returns shared folder metadata by its folder ID.
  • dropbox/get-shared-link-file download the shared link's file from a user's Dropbox. This is a download-style endpoint that returns the file content.
  • dropbox/get-shared-link-metadata get the shared link's metadata.
  • dropbox/list-file-members use to obtain the members who have been invited to a file, both inherited and uninherited members.
  • dropbox/list-file-members-batch get members of multiple files at once. The arguments to this route are more limited, and the limit on query result size per file is more strict....
  • dropbox/list-file-members-continue once a cursor has been retrieved from or use this to paginate through all shared file members.
  • dropbox/list-folder-members returns shared folder membership by its folder ID.
  • dropbox/list-folder-members-continue once a cursor has been retrieved from use this to paginate through all shared folder members.
  • dropbox/list-folders-continue once a cursor has been retrieved from use this to paginate through all shared folders. The cursor must come from a previous call to or.
  • dropbox/list-mountable-folders return the list of all shared folders the current user can mount or unmount.
  • dropbox/list-mountable-folders-continue once a cursor has been retrieved from use this to paginate through all mountable shared folders. The cursor must come from a previous call to or.
  • dropbox/list-received-files returns a list of all files shared with current user.
  • dropbox/list-received-files-continue get more results with a cursor from.
  • dropbox/list-shared-folders lists every shared folder the connected account is a member of (POST /2/sharing/list_folders). Each entry carries the shared_folder_id that **Add...
  • dropbox/list-shared-links lists shared links in the account (POST /2/sharing/list_shared_links). With a Path set, returns the links pointing at that file or folder...
  • dropbox/modify-shared-link-settings changes the password, expiry, audience, access level, or download permission on an existing shared link (POST...
  • dropbox/mount-folder the current user mounts the designated folder. Mount a shared folder for a user after they have been added as a member. Once mounted, the shared...
  • dropbox/relinquish-file-membership the current user relinquishes their membership in the designated file.
  • dropbox/relinquish-folder-membership the current user relinquishes their membership in the designated shared folder and will no longer have access to the folder. A folder owner cannot...
  • dropbox/remove-file-member removes a specified member from the file.
  • dropbox/remove-folder-member allows an owner or editor (if the ACL update policy allows) of a shared folder to remove another member.
  • dropbox/revoke-shared-link disables an existing shared link so the URL stops working (POST /2/sharing/revoke_shared_link). The file itself is untouched; a new link can be...
  • dropbox/set-access-inheritance change the inheritance policy of an existing Shared Folder. Only permitted for shared folders in a shared team root. If a...
  • dropbox/share-folder share a folder with collaborators. Most sharing will be completed synchronously. Large folders will be completed asynchronously. To make testing...
  • dropbox/transfer-folder transfer ownership of a shared folder to a member of the shared folder. User must have :field:AccessLevel.owner access to the shared folder to...
  • dropbox/unmount-folder the current user unmounts the designated folder. They can re-mount the folder at a later time using.
  • dropbox/unshare-file remove all members from this file. Does not remove inherited members.
  • dropbox/unshare-folder allows a shared folder owner to unshare the folder. Unshare will not work in following cases: The shared folder contains shared folders OR the...
  • dropbox/update-file-member changes a member's access on a shared file.
  • dropbox/update-file-policy update the viewer info policy of a file.
  • dropbox/update-folder-member allows an owner or editor of a shared folder to update another member's permissions.
  • dropbox/update-folder-policy update the sharing policies for a shared folder. User must have :field:AccessLevel.owner access to the shared folder to update its policies.

File requests

  • dropbox/count-file-requests returns the total number of file requests owned by this user. Includes both open and closed file requests.
  • dropbox/create-file-request creates a Dropbox file request -- a public upload page anyone can drop files into without a Dropbox account (POST /2/file_requests/create)....
  • dropbox/delete-all-closed delete all closed file requests owned by this user.
  • dropbox/delete-file-requests deletes one or more CLOSED file requests (POST /2/file_requests/delete). Dropbox refuses to delete an open request -- close it with **Update File...
  • dropbox/get-file-request returns the specified file request.
  • dropbox/list-file-requests lists the file requests owned by the connected account (POST /2/file_requests/list_v2). Dropbox pages this through a separate list/continue route...
  • dropbox/list-file-requests-continue once a cursor has been retrieved from use this to paginate through all file requests. The cursor must come from a previous call to or.
  • dropbox/list-file-requests-legacy returns a list of file requests owned by this user. For apps with the app folder permission, this will only return file requests with destinations...
  • dropbox/update-file-request updates a file request's title, destination folder, description, or open/closed state (POST /2/file_requests/update). Fields left blank are not...

File properties

  • dropbox/add-file-properties add property groups to a Dropbox file. See or to create new templates.
  • dropbox/add-property-template add a template associated with a user. See to add properties to a file. This endpoint can't be called on a team member or admin's behalf.
  • dropbox/get-property-template get the schema for a specified template. This endpoint can't be called on a team member or admin's behalf.
  • dropbox/list-property-templates get the template identifiers for a team. To get the schema of each template use This endpoint can't be called on a team member or admin's behalf.
  • dropbox/overwrite-file-properties overwrite property groups associated with a file. This endpoint should be used instead of when property groups are being updated via a .
  • dropbox/remove-file-properties permanently removes the specified property group from the file. To remove specific property field key value pairs, see To update a template, see...
  • dropbox/remove-property-template permanently removes the specified template created from All properties associated with the template will also be removed. This action cannot be...
  • dropbox/search-file-properties search across property templates for particular property field values.
  • dropbox/search-file-properties-continue once a cursor has been retrieved from use this to paginate through all search results.
  • dropbox/update-file-properties add, update or remove properties associated with the supplied file and templates. This endpoint should be used instead of when property groups are...
  • dropbox/update-property-template update a template associated with a user. This route can update the template name, the template description and add optional properties to...

Content extraction

  • dropbox/get-markdown-async asynchronous document-to-markdown conversion for supported file formats. Supported formats: .binder, .docx, .html, .paper, .papert, .pptx, .xlsx...
  • dropbox/get-markdown-async-check returns the status or result of specified get_markdown_async task.
  • dropbox/get-metadata-async asynchronous file metadata extraction for supported file formats. The kind of metadata returned depends on the file type: - Image (EXIF) formats...
  • dropbox/get-metadata-async-check returns the status or result of specified get_metadata_async task.
  • dropbox/get-ocr-async asynchronous OCR (optical character recognition) text extraction for images and PDFs, including scanned / non-text PDFs. Supported formats: -...
  • dropbox/get-ocr-async-check returns the status or result of specified get_ocr_async task.
  • dropbox/get-text-async asynchronous plain-text extraction from documents. Supported formats include: - Word processing: .doc, .docx, .docm, .rtf. - Presentations: .ppt...
  • dropbox/get-text-async-check returns the status or result of specified get_text_async task.
  • dropbox/get-transcript-async asynchronous transcript generation for audio and video files. Supported audio formats: .aac, .aif, .aiff, .flac, .m4a, .m4r, .mp3, .oga, .ogg...
  • dropbox/get-transcript-async-check returns the status or result of specified get_transcript_async task.

Contacts

  • dropbox/delete-manual-contacts removes all manually added contacts. You'll still keep contacts who are on your team or who you imported. New contacts will be added when you share.
  • dropbox/delete-manual-contacts-batch removes manually added contacts from the given list.

Account

  • dropbox/delete-profile-photo deletes the current user's profile photo.
  • dropbox/get-account-features get a list of feature values that may be configured for the current account.
  • dropbox/get-current-account returns the connected Dropbox account's profile (POST /2/users/get_current_account). The account_id it returns is the key that maps an **Account...
  • dropbox/get-openid-userinfo this route is used for refreshing the info that is found in the id_token during the OIDC flow. This route doesn't require any arguments and will...
  • dropbox/get-profile-photo this lovely endpoint gets the account photo of a given user.
  • dropbox/get-space-usage returns the connected account's storage usage and quota in bytes (POST /2/users/get_space_usage). Use it to gate an upload workflow before it...
  • dropbox/get-user-account get information about a user's account.
  • dropbox/get-user-accounts-batch get information about multiple user accounts. At most 300 accounts may be queried per request.
  • dropbox/set-profile-photo sets a user's profile photo.

Diagnostics

  • dropbox/check-user this endpoint performs User Authentication, validating the supplied access token, and returns the supplied string, to allow you to test your code...

Known limitations

  • The Dropbox API enforces per-app rate limits. When a 429 status is returned, TaskJuice surfaces it as a retryable error so the workflow can back off and retry.
  • Webhook notifications carry only the affected account_id values, not the changed file list. Workflows must call dropbox/list-folder with the cursor stored in state to learn what actually changed.
  • This integration covers the JSON-RPC endpoints under api.dropboxapi.com/2/*. Content-upload and content-download endpoints (which require a separate binary host) are not exposed.
  • File and folder paths are case-insensitive in Dropbox storage but case-preserving in metadata; pass paths in the casing you want surfaced in the UI.

File upload is not available

Dropbox requires raw application/octet-stream bytes on its upload endpoints, and this integration does not offer files/upload or the upload-session family yet. To get bytes into a client's Dropbox, use Save File from URL, which asks Dropbox to fetch a file from a public URL, or Get Temporary Upload Link, which returns a short-lived URL a client system can POST to directly.

Missing scopes surface as an authentication error

Dropbox returns HTTP 401 with a missing_scope body when an access token predates a permission change, and HTTP 400 when the Dropbox app itself has not been granted the permission. TaskJuice reports the 401 form as an authentication failure. If an action fails that way and reconnecting does not help, add the scope named in the error to your OAuth client and reconnect.

Dropbox Business team endpoints are out of scope

The team administration surface requires a Dropbox Business team access token, which is a different application type from the user-scoped connection TaskJuice uses. Those operations are not offered.

Was this helpful?