# Prevalue Source Types Overview

There are some default prevalue source types that can be used.

Here is a quick overview of them:

* **Get values from textfile**
  * Upload a textfile that contains the prevalues. Each prevalue should have its own line in the file. Once the file has been uploaded, you can find it in `~/wwwroot/App_Data/UmbracoForms/Data/PreValueTextFiles/{GUID}` where the `{GUID}`is replaced with the pre-value ID.
* **Umbraco Documents**
  * Allows to use content nodes from a specific source as prevalues. You can define the root node by either
  * Choosing a node directly from the Content tree or
  * Using XPath

Additional settings can be applied:

* Select which **Value field** should be used for the value of the prevalue.
* Select **Use current page as root** instead of choosing a specific root node. *The preview is not available when this setting is enabled.*
* Select a specific **Document type**, if the selected root node contains a different Document Type.
* Select **List all Descendants** of the selected root node to list all levels of descendants.
* Select **Order by** from the drop-down list to display how the prevalue list should be ordered.
* **SQL Database**
  * Connect to a OleDB compatible database table and construct a prevalue source from it. Once selected, it will be editable from the Forms interface.
  * The following configurations need to be set:
  * Connection string (either choose one from your web.config or add another from a textfield.
  * Connection String from configuration
  * Table Name
  * Key Column
  * Value Column
  * Caption Column
* **Umbraco Data Type Prevalues**
  * Choose an Umbraco Data Type to use its configured prevalue collection.

In the example below, the prevalue collection from a Data Type called `Home - Font - Radio button` is used:

![Data Type prevalues](/files/tc9iaQEgzomdRfCNH2rl)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.umbraco.com/umbraco-forms/13.latest/editor/defining-and-attaching-prevaluesources/prevalue-source-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
