# Put an existing query on a board

You already have a saved query that returns the work you care about: the
business requests this quarter, say, from "Let customers report a claim without
calling us" down to "Retire the paper claim form", and you want to look at it
as a board right now, without creating anything. The query results page has a
**Board** tab that does exactly that, and an **Aging WIP** tab beside it that
plots the same query's work in progress by age.

## Before you start

Any query type works. A **Flat list of work items** boards exactly what it
returns. A **Tree of work items** or a **Work items and direct links** query is
flattened first: every distinct item in the result, roots, parents and
children alike, becomes one card, each item once, in the order the query
returned them. The link structure itself stays in the query; the board reads
the result, it does not redraw the hierarchy.

## Steps

1. Open your query in Azure DevOps and run it.
2. Select the **Board** tab on the results page, beside **Results**, **Editor**
   and **Charts**.
3. If the page cannot tell which query you are looking at, it asks instead:
   **Pick a saved query to show as a board:**. Choose one under **Select a
   query** and press **Show board**.
4. Drag a card to another column to change its state, or drag it up and down
   inside a column to reorder it.
5. Select the funnel in the row above the board to filter the cards. The
   filter bar starts closed on this page.
6. Select **Aging WIP** for the same query's work in progress plotted by how
   long each item has been in flight. On a saved query, a filter you set on
   one of the two tabs is still applied when you open the other.

## What you should see

One row above the board: how many items the query returned (or, while a filter
is on, how many of them it leaves, such as *3 of 10 items*), then the funnel,
**Refresh** and **More actions**. The query's name is not repeated, because the
page already shows it above the tabs, and there are no **Board**, **List** or
**Aging WIP** tabs inside the board: the page's own tabs are the views.

Below it, one column per state of the work item type, in state-category order (proposed,
in progress, resolved, completed), each column headed by its name and the number
of items in it. Removed-category states never become columns, and a line above
the board counts the items sitting in them. If the query returns more than one
type, the columns are the states of the type that occurs most often. Cards of
the other types still go to the column matching their own state; only where a
state has no column at all does a warning appear, naming that state: *Some
cards have work item types whose states do not match the columns for "…". They
appear in Unmapped: (…). Filter the query to matching work item types, or
review those cards in Unmapped.*

## Notes

The **Board** tab's ad-hoc board has no stored configuration, so its header has
no **Settings**, no **Copy link** and no **Back**: cards show Assigned To and Tags, and there are
no WIP limits, style rules, tag colors, split columns or swimlanes. Everything
else is the real thing: drags write to the work items, the revision check and
the process-rule gating apply, and **Refresh**, **As of** and the filter bar all
work. The one exception: on a tree or direct-links query the **As of** control
is not offered, because Azure DevOps cannot answer a point-in-time snapshot for
a link query.

If you reload the page, or open a link or go Back to a page with **Board** or
**Aging WIP** selected, Azure DevOps shows the tab selected but leaves it empty.
Select the tab again and it loads. Azure DevOps does this for every
extension's tab on the query page.

The tab you choose is the view: **Board** always opens the board and **Aging
WIP** the chart, whatever you last used elsewhere in AnyKanban. On a saved
query, the filter you leave on is remembered for you against that query, on
both tabs, and the filter bar opens to show it the next time; closing the bar
clears it. Nobody else's view changes, and an unsaved query remembers nothing.

When the query's own sort is what keeps the cards from being reordered, the
row shows **Order: query**. Hover over it or move to it with the keyboard to
read why, and select it to open
[Put a column in priority order](https://anykanban.com/docs/move-work/order-a-column-by-priority/). On the hub the same
fact is a notice above the board. A board of backlog items shows neither,
because sorting the query differently would not turn reordering on there; the
card's own menu says why, where its reorder entries would be.

The hub has an ad-hoc board of its own: the link
`?query=<query id>` on the AnyKanban hub address, described in
[Give a board a link you can put in a wiki page](https://anykanban.com/docs/share-and-navigate/link-to-a-board/),
opens a board over that query with no definition either. It has no
**Settings** and the same plain cards, but because it lives in the hub it does
have **Copy link** and **Back**. That one you can keep. Open **More actions**
and select **Save as board**: the settings panel
opens with the query already chosen, you add a name and a work item type and
select **Create**, and the named board opens in place of the ad-hoc one with
**Settings** and its own link. The **Board** tab on query results does not
offer this, because there is no board list there to put the result in.

Manual ordering uses your process's own order field, derived for the board's
type, so reordering works wherever that field exists on the type. If it does
not, a warning names the field and moves between columns keep working. On a board of
backlog items (stories, features, epics) the order is the backlog's own:
cards follow it unless the query sorts by something else, and in-column
dragging is deliberately inert whatever the query sorts by, as
[Put a column in priority order](https://anykanban.com/docs/move-work/order-a-column-by-priority/) explains. Only a
named board can turn reordering on for backlog items, so the **Board** tab
never does.

## Related

- [Create a named board](https://anykanban.com/docs/get-a-board/create-a-named-board/): keep the board, and configure it
- [Read the aging chart](https://anykanban.com/docs/find-and-analyze/read-the-aging-chart/): what the **Aging WIP** tab shows
- [Build a board across several projects](https://anykanban.com/docs/get-a-board/board-across-several-projects/)
- [Prerequisites](https://anykanban.com/docs/prerequisites/): the query and the order field behind all of this
