Go to Studio

Select

The Select node provides a dropdown input that lets users pick a value from a predefined list of options when running the workflow.

Select dropdown input node anchored on canvas for runtime option capture

What does the Select node do?

The Select node is an input node that exposes a dropdown menu at workflow runtime. The user picks one value from a predefined list of options, and that value is forwarded to downstream nodes as a single string output. It is the right choice whenever a workflow must branch, parameterize, or filter based on a fixed set of categorical choices rather than free-form text.

Common use cases:

  • Letting a user pick a content category, language, tone, or template before an LLM generates output.
  • Routing a workflow through a Conditional Node based on a user-selected processing mode.
  • Restricting an end user to a curated list of values (regions, products, brands) to avoid typos and free-text noise.
  • Showing human-friendly labels (e.g. “France”, “Germany”) while passing technical values (e.g. fr, de) downstream.

Quick setup

Follow these steps to add and configure the Select node in your workflow:

Add the node to the canvas

Open the Node Library, go to Inputs, then drag and drop the Select node onto your workspace.

Define the list of values

Open the node settings. In the Values section, click + Add to enter each option that will appear in the dropdown. At least one value is required.

(Optional) Enable custom display labels

Toggle Use Custom Display Labels if you want the dropdown to show different text than the actual value passed downstream. Then fill the Display Labels array — entries must be in the same order as Values.

Set the default value

In the Default Value field, type the value that should be pre-selected when the workflow runs. It must match exactly one of the entries in Values.

Connect the output

Connect the Select node’s output port to the input of the next node (for example, an LLM node, a Conditional Node, or a Filter List). The selected value will be injected at runtime.

Configuration parameters

Select settings panel listing option array default entry and display mode

The Select node has no upstream input port — its value is collected from the end user when the workflow is launched. All configuration happens in the settings panel.

Required fields

Name string required default: Select

Node name — Used to reference this input throughout the workflow (e.g. Select_0.output). Rename it to something descriptive such as language_picker to make downstream variables self-explanatory.

values array required default: ["Option 1", "Option 2"]

List of selectable values — The actual values the user can pick from. Each entry is the string that will be emitted on the output if the user selects it. Add or remove entries with the + Add button.

defaultValue string required default: Option 1

Default selected value — The option that is pre-selected when the workflow runs. Must exactly match one of the entries in values — otherwise the dropdown will start empty and the workflow may fail at runtime.

Optional fields

useCustomDisplay boolean default: false

Use Custom Display Labels — When enabled, the dropdown shows the entries from displayLabels to the user, while the workflow receives the corresponding entry from values. Use this to decouple human-readable labels from machine-friendly values.

displayLabels array default: ["", ""]

Display labels — The labels shown in the dropdown when useCustomDisplay is true. Order matters: the label at index i is paired with the value at index i in values. The arrays must have the same length.

Tip

Combine Use Custom Display Labels with values like fr, en, de and displayLabels like French, English, German. The user sees the language name; downstream nodes get the ISO code, ready to feed an LLM or a translation API.

What does the node output?

The Select node emits a single string output corresponding to the value the user picked from the dropdown — never the display label, even when custom display labels are enabled.

output string

The value the user selected from the dropdown. This is the entry from the values array, not the entry from displayLabels. In downstream nodes you can reference it as {{Select_0.output}} (replace Select_0 with the actual node name).

Usage examples

Example 1: Category-driven content generation

Let a user pick a content category, then route that choice into an LLM prompt.

Configuration:

  • values: ["Blog Post", "Product Description", "Social Post"]
  • useCustomDisplay: false
  • defaultValue: Blog Post

Downstream usage in an LLM prompt:

Write a {{Select_0.output}} about the following topic: {{Text_0.output}}
graph LR
    A[Select: Content Category] --> B[LLM]
    B --> C[Find and Replace]
    C --> D[WordPress Post Create]

Example 2: Language picker with friendly labels

Show readable language names to the user but pass ISO codes to the rest of the workflow.

Configuration:

  • values: ["fr", "en", "de", "es"]
  • useCustomDisplay: true
  • displayLabels: ["French", "English", "German", "Spanish"]
  • defaultValue: en

The user sees French / English / German / Spanish in the dropdown; the LLM receives a clean two-letter code in {{Select_0.output}}.

Example 3: Conditional workflow branching

Use the Select output as the discriminator for a Conditional Node.

Configuration:

  • values: ["fast", "thorough"]
  • defaultValue: fast
graph LR
    A[Select: Mode] --> B{Conditional}
    B -->|fast| C[Quick LLM]
    B -->|thorough| D[Agent]
    C --> E[Output]
    D --> E

Common issues

The dropdown opens empty when I run the workflow

Cause: The defaultValue does not match any entry in the values array (typo, extra space, different casing).

Solution: Open the settings and copy-paste one of the values entries into defaultValue. The match is exact and case-sensitive.

Display labels are ignored — the user still sees the raw values

Cause: useCustomDisplay is set to false, or displayLabels is shorter than values.

Solution: Enable Use Custom Display Labels and make sure displayLabels has exactly the same number of entries as values, in the same order.

A downstream node receives the display label instead of the value

Cause: The Select output is always the underlying value — but if values and displayLabels were swapped at configuration time, the wrong strings end up in values.

Solution: Re-open the settings. Confirm that values contains the strings you want emitted downstream, and displayLabels only contains the human-friendly versions.

Best practices

Tip

Keep values short and machine-friendly (fr, blog_post, mode_fast) and put the pretty wording in displayLabels. Downstream prompts, conditionals, and filters become far more reliable than when they have to match against free-form sentences.

Warning

Changing the values list after a workflow is in production can break the defaultValue and any downstream Conditional Node that branches on specific strings. Update both ends together, and re-test the workflow before saving.