K
Docs
API Reference→Pieces→Add Dropdown
🔽

Add Dropdown

ui.selectThe Control PanelControls

Adds 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.

🔽
Add Dropdown
ui.select
Controls
customIdrequired
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

FieldTypeReqWhat it does
customId
pick_role
textyesCustom id 🏷️
options
One per line — value|Label|description red|Red|The warm one blue|Blue
textareayesChoices 📋
placeholder
Pick a colour…
text—Placeholder text 💬
minValues
1
number—Fewest they can pick 🔢
maxValues
1
number—Most they can pick 🔢
disabledboolean—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));