Dropbox Large-File Delivery via Link
When a large deliverable is placed in a Dropbox delivery folder, the flow creates a time-limited, password-protected shared link, emails it to the recipient, logs the delivery, and reminds if not downloaded before expiry. Automates governed delivery of large files too big to email.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow automates governed delivery of large files via Dropbox. When a deliverable lands in a watched Dropbox delivery folder, the flow creates a time-limited, password-protected shared link, emails it to the recipient, logs the delivery to a Dataverse tracking table, and waits until just before expiry to send a reminder nudge.
Why it matters: files too big to email get sent insecurely or not at all. A controlled, expiring Dropbox link delivers them safely with full tracking and a built-in reminder.
Ships Off (demo). The secure link uses the Dropbox sharing API via HTTP (the connector has no shared-link operation); password + expiry need a Dropbox Professional/Business plan.
Use Case
A team delivers large files to clients and needs secure, tracked links. Drop a file into the delivery folder; the recipient gets an expiring, password-protected download link by email, the delivery is recorded for audit, and they are reminded before the link expires.
Flow Architecture
When a File Is Delivered
Dropbox - OnNewFileFires on a new file in the delivery folder (polling, 3 min); name/path/id come from the trigger response headers.
Initialize Trace & Config
Initialize variableMints a correlation id and binds recipient, expiry/reminder days, Dropbox token, link password, and the file name/path/id from headers; composes the expiry and reminder timestamps.
Get File Metadata
Dropbox - GetFileMetadataByPathReads the file size for the delivery log.
Create Secure Shared Link
HTTP - /2/sharing/create_shared_link_with_settingsCreates a password-protected, expiring shared link via the Dropbox API.
Send Delivery Email
Outlook - SendEmailV2Emails the recipient the secure link (the password is sent separately).
Log Delivery
Dataverse - CreateRecordWrites the tracking row (file, size, link, recipient, expiry, status, correlation id).
Wait Until Reminder Window
Wait (until)Pauses until just before the link expires.
Send Expiry Reminder
Outlook - SendEmailV2Sends a pre-expiry reminder nudge.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_DeliveryFolder | String | /FlowLibs Deliveries | Watched Dropbox source folder. |
| flowlibs_LinkExpiryDays | String | 7 | Shared-link validity in days. |
| flowlibs_ReminderLeadDays | String | 2 | Days before expiry to send the reminder. |
| flowlibs_DeliveryRecipientEmail | String | client@contoso.com | Recipient of the delivery link. |
| flowlibs_SharedLinkPassword | String | REPLACE_WITH_DELIVERY_PASSWORD | Password applied to the link (send separately). |
| flowlibs_DeliveryLogTable | String | flowlibs_largefiledeliveries | Tracking table set name (documentation). |
| flowlibs_DropboxAccessToken | String | REPLACE_WITH_DROPBOX_OAUTH_TOKEN | Dropbox OAuth token for the sharing API (Key Vault in production). |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Dropbox | shared_dropbox | OnNewFile GetFileMetadataByPath |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
| Microsoft Dataverse | shared_commondataserviceforapps | CreateRecord |
| HTTP | shared_http | POST /2/sharing/create_shared_link_with_settings |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Download confirmation
- Replace the unconditional reminder with a Dropbox Business audit-events check (or a webhook) so the reminder fires only if the file was not downloaded.
- Per-recipient mapping
- Derive the recipient from the filename or a lookup row instead of a single env var.
- Auto-clean
- Add a DeleteFile after expiry to remove the delivered file.
- Tune cadence
- Adjust the polling interval and the link-expiry / reminder-lead days.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Expiry timestamp
ISO-8601 expiry passed to the Dropbox sharing API.
EXPR.02Reminder timestamp
When the Wait resumes to send the reminder.
EXPR.03File metadata from trigger headers
Dropbox file path (also x-ms-file-name, x-ms-file-id).
EXPR.04Shared link URL
The secure link emailed to the recipient.
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.