Large File Upload to Dropbox with Progress Tracking and Chunking - n8n Workflow

Use this powerful n8n workflow to handle large file uploads to Dropbox using the chunked upload API. This n8n templates solution features a responsive web UI for real-time progress tracking.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Developers needing a robust, self-hosted file upload backend.

  • Technical users who frequently handle very large files (GBs) and require reliable cloud storage integration.

  • n8n users looking for advanced examples of using the HTTP Request n8n node for complex API flows like chunked uploads.

  • Businesses requiring custom file upload solutions without reliance on external SaaS providers.

Overview

Uploading very large files (gigabytes) through standard HTTP connections can be unreliable and often results in timeouts. Dropbox, like many cloud services, requires a chunked upload approach for files exceeding a certain size limit. This sophisticated n8n workflow solves this problem by implementing the complete Dropbox Upload Session API logic.

This robust n8n templates solution manages three distinct API phases—Start, Append (chunking), and Finish—all orchestrated through multiple n8n trigger webhooks. The primary value of this n8n workflow is providing a reliable, scalable file upload backend that also allows for real-time progress feedback via the integrated web UI, ensuring successful transmission even for massive datasets.

How it Works

This complex n8n workflow is divided into three main phases, all initiated by specific n8n trigger webhooks designed to interact with a client-side JavaScript interface:


  1. UI Serving: The Serve Upload Page n8n trigger initiates the process, immediately responding with the necessary HTML/JavaScript code required for the user interface and handling file selection.


  1. Start Session: When the client selects a file, the Start Session Webhook n8n trigger is called. It uses the Dropbox Start Session n8n node (an HTTP Request) to initialize the chunked upload session on Dropbox, receiving a unique sessionid which is passed back to the client.


  1. Chunk Appending (Loop): The client then repeatedly calls the Append Chunk Webhook n8n trigger for every defined chunk of the large file. The Dropbox Append Chunk n8n node sends the binary data for that specific chunk to the Dropbox API, using the previously acquired sessionid. This is the core logic that handles the transfer reliably.


  1. Finish Session: Once all chunks are transferred, the client calls the Finish Session Webhook n8n trigger. The Dropbox Finish Session n8n node finalizes the upload, ensuring the file is correctly stitched together and saved in the user's Dropbox account, marking the successful conclusion of this powerful n8n workflow.

Installation Guide

To deploy this comprehensive n8n workflow, follow these steps:


  1. Import the n8n Templates: Copy the provided JSON and import it into your n8n instance using the 'New' button or the 'Import from JSON' option.

  2. Dropbox Credentials Setup: This n8n workflow requires a Dropbox API credential set up. You will need a Dropbox App with appropriate permissions (files.content.write, files.content.read).

Create a new credential in n8n for Dropbox (OAuth2 or Access Token).

  1. Configure HTTP Nodes: The three Dropbox HTTP Request nodes (Dropbox Start Session, Dropbox Append Chunk, Dropbox Finish Session) must be configured to use your established Dropbox credentials.

Ensure the session_id and binary file data are correctly mapped from the webhook inputs into the corresponding JSON bodies and binary data fields of the HTTP Request n8n node configuration, as per the Dropbox API specifications.

  1. Activate the n8n Workflow: Once credentials are set, activate the n8n workflow. Note the URLs generated for the three active webhooks (upload-ui, start-session, append-chunk, finish-session)—these will be needed by your frontend application.

Node Details

Serve Upload Page (Webhook n8n Trigger):
Function: Serves as the initial entry point, triggering the loading of the web user interface.
Key Configuration: Configured with the fixed webhook path upload-ui.
Respond with HTML (Respond to Webhook):
Function: Sends the HTML content required to display the file upload interface back to the browser.
Key Configuration: Content Type set to text/html.
Start Session Webhook (Webhook n8n Trigger):
Function: The n8n trigger called by the client to initiate the chunked upload process.
Key Configuration: Configured with the fixed webhook path start-session.
Dropbox Start Session (HTTP Request n8n Node):
Function: Calls the /2/files/uploadsession/start Dropbox API endpoint to obtain the necessary sessionid.
Key Configuration: Uses the configured Dropbox credential and sends initial session data.
Append Chunk Webhook (Webhook n8n Trigger):
Function: This critical n8n trigger handles the repeated transmission of individual file chunks from the client.
Key Configuration: Configured with the fixed webhook path append-chunk.
Dropbox Append Chunk (HTTP Request n8n Node):
Function: Uploads a single chunk of binary data using the /2/files/uploadsession/appendv2 endpoint, referencing the sessionid.
Key Configuration: Designed to handle raw binary data input.
Dropbox Finish Session (HTTP Request n8n Node):
Function: Finalizes the entire file upload using the /2/files/upload
session/finish endpoint, providing the complete file path and session metadata.
* Key Configuration: Requires dynamic input fields for path and offset data.

Related n8n Workflows

Paid

Nodes: 4 Nodes
Updated: December 26 2025
View all
Created by
Anthony
Anthony

I write code to save you headaches. I post workflows, that I had a hard time with or find was really needed. If you pay for one of my workflows, congratulations... it probably took me 10x the $$ amount in my personal time, figuring the darn thing out.

Featured*