> ## Documentation Index
> Fetch the complete documentation index at: https://docs.terminus.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Filter dropdown options per taxonomy

> Reuse one picklist across taxonomies while showing only the options that fit each one, using include or exclude filters.

<Info>
  An option filter narrows which of a picklist's options a dropdown offers, for one taxonomy (or one workspace), without editing the picklist itself. The picklist stays whole; only the form is restricted.
</Info>

You often want one shared picklist but a different slice of it per taxonomy. A `UTM Mediums` list might hold `email`, `social`, and `cpc`, while your Email Campaigns taxonomy should only offer `email`. Rather than cloning the picklist three ways, add the same dropdown to each taxonomy and apply an option filter on each.

A filter is set on the field's placement in a taxonomy, not on the field or picklist. The same control is also available per workspace, so one taxonomy can show different options in different workspaces.

## Include vs exclude

There are two filter modes, and the difference is what happens to options you add later:

* **Exclude (a denylist):** show everything except the codes you hide. New options added to the picklist later **appear automatically**. In the editor this reads "Use all options, hide a few."
* **Include (an allowlist):** show only the codes you choose. New options added to the picklist later **stay hidden** until you add them to the filter. In the editor this reads "Only specific options I choose."

A filter uses one mode or the other, never both. Pick include when the slice is fixed and you want new options vetted before they show. Pick exclude when the dropdown should track the picklist and you are just trimming a few.

## Filter options on a taxonomy

<Steps>
  <Step title="Build the shared picklist and field once">
    Create a `UTM Mediums` static picklist with the codes `email`, `social`, and `cpc`. Create a Dropdown field named `utm_medium` pointed at that picklist. The filter is not a setting on the field, so leave the field as-is.
  </Step>

  <Step title="Add the dropdown to a taxonomy">
    Open the `Email Campaigns` taxonomy and add `utm_medium` to its field list.
  </Step>

  <Step title="Open the filter for that field">
    On the `utm_medium` row in the taxonomy editor, open the option-filter control. Choose **Only specific options I choose** (include) and tick `email`. Save.
  </Step>

  <Step title="Repeat per taxonomy">
    On `Social Campaigns`, add `utm_medium` and include only `social`. On `Ad Campaigns`, include only `cpc`. Each taxonomy keeps its own filter, so the same field shows a different slice in each.
  </Step>

  <Step title="Confirm the picklist is untouched">
    Open the `UTM Mediums` picklist. All three codes are still there. The filter changed only what the form offers.
  </Step>
</Steps>

To check it: start a submission on `Email Campaigns` and the `utm_medium` dropdown offers only `email`; on `Social Campaigns`, only `social`.

## Filter options per workspace

The same control exists per workspace, on a taxonomy's workspace connection. Use it when one team should see a narrower set than another while sharing the taxonomy. Both filters apply together: if a taxonomy-level filter and a workspace-level filter both restrict a field, an option must pass **both** to appear.

## Worked example

You ship one `UTM Mediums` picklist (`email`, `social`, `cpc`) and place `utm_medium` in three taxonomies:

* **Email Campaigns:** include `email`. Later you add a `newsletter` code to the picklist; it stays hidden here until you add it to the filter.
* **Ad Campaigns:** exclude `email` and `social`. The dropdown shows `cpc` today, and any new paid-channel code you add to the picklist (say `display`) shows up automatically.
* **Social Campaigns:** include `social`.

Same picklist, three different forms, and the picklist remains the single place you maintain the codes.

## Gotchas

* **The picklist is unchanged.** A filter narrows the form only. The full list is still readable through the API and still usable by other taxonomies. Use a filter to focus the form, not to control access.
* **Include hides new options; exclude reveals them.** This is the decision that bites people. Choose include when new options must be vetted first, exclude when the dropdown should follow the picklist.
* **Previously chosen values survive a tighter filter.** If you tighten a filter after records exist, a record that already selected a now-hidden code keeps that value when you re-save it. Brand-new submissions cannot pick the hidden code. Hiding an option this way is not the same as deleting it: deleting an option from the picklist invalidates the value even on existing rows. See [validation and rules](/concepts/submission-pipeline).
* **Filters do not cascade.** On a cascading dropdown, the filter narrows the dropdown it is set on. Child dropdowns still offer every child of whatever the parent selected. The taxonomy and workspace filters are applied after the cascade narrowing.
* **Dropdown fields only.** A filter is rejected on any other field type. Text, URL, date, and computed fields do not accept one.
* **An empty allowlist would empty the dropdown.** An include filter with nothing ticked leaves the form with no options to choose. The editor flags this. To remove a field from a taxonomy entirely, take it out of the field list instead.

## Related

* [Field reference overrides](/reference/field-reference-overrides)
* [Dropdown field](/reference/fields/dropdown)
* [Static picklists](/reference/picklists/static)
