> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# File download

> Let end users download a file from a rendered app using the Download component.

The **Download** component renders as a button that downloads a file when the end user clicks it — for example, a generated contract, an uploaded document, or a static form. You configure which file it serves through the component's **Download** action.

![Download component in the UI Designer: palette entry, canvas, and settings with the Download action](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5.9/download_ui_comp.png)

## Configuring a Download component

The component sits in the **Basic** category of the component palette. Drop it inside a container or card — it is available in both process user tasks and UI Flows, on web and mobile layouts, including collection prototypes and headers/footers. It cannot be placed directly inside forms or table cells.

### Properties

* **Label**: The button text. **Default:** `Download`
* **Save-as File Name**: Optional file name used when saving the downloaded file (e.g., `MyFile.pdf`); supports `${}` expressions. When left empty, files stored in the Documents plugin keep their original file name.
* **Toast notification on success**: Toggle **ON** to show a confirmation toast after the download completes, with a configurable **Success Message** (default: `File downloaded`).
* **Toast notification on error**: Toggle **ON** to show a toast when the download fails, with a configurable **Error Message** (default: `There was an error downloading the file`).
* **Loading behavior**: **None** or **Overlay**. With **Overlay**, a loading indicator with a configurable **Loading message** (default: `Downloading...`) is shown while the file is being fetched.

> [!NOTE]
>
> The notification and loading options apply to the web renderer. On Android they are not available — the component downloads the file without toasts or a loading overlay.

### Selecting the file to download

The Download component offers a single **Download** action on click, added in the component's **Event Handlers** section. The **Source** select determines where the file comes from, with the same options as [File Preview](https://docs.flowx.ai/6.x/docs/building-blocks/ui-designer/ui-component-types/file-preview.md#file-preview-properties-web):

* **Media Library**: a PDF from the project's Media Library. Pick one with **Select from Media Library** or add one with **Upload to Media Library**.
* **Document Plugin path** (process user tasks): a Documents plugin `downloadPath`, such as the one in an upload or document-generation reply. The renderer adds the Documents plugin base URL, so you don't need a business rule to build the URL.
* **Document Plugin** (UI Flows): the object that contains `downloadPath`, for example an upload reply. When **Save-as File Name** is empty, the file keeps its original file name.
* **URL**: a complete, absolute URL.

For **Document Plugin path** and **URL**, **Value type** sets where the value comes from: **Static** for a fixed value, or **Variable** to read it from a data key. **Document Plugin** always reads a data key. Inside a collection prototype, the key resolves against the row the component is rendered in, so every row of a list serves its own file.

With **Document Plugin path**, the file is saved as `document` unless you set **Save-as File Name**.

![Download event handler on a File Download component, with Source set to Document Plugin Path and Data key set to downloadPath](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/5-13-download-document-plugin-path.png)

> [!NOTE]
>
> Files stored in the Documents plugin (and FlowX download URLs) are fetched and saved directly with the resolved file name. A plain external URL opens in a new browser tab instead of downloading, and the success/error notifications do not apply to it.

> [!WARNING]
>
> **Serve stored files through this component rather than through a link of your own.** A file held by the Documents plugin is served over the app's authenticated session, and the Download component fetches it that way. A plain browser navigation to the same address sends no credentials, so reusing a stored file's download path in a **URL** source with a **Static** value, or in a link or button wired by hand, returns an authorization error instead of the file.

### Styling

The Download component renders as a button and reuses button styling: a **Type** (default `ghost`), an optional **Icon** with configurable position, and valid CSS properties per platform. For more information, see the [styling documentation](https://docs.flowx.ai/6.x/docs/building-blocks/ui-designer/ui-designer.md#styles-tab).

## Platform support

Configured in the FlowX Designer, with runtime support on the **web** and **Android** renderers.

## Related resources

> [card] [File preview](https://docs.flowx.ai/6.x/docs/building-blocks/ui-designer/ui-component-types/file-preview.md)
>
> Preview file contents inside a UI without opening the file

> [card] [Multiple file upload](https://docs.flowx.ai/6.x/docs/building-blocks/ui-designer/ui-component-types/multiple-file-upload.md)
>
> Let users upload one or more files from a rendered app


## Related topics

- [Listing stored files](https://docs.flowx.ai/6.x/docs/platform-deep-dive/core-extensions/content-management/documents-plugin/listing-stored-files.md)
- [Converting files](https://docs.flowx.ai/6.x/docs/platform-deep-dive/core-extensions/content-management/documents-plugin/converting-documents-to-different-formats.md)
- [Fill a document template from a workflow and download it](https://docs.flowx.ai/6.x/cookbooks/generate-and-download-a-document.md)
- [FlowX.AI 5.10.0 Release Notes](https://docs.flowx.ai/release-notes/v5.x/v5.10.0-july-2026/v5.10.0-july-2026.md)
- [Chat component](https://docs.flowx.ai/6.x/ai-platform/chat-component.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.