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.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.