🔽
Add Dropdown
ui.selectThe Control PanelControlsAdds a dropdown to the next message, with choices you type in. Pair it with a Dropdown Chosen trigger to run a flow when someone picks — what they picked arrives as {{component.value}}.
When to use this
- →Each line is value|Label|description — the label is what people see, the value is what you get back
- →One choice per line, up to 25
- →Set 'most they can pick' above 1 to let people choose several at once, then read {{component.values}}
On the canvas
This is what Add Dropdown looks like when you place it on your flow. Each field below is something you configure in the inspector panel.
🔽Controls
Add Dropdown
ui.selectcustomIdrequired
pick_role
optionsrequired
One per line — value|Label|description
red|Red|The warm one
blue|Blue
placeholder
Pick a colour…
minValues
1
maxValues
1
disabled
boolean…
output
error
Config fields
| Field | Type | Req | What it does |
|---|---|---|---|
customIdpick_role | text | yes | Custom id 🏷️ |
optionsOne per line — value|Label|description
red|Red|The warm one
blue|Blue | textarea | yes | Choices 📋 |
placeholderPick a colour… | text | — | Placeholder text 💬 |
minValues1 | number | — | Fewest they can pick 🔢 |
maxValues1 | number | — | Most they can pick 🔢 |
disabled | boolean | — | Start greyed out 🚫 |
Output ports
outputDropdown staged
errorMissing a custom id or has no choices
📐
In TypeScript, this would be…
Not something you need to write — just a look at what Kitcord does for you.
TypeScript
const menu = new StringSelectMenuBuilder()
.setCustomId("pick_role")
.setPlaceholder("Pick a colour…")
.addOptions(
{ label: "Red", value: "red", description: "The warm one" },
{ label: "Blue", value: "blue" },
);
rows.push(new ActionRowBuilder<StringSelectMenuBuilder>().addComponents(menu));More Controls pieces