Dependent Fields
Show fields conditionally and filter dropdown options based on other fields
Dependent Fields
Two settings let you create relationships between custom fields:
- Conditional Display — a field is only shown when a specific dropdown field has a particular value
- Cascade Options — a dropdown field's available options are filtered based on the current value of another dropdown field
Both settings are configured per field in Project Settings > Custom Fields.
Conditional Display
When Conditional Display is enabled on a field, that field is hidden until a specified trigger field equals a specified value.
How to configure
- Open the field you want to make conditional (or create a new one)
- Enable the Conditional Display toggle
- Under Show when field, choose any
select-type field in the project - Under equals, choose the exact option value that should reveal this field
- Save the field
A blue Conditional badge appears on the field in the field list to indicate the dependency is active.
Behavior
| Situation | Result |
|---|---|
| Trigger field has no value | Conditional field is hidden |
| Trigger field equals the required value | Conditional field appears |
| Trigger field changes to a different value | Conditional field hides and its current value is cleared |
| Trigger field is itself hidden | Conditional field is also hidden, regardless of its value |
The last rule means conditions are evaluated recursively. If field B depends on field A, and field C depends on field B, then hiding A automatically hides both B and C and clears their values.
Nesting limit
Chains can be up to 3 levels deep. The admin interface blocks saving a configuration that would create a 4th level.
| Allowed | Example |
|---|---|
| 3 levels | Category → Subcategory → Issue Type |
| 4+ levels | Category → Subcategory → Issue Type → Detail — blocked |
Circular dependencies (field A depends on field B, field B depends on field A) are also blocked.
Cascade Options
When Cascade Options is enabled on a select field, the available options in that dropdown change based on the current value of a parent select field.
How to configure
- Open a
select-type field - Enable the Cascade Options toggle
- Under Parent field, choose any other
select-type field in the project - Under Option mapping, for each value of the parent field, check the options that should be available
- Save the field
A purple Cascades badge appears on the field in the field list.
Behavior
| Situation | Result |
|---|---|
| Parent field has no value | All options are available (full list shown) |
| Parent field has a value | Only the mapped options for that value are shown |
| Parent value changes | Options are immediately updated; if the current selection is no longer available, it is cleared |
Combining with Conditional Display
A field can have both Conditional Display and Cascade Options enabled at the same time. In that case, visibility takes priority: the field is hidden when the trigger condition is not met, and the cascade filtering applies only when the field is visible.
Worked Example
Scenario: A support team wants users to pick a category first, then a subcategory relevant to that category, then an issue type if the subcategory is "Invoice".
Fields:
| Field | Type | Configuration |
|---|---|---|
| Category | Dropdown | Options: Billing, Technical, Account |
| Subcategory | Dropdown | Options: Invoice, Refund, Bug, Feature, Login, Password |
| Issue Type | Dropdown | Options: Urgent, Normal, Low |
Dependencies:
| Field | Setting | Rule |
|---|---|---|
| Subcategory | Conditional Display | Show when Category = Billing |
| Subcategory | Cascade Options | Parent: Category → Billing shows Invoice, Refund · Technical shows Bug, Feature · Account shows Login, Password |
| Issue Type | Conditional Display | Show when Subcategory = Invoice |
What the user sees:
- Category dropdown — always visible
- User picks Billing → Subcategory appears showing only Invoice and Refund
- User picks Invoice → Issue Type appears showing Urgent, Normal, Low
- User changes Category to Technical → Subcategory hides (and clears), Issue Type also hides (and clears)