# Setting up a Configuration Flow with Custom Selection Options

If you want to create a file picker with a more flexible and dynamic interface, use a **Custom Configuration Flow** as your **Selection Type**.

With **Custom Configuration Flows**, you can design any kind of configuration flow, adding your own fields, layouts, and UI elements. This makes it ideal for cases where you need more control over the interface and logic than standard dropdown selectors can provide.

### Configure Custom Selector

* In the **Options** section, choose the **Custom** Selector type.
* Select a file picker:
  * Google Drive File Picker
  * Dropbox File Picker
  * Microsoft OneDrive File Picker

<figure><img src="https://1255842839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3iSr2Tx8FvvuoLPncziH%2Fuploads%2FjYKv4i3F95riR6r8oHeT%2Fimage.png?alt=media&#x26;token=eb9abeaa-37b6-480e-98fb-de118a1d623f" alt=""><figcaption></figcaption></figure>

### **Using Custom Flow for Advanced File Picker**

> In this case, we’re using a **Custom Flow** to build a **File Picker**, because the UI is more customizable and allows you to define the exact structure and behavior you need. You can add any fields, apply your own design, and adjust the flow dynamically to fit your use case.

### Add File Type Restrictions

* After choosing your file picker, click the **File Types (+) icon**.
* Add file types (e.g., `.csv`, `.xlsx`, `.pdf`, `.jpg`).
* Save your settings.

<figure><img src="https://1255842839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3iSr2Tx8FvvuoLPncziH%2Fuploads%2F97OwqaYCQHyfcQpoIFIH%2Fimage.png?alt=media&#x26;token=1b047cbf-ce16-4496-9d4e-2e5071e0b6ee" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
This ensures the widget will only accept the file types you’ve defined.
{% endhint %}

### Map Output to a Field

If you have a widget field (e.g., **files**), map the file picker output to it. The selected files will be stored in this field, and the restrictions will enforce allowed file types.

<figure><img src="https://1255842839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3iSr2Tx8FvvuoLPncziH%2Fuploads%2F1M53sjjwuXjNSDQ8nAPD%2Fimage.png?alt=media&#x26;token=6012639a-bae6-4f32-9b1e-229f46f9afd4" alt=""><figcaption></figcaption></figure>

> **Result:** The widget can now collect files from users while respecting the restrictions you set.
