# Filters and refinement

BetterBoard's filter bar lets you narrow the board to exactly the work items you care about. Filters are composable and support 25+ operators across all field types.

## Opening the filter bar

Click the **Filter** button in the board toolbar. The filter bar expands below the toolbar, showing any active filters and an **Add filter** button. Click **Filter** again to collapse the bar and keep the filters applied. Hover over or focus the button to see the applied filter count.

## Adding a filter

1. Click the **Filter** button in the toolbar to open the filter bar
2. Select **Add filter** and choose a field, such as Assignee, Sprint, Priority, or Labels
3. Choose an operator, such as **is**, **is not**, **contains**, or **is empty**
4. Select or enter a value if the operator needs one. The board updates as the filter is applied
5. Click the blue **Save** button in the toolbar to persist the filter with the board

Multiple filters are combined with AND logic: a work item must match all active filters to appear on the board. A date range can be one filter, or you can combine separate date conditions.

> **Note**
>
> You can apply filters without saving them — useful for a temporary view. Unsaved filters are visible only to you in your current session and are not shared with others viewing the board.

## Filter operators

Operators available depend on the field type:

### Option fields

For **option fields** (Priority, Status, Labels, single/multi-select):

- `is` — exact match (one value)
- `is any of` — matches one or more values
- `is not` — excludes a value
- `is none of` — excludes multiple values
- `is empty` / `is not empty`

### User fields

For **user fields** (Assignee, Reporter):

- `is` — assigned to a specific person
- `is any of` — assigned to any of several people
- `is not` / `is none of`
- `is empty` (unassigned) / `is not empty`
- `is current user` — dynamic: filters to whoever is viewing the board

### Date fields

For **date fields** (Due Date, Start Date, Created, Updated, and custom date fields):

- `on` / `not on` — match or exclude a single day
- `before` / `after` — exclude the selected day
- `on or before` / `on or after` — include the selected day
- `is within` / `is not within` — inside or outside a date range
- `is empty` / `is not empty`

Choose a relative date or timeframe, such as `Today` or `This week`, to follow the calendar. Use `Specific dates…` to select a fixed date or range.

### Change history

Choose a supported field and open **changed** in the operator menu. Relative dates refresh at midnight in your Jira time zone. See [Change operator](/betterboard/shape-the-board/filter-operators/#change-operator) for the supported fields and comparisons.

Separate change conditions can match different events. To match who made a change and when in the same event, use a saved Jira filter with both criteria in one JQL history condition.

### Saved Jira filters

Choose **Jira filter** to narrow the board using filters saved in Jira. You can match work returned by any or all of the filters you select. See [Saved Jira filters](/betterboard/shape-the-board/filter-operators/#saved-jira-filters) for how matching works on shared views.

### Text fields

- `contains` / `does not contain`
- `is` / `is not`

### Number fields

- `=`, `≠`, `>`, `≥`, `<`, `≤`

### Multi-value selection fields

Labels, multi-select fields, Sprint, and linked Jira Assets objects can use
`is any of`, `is none of`, `includes all of`, `is empty`, and `is not empty`.
[Assets filters](/betterboard/shape-the-board/field-types/#assets) can also
match supported object attributes.

For the complete operator reference, see [Filter operators](/betterboard/shape-the-board/filter-operators/).

## Jira Service Management SLA filters

Choose a specific SLA metric to filter by **remaining**, **elapsed**, **breached**, **running**, **paused**, or **completed**. The first two operators take a duration and only match ongoing SLA cycles, never concluded cycles. The others need no value. **Remaining** finds unbreached SLAs with up to the entered time left. See [Jira Service Management SLAs](/betterboard/shape-the-board/jsm-slas/) for examples and the meaning of each state.

## Goals and Atlassian projects

Choose **Goals** or **Atlassian Project** to find work linked to specific goals or projects, or use **is empty** to find work without a link. Choose **Atlassian Goal Status** or **Atlassian Project Status** to find work by the linked initiative's status, such as At risk or Off track. These filters work without adding the fields to cards. See [Goals and Atlassian projects](/betterboard/shape-the-board/goals-and-projects/) for operators and examples.

## Sprint filter

The Sprint filter has dedicated options:

- `is active sprint` — shows work items in any currently active sprint
- `is` — pick a specific named sprint
- `is any of` — pick multiple sprints
- `is backlog` — work items not in any sprint

## Blockers filter

The synthetic Blockers field lets you filter by blocking relationships:

- `has blockers` — shows work items with at least one "is blocked by" link
- `is blocking` — shows work items that are blocking other work items

## Current user filter

The `is current user` operator on the Assignee filter is dynamic — it resolves to whoever is currently viewing the board. On a shared board, setting Assignee `is current user` means each person sees only their own work items without needing separate boards.
