Option lists
Option lists
When you need one
Type options directly into a question when there are a handful and only that form needs them — “Yes / No / Not applicable”. Use an option list when the set is long, shared between forms, or likely to change.
The break-even point arrives sooner than people expect. Three forms each carrying their own copy of thirty districts is three places to fix when one is renamed, and no way to tell whether all three were fixed.
Where they live
Organization admins manage their own lists at Organization → Option lists. Alongside them you will see platform listsmarked with a globe — reference data curated centrally and available to every organization. India's states and districts ship that way.
Platform lists are read-only from an organization. If you need a corrected or trimmed version, create your own list with the same id — yours takes precedence for your organization and nobody else is affected.
Creating a list
- 1Choose New list and give it a name. The id is derived from the name and is how questions refer to the list.
- 2If it cascades from another list — districts under states — pick that list under Cascades from. See Cascading and lookups.
- 3Choose Upload CSV and give it your file.
Uploading a CSV
Start with Download templatein the upload dialog. It gives you a file with this list's exact columns — and, for a cascading list, real parent values from the list above, so your sample rows are ones that will actually import.
Then upload it. The importer:
| Handles | Detail |
|---|---|
| Delimiters | Comma, semicolon, tab or pipe, detected from the header row. |
| Excel exports | The byte-order mark Excel writes is stripped, so your first column name still matches. |
| Quoting | Commas, quotes and line breaks inside a quoted field are read correctly — a district called "Kadapa, YSR" stays one value. |
| Column order | Irrelevant. You map columns to fields after upload. |
| Size | Up to 20,000 rows per upload. Larger files are uploaded in parts. |
Mapping the columns
After the file is read you choose what each column means:
| Field | Required | What it is |
|---|---|---|
| Value | Yes | The code stored in the answer. Must be unique within the list and must stay stable across re-imports. |
| Label | No | What respondents read. Falls back to the value when not mapped. |
| Parent value | On cascading lists | The item in the parent list this row sits under, named by that list’s value. |
| Extra columns | No | Carried alongside each item and readable by a rule for auto-fill — a UDISE code, a pincode, a category. |
The preview shows the first rows exactly as they will be stored, with empty values flagged before you commit.
Replace or add
| Mode | What happens |
|---|---|
| Replace the list | Rows in the file are added or updated. Items not in the file stop being offered. |
| Add and update | Rows in the file are added or updated. Everything already in the list is left alone. Use this to upload a large dictionary in parts. |
Binding a question to a list
In the builder, select a Choose one, Choose all that apply, or Select an option question and switch its options source from typed options to a list. Pick the list; the question now draws from it.
The binding is checked when you save. Pointing a question at a list that does not exist is refused with the list named, rather than producing a dropdown that renders permanently empty with nothing to explain it.
Exporting
Export downloads the list in the same column layout the importer accepts, so the round trip works: export, correct in a spreadsheet, re-import with Replace the list.