dropdown renders a collapsible dropdown menu. The user picks exactly one option. Functionally equivalent to single_select, but rendered as a dropdown — better for 7+ options or when vertical space is limited.
For 2–6 options where you want all choices visible at once, use single_select instead.
Submission value type: string (the selected value)
Field properties
| Property | Type | Required | Description |
|---|
id | string | Yes | Unique identifier within the form. Becomes the key in submission data. |
type | "dropdown" | Yes | Must be dropdown. |
label | string | LocaleMap | Yes | Label shown above the dropdown. |
options | Option[] | Yes | The list of choices. See below. |
searchable | boolean | No | Adds a text filter inside the dropdown. Ideal for long option lists (countries, cities, etc.). |
validators | Validator[] | No | Validation rules applied before the section is submitted. |
visible_when | string | No | JS expression; field is shown when truthy, hidden otherwise. Hidden fields are excluded from submission data. |
Options
Simple format — value and label are the same string:
options:
- United States
- United Kingdom
- Canada
- Australia
Structured format — explicit value stored; label displayed:
options:
- value: us
label: United States
- value: gb
label: United Kingdom
- value: ca
label: Canada
- value: au
label: Australia
Structured with LocaleMap — translated labels:
options:
- value: us
label:
en: United States
es: Estados Unidos
- value: gb
label:
en: United Kingdom
es: Reino Unido
The value is what gets stored in submission.data. The label is what the user sees.
Validators
required
An option must be selected.
Default error message: This field is required.
Validators run in the browser before each section is submitted. They enforce UX constraints, not security guarantees. If you need server-side validation, implement it in your webhook receiver.
Full example
A country selection dropdown with search enabled:
version: 1
title: Contact information
sections:
- id: main
title: Where are you based?
fields:
- id: full_name
type: short_text
label: Full name
validators:
- required
- id: country
type: dropdown
label: Country
searchable: true
options:
- value: us
label: United States
- value: gb
label: United Kingdom
- value: ca
label: Canada
- value: au
label: Australia
- value: de
label: Germany
- value: fr
label: France
- value: jp
label: Japan
- value: br
label: Brazil
- value: mx
label: Mexico
- value: in
label: India
validators:
- required
next: done