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.
1. Open the board
- Select Maintain in the top navigation. The board opens at
/<organization>/maintenance. - 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, 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 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, 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.
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 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.
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 showsIssues updating work orderand snaps back, orResize reverted: Issues updating work orderafter a resize.
Select an empty day in month view to open the create modal 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 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.
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.
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.
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 |
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.
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.
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 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, what opens when you select a card
- Work order fields, what every column and card field holds
- Schedule preventive maintenance, where the Recurrence column comes from
- Exports reference, every export IoTFlows produces
- Give people access to Maintain, who appears in People grouping and the assignee pickers
The work-order drawer is where a maintenance job is worked: it carries the five status buttons, the editable properties, a checklist, images and files, a live comment thread, and the work order's own activity log. Selecting Done opens a read-only completion dialog whenever the work order lists parts, and the backend moves the stock when the status flips.
Preventive maintenance in IoTFlows is a recurrence rule on a work order, not an object of its own. The Recurrence picker sits in the create modal and in the work-order drawer, anchors every pattern to the work order's due date, and takes an interval, a weekday set, an end date, and the timezone the rule is read in. A rule authored in the planner's timezone rather than the plant's lands on the wrong shift every time it fires.








