---
title: "Organize work on the maintenance board"
description: "The maintenance board at /<organization>/maintenance shows one organization's whole maintenance backlog in four views: List, Table, Kanban, and Calendar. Every view reads the same work orders and can be grouped by asset, by group, or by the person assigned. A scope toggle, a status filter with its own time window, a machine filter, a group filter, and a search box narrow what all four show, and the Table view exports the result as a 15-column CSV."
category: "Work orders"
source_url: "https://www.iotflows.com/docs/maintain/maintenance-board/"
---
# Organize work on the maintenance board

Four views of the same backlog, and how to shape one you can run a shift from.

The maintenance board is every maintenance work order in your organization on one screen. The four views do not hold different work: they draw the same list as a column, a table, a set of lanes, or a month, and the grouping, filters, and scope you set apply to all of them.

For what happens once you select a work order, see [Update, discuss, and close a work order](/docs/maintain/work-order-detail/).

## 1. Open the board
1. Select **Maintain** in the top navigation. The board opens at `/<organization>/maintenance`.
2. Select any card or row to open that work order in the drawer on the right.

There is one maintenance board per organization and no board picker. Every maintenance work order is here, whatever created it.

![The maintenance board in List view: a control bar holding a My Work and All toggle, a Machines filter, a pill with List, Table, Kanban and Calendar, a grouping pill reading Asset, a density button, a magnifier, a status filter reading Active, an Invite to Maintain button and a blue create button, above work orders listed in sections headed by machine name](/images/maintain/mnt-board-01.webp)

*The maintenance board in List view, with the control bar above it: the My Work and All scope toggle, the Machines filter, the view pill, the grouping pill, and the status filter, Invite to Maintain, and create controls on the right.*

The board updates live: a technician moving a work order to **In Progress** on a phone changes the card on your screen without a refresh. It remembers the view and grouping you left it in, but in this browser rather than on your account, so a second computer starts at List grouped by asset.

### Board views
| View | Best for | Grouping | Drag | Client |
|---|---|---|---|---|
| **List** | Working down a backlog one work order at a time | Asset, Group, People, None | No | Web, iOS, Android |
| **Table** | Bulk-checking due dates, and exporting | Asset, Group, People, None | Column headers reorder; rows stay put | Web. On a phone this view is **Card** |
| **Kanban** | The daily standup, and re-filing work in bulk | Asset, Group, People, None | Yes, between columns. Sets the field the columns are built from | Web, iOS, Android |
| **Calendar** | The weekly plan | Ignores grouping | Yes, sets the due date | Web, iOS, Android |

Run the daily standup from **Kanban** grouped by people, and the weekly plan from **Calendar**. **Table** is for exporting and for checking a hundred due dates at once, not for reading.

## 2. List view
List puts the backlog in one scrollable column, split into sections by the current grouping. Select a row and the list narrows to a 450 px column while the work order opens beside it.

Nothing drags in List. To move a work order to another machine, group, or person, open it and change the field, or switch to Kanban. Choose List when one person is working through their own queue, and Kanban when you are looking at everybody's.

## 3. Table view
Table is one row per work order, under the same section headings as List. It shows more fields at once than any other view, and is the only one you can export.

Four columns are always on: **WO #**, **Title**, **Assigned To**, and **Asset**. Six more are on out of the box: **Group**, **Status**, **Priority**, **Due Date**, **Recurrence**, and **Last Updated**. Five are off: **Description**, **Estimated Time (min)**, **Requested By**, **Notes**, and **Created At**.

That is 15 columns in all, and [Work order fields](/docs/maintain/work-order-fields/) describes what each one holds.

Open the column picker at the end of the header row to turn a column on or off, drag a header sideways to reorder, and use **Reset to Default Order** to put them back. Both choices live in this browser, so a colleague sees their own columns, and the export in §10 follows yours.

![Table view of the maintenance board showing rows of work orders under machine-name section headings, with columns for WO number, Title, Assigned To, Asset, Group, Status, Priority and Due Date, the later columns running off the right edge, an Add Workorder link under each section, and a CSV button in the control bar](/images/maintain/mnt-board-02.webp)

*Table view, one row per work order under machine-name section headings. This is the view the CSV export reads.*

## 4. Kanban view
Kanban draws one column per group: one per machine, one per maintenance group, or one per person, depending on §6.

**The columns are never statuses.** Nothing on this board moves a work order from **Open** to **In Progress** by dragging. Status is set in the drawer, on [the status row](/docs/maintain/work-order-detail/#status).

Dragging a card sets the field its column stands for.

| Grouped by | Dragging a card to another column |
|---|---|
| **Asset** | Reassigns the work order to that machine. The **Unassigned** column clears the asset |
| **Group** | Moves it to that maintenance group |
| **People** | Removes the assignee it was filed under and adds the person or team you dropped it on. The **Unassigned** column only removes |

![Kanban view of the maintenance board grouped by people, showing four columns headed by an avatar and a name, one of them a team rather than a person, each column holding cards that carry a work-order number, a priority chip, a colored group label, a status chip, a title, a machine name, a recurrence line and a time estimate, with a photograph at the top of the cards that have one and an Add workorder box at the foot of every column](/images/maintain/mnt-board-03.webp)

*Kanban grouped by people: one column per assignee, each card showing its machine, group, and priority. Dragging a card to another column reassigns the work order.*

A move the server rejects shows the message it returned, and the board reloads, so the card snaps back.

> **Warning:**
> **Why did a second assignee disappear?** Grouped by people, a drag removes the assignee whose column you dragged from and adds the one you dropped on, so a work order with two people on it loses the one it was filed under. To add somebody without removing anybody, use the assignee list in the drawer.

## 5. Calendar view
Calendar places each work order on its due date. The buttons at the top left step through time and **today** returns to now; the ones at the top right switch between **month**, **week**, and **day**.

A block runs backward from the due date by the time estimate, so a 90-minute job due at 14:00 is drawn from 12:30. With no estimate it is an hour, and an estimate of exactly 24 hours makes it all-day.

- **A work order with no due date is drawn on today**, as an all-day block, and it moves to the next today tomorrow. Give it a due date to pin it.
- **A month cell shows five work orders**, then a **+N more** link.
- **Dragging or resizing a block sets the due date** and nothing else. It saves immediately and confirms with `<work order> updated`. On failure it shows `Issues updating work order` and snaps back, or `Resize reverted: Issues updating work order` after a resize.

Select an empty day in month view to open [the create modal](/docs/maintain/create-a-work-order/) already due that day at 9:00 AM with a 60-minute estimate. In week or day view, drag down a range of hours instead: the work order comes back due at the end of the range, with the length of the range as its estimate.

![Calendar view of the maintenance board in month mode, a six-week grid with colored work-order blocks placed on their due dates, prev, next and today buttons at the top left, the month name in the center, and month, week and day buttons at the top right](/images/maintain/mnt-board-04.webp)

*Calendar view in month mode, with work orders drawn on their due dates and a +N more link on the busiest day. Dragging a block to another day changes the due date.*

Calendar ignores the grouping pill and offers every filter regardless of it. Its own choice of month, week, or day is remembered separately from the view pill.

## 6. Group by asset, group, or people
The grouping pill sets what the sections in List and Table, and the columns in Kanban, are built from.

| Grouping | Sections or columns are | Use it to answer |
|---|---|---|
| **Asset** | One machine each | Which machine is soaking up the maintenance hours |
| **Group** | One maintenance group each, in the group's color | Whether Electrical is drowning while Hydraulics is idle |
| **People** | One person or team each | Who is working on what today |
| **None** | A single **All Tasks** section | Nothing on its own. Use it with a filter, for a flat list |

Anything unfiled collects in an **Unassigned** section: no machine under **Asset**, no group under **Group**, nobody assigned under **People**. Four of the five ways a work order can be created leave the group empty, so **Unassigned** under **Group** is the planner's inbox.

Grouped by **People**, a work order is filed under one owner: its team if a team is assigned, otherwise the first person on it. It appears once, not once per assignee.

The grouping travels in the URL as `?maintenance_group_by=people`, so a board you paste into a message opens the way you left it. The view does not: whoever opens the link sees their own last-used view.

> **Info:**
> **Why did my filter clear itself?** Each grouping shows only the filters that make sense for it, and switching drops the ones it hides. Moving to **Asset** clears a group filter, moving to **Group** clears a machine filter, and **None** shows both and clears neither.

## 7. My work
*My work* is a scope rather than a filter: it asks IoTFlows for your work orders only, instead of hiding the rest after they arrive.

The toggle sits at the far left of the control bar and is always visible. **My Work** shows only work orders assigned to you, **All** shows the organization's. It applies to every view and travels in the URL as `show_my_work_only=true`.

![A cropped detail of the left of the maintenance control bar. A violet box surrounds a two-button pill: the left button carries a single-person icon labeled My Work, and the right button, carrying a group icon and labeled All, is highlighted blue as the live scope. The dashed Machines filter chip sits outside the box to its right](/images/maintain/mnt-board-05.webp)

*The My Work and All scope toggle at the left of the control bar. My Work asks for your assigned work orders only, and is the usual reason a work order seems to be missing.*

Leave the board on **All** unless you are working your own queue. A supervisor who leaves it on **My Work** is reading a board that predicts nothing, because the work they are accountable for is assigned to somebody else.

## 8. Filters and search
Three controls narrow every view, and all three are in the URL, so a filtered board is a link you can send.

**Status.** The filter on the right offers **Active**, **Done**, and **All**, and opens on **Active**. **Active** is **Open**, **In Progress**, and **On Hold**; **Done** covers both closed statuses, **Done** and **Approved**.

**Done** and **All** add a time window over the date a work order was last updated, defaulting to the last 7 days, with 1, 30, and 90 days beside it and 1 and 5 years on Enterprise plans. **Active** has no window and never hides an open work order for being old.

**Machines and Groups.** The **Machines** filter appears when the board is grouped by **Asset** or **None**, the **Groups** filter when it is grouped by **Group** or **None**, and both appear in Calendar. There is no filter by person: use **People** grouping or the **My Work** scope.

**Search.** Select the magnifier and type. The board filters after a 400-millisecond pause and writes the text into the URL as `?q=`, and **Escape** or the **X** clears it.

> **Warning:**
> **A work order you cannot find?** Check, in this order: the **My Work** toggle, the search box, the status filter and its time window, then the **Machines** or **Groups** filter. A work order completed three weeks ago is hidden by **Done** at 7 days, not deleted. When nothing matches, the board says `No work orders found for the selected filters`.

## 9. Density and card fields
*Density* is how much vertical space a row or card takes. The toggle in the control pill reads **Compact view** or **Large view**, naming the one it would switch you to.

Each view keeps its own setting. List and Table start compact because they are for scanning, and Kanban starts large because a card carrying a photo needs the room.

In Kanban, **Card fields** appears beside it: a popover headed **Show Fields** that sets what each card carries.

| Field | On by default |
|---|---|
| **Hero Image**, **Assignee**, **Asset**, **Group**, **Recurrence**, **Estimated Time**, **Details** | Yes |
| **Description**, **Due Date** | No |

![A popover headed Show Fields, opened from a settings button at the right of the maintenance control pill, holding two columns of chips: Hero Image, Machine, Estimated Time, Group, Recurrence and Details in blue for on, Description and Due Date in gray for off. The board is grouped by People, so no Assignee chip is listed. The density button, a pair of arrows pointing inward, sits between the grouping pill and the settings button](/images/maintain/mnt-board-06.webp)

*The Card fields popover in Kanban, headed Show Fields, with a toggle for each field a card can carry. The density button sits to its left.*

Grouped by **People** the list changes to match: **Assignee** drops out, because the column already names them, and **Asset** becomes **Machine**. The popover has no reset, so turn fields off deliberately.

Density and card fields live in this browser, like the column choices in §3. They are yours, not the board's.

## 10. Export the table
The **CSV** button appears at the right of the control bar in **Table** view only. Selecting it writes `maintenance-tasks-YYYY-MM-DD.csv` straight from the work orders on screen.

- **Your filters, search, and scope apply.** The file holds exactly the rows the table holds.
- **Grouping does not.** The file is one flat list with no section headings. Add the **Group** or **Asset** column if you need that.
- **The columns are the table's columns, in the table's order.** Turn on everything in §3 first and the file carries all 15.
- **Nothing is re-queried.** The export never leaves the browser, so there is no progress bar and no failure message. A row missing from the file was missing from the board.

Two columns do not read the way the screen reads. **Status** is written as `Not Started`, `In Progress`, `On Hold`, `Completed`, and `Approved`, and dates are written as full UTC timestamps, so `2026-09-18T14:00:00.000Z` rather than the local time on the card.

For what else IoTFlows exports and in what shape, see [Exports reference](/docs/monitoring/exports-reference/).

## 11. On mobile
Maintain has full native parity, so the board on a phone is the same board, reading the same URL parameters. It needs the app: see [Install the mobile app](/docs/get-started/install-mobile-app/).

The view pill offers **Card**, **Kanban**, **List**, and **Calendar**. **Card** is what **Table** is on the web: a 15-column table does not fit a phone, so the rows become cards. The grouping pill, the **My Work** and **All** toggle, and the status, machine, and group filters are all there.

![The IoTFlows Android app showing the maintenance board in Card view, a vertical stack of work-order cards under a machine-name heading, with a view pill reading Card, Kanban, List and Calendar above them and a search icon and filter icon in the top bar](/images/maintain/mnt-board-07.webp)

*The maintenance board on Android in Card view, with the same grouping, scope, and filter controls as the web board.*

Two differences. Search runs on the device rather than on the server, matching the title, description, work-order number, and machine name. And there is no CSV button: export from a browser.

Dragging a card between Kanban columns starts after a short press, about a fifth of a second, so a scroll is not read as a drag.

## See also
- [Update, discuss, and close a work order](/docs/maintain/work-order-detail/), what opens when you select a card
- [Work order fields](/docs/maintain/work-order-fields/), what every column and card field holds
- [Schedule preventive maintenance](/docs/maintain/preventive-maintenance/), where the **Recurrence** column comes from
- [Exports reference](/docs/monitoring/exports-reference/), every export IoTFlows produces
- [Give people access to Maintain](/docs/maintain/board-members/), who appears in **People** grouping and the assignee pickers
