Context Input Configuration¶
Fields¶
| Field | Type | Description |
|---|---|---|
| Sources | Table | The available context options. Each row has a label (shown to the user) and a value (passed downstream when selected). |
| Label | Text (advanced) | Display label for the selector in the chat. Defaults to Sources. |
| Required | Boolean | If enabled, an unmatched selection raises a validation error. If disabled, an empty Data is emitted instead. |
| Selected Source | Text (advanced) | Populated by Karli Studio at run time. Leave blank in the editor; setting it manually is useful only for testing a specific selection. |
Defining Sources¶
Add one row per option to the Sources table. The label is what the user sees; the value is what flows downstream and is therefore the field your downstream agent or tool should branch on.

Matching Rules¶
When a selection arrives, the component matches it against the configured rows:
- First by label (so a user-facing label match always wins).
- Then by value (allowing API callers to address the row by its underlying value).
If multiple rows share a value, the first matching row wins.
Connecting Downstream¶
The Selected Value output is a Data with value and label. Connect it to any component that accepts Data or text — typically the agent or tool whose behavior depends on the chosen context.
One Context Input per flow
Although the canvas will let you place more than one Context Input component, Karli Studio currently surfaces only a single context selector per flow in the chat. If a flow contains multiple Context Input components, only one of them will receive a selection. Treat Context Input as a one-per-flow component until Karli Studio gains multi-selector support.