---
title: "Submit a maintenance request"
description: "Report a machine problem from wherever you found it: the blue + above the maintenance board, the Maintenance panel in the job runner, the Create Maintenance Workorder button in Classify Downtime, the Maintenance tab on a machine's page, or the Create Maintenance Request sheet on a phone. Every path except the board submits with no group, no assignee and no recurrence, so a request raised from the floor cannot be a preventive maintenance schedule."
category: "Work orders"
source_url: "https://www.iotflows.com/docs/maintain/submit-a-request/"
---
# Submit a maintenance request

Every way to report a machine problem, from the floor or from a desk.

A *request* is a work order raised because a machine needs attention now, rather than one a planner scheduled. It is the same record as every other work order with fewer fields filled in, which [Overview: maintenance management](/docs/maintain/overview/#work-order) describes. Whoever is closest to the problem raises it, and a planner completes it on the board.

Report from the machine, with a photo, while the problem is in front of you. A request typed at a desk an hour later loses the one thing a technician needs, which is what it looked like.

Getting your team onto the board is [Give people access to Maintain](/docs/maintain/board-members/).

## Where a request can start
| Start from | Client | Can set recurrence | Attaches | Page |
|---|---|---|---|---|
| The blue **+** above the maintenance board | Web | Yes | Images, files | [From the maintenance board](#board) |
| The **Maintenance** panel in the job runner | Web, mobile app | No | Images, files, a photo from the camera | [From the job you are running](#job-runner) |
| **Create Maintenance Workorder** in **Classify Downtime** | Web | No | Images, files | [From a stop or a machine](#machine) |
| The **Maintenance** tab on a machine's page | Web | No | Images, files | [From a stop or a machine](#machine) |
| The wrench in the job header on a phone | Mobile app, mobile web | No | Images, files, a photo from the camera | [From your phone](#phone) |

Work orders also arrive without anyone typing one, from a meter reading or a machine event rule; those origins are on [Overview: maintenance management](/docs/maintain/overview/#connections).

## From the maintenance board
Use the board when you are planning the work rather than reporting it. It is the only path that can set a group, an assignee, an estimate or a recurrence.

1. Select **Maintain** in the top navigation. The board opens at `/<organization>/maintenance`.
2. Select the blue **+** above the board. The **New Maintenance Workorder** modal opens.
3. Type the problem into **Work order title**, then pick a **Group**.
4. Select **Create**.

**Create** stays grayed out until the work order has both a title and a group. A green **Maintenance workorder created** toast confirms it; a red **Failed to create workorder** means nothing was saved, and the modal keeps what you typed. Every field on this modal is [Create a maintenance work order](/docs/maintain/create-a-work-order/).

![The New Maintenance Workorder modal open over the maintenance board, with a title field, a row of property chips including Group, and a Create button at the bottom right](/images/maintain/mnt-request-01.webp)

*The New Maintenance Workorder modal on the maintenance board, the only path that can set a group, an assignee and a recurrence.*

## From the job you are running
You need a job open in the runner, which is [Run a job](/docs/production/run-a-job/#open).

1. In the panel rail down the right of the runner, select **Maintenance**. The panel opens with the cursor in the title and the **Asset** chip already set to the machine the job is running on.
2. Type the fault into **What needs maintenance?**.
3. Add what you saw to **Add description...**.
4. Set the chips the technician needs: **Priority**, **Due Date**, **Asset**, **Required Parts**, **Create/Release Parts**, **Images** and **Files**.
5. Select **Submit Request**, or press ⌘+Enter (Ctrl+Enter on Windows).

**Submit Request** stays grayed out until the request has a title. Nothing else is required, and no group is asked for. A green **Maintenance request created** toast closes the panel; a red **Failed to create request** means nothing was saved and everything you typed is still on screen.

Write the detail into the description. **Notes** on this panel is not sent with the request.

Your job is untouched. The task stays **In Progress** and its work session keeps running while you fill the form in.

> **Info:**
> **Why is there no Recurrence chip?**
>
> This panel submits with the recurrence fields, the group and the assignee empty, so a request raised from the floor cannot repeat. Recurring work is created on the board: [Schedule preventive maintenance](/docs/maintain/preventive-maintenance/).

![The Maintenance panel open over the job runner, with a title field reading What needs maintenance, a description box, a row of chips for Priority, Due Date, Asset, Required Parts, Images and Files, and a Submit Request button across the bottom](/images/maintain/mnt-request-02.webp)

*The Maintenance panel in the job runner, with the machine already filled in. Requests raised here cannot be recurring.*

[Operator View](/docs/monitoring/operator-view/) hides this panel inside its job view, because the operator page already carries the same maintenance action beside its machine controls.

## From a stop or a machine
Both of these open the same panel as the job runner, with the machine already set.

- While classifying a stop, select **Create Maintenance Workorder** in **Classify Downtime**. The title arrives prefilled with the downtime category and the description with your note, so a stop you have already explained needs one more press. The steps are [Create a work order from a stop](/docs/monitoring/classify-downtime/#work-order).
- On a machine's page, select **Maintenance** in the panel rail.

Raise it from the stop when the request explains that downtime, so the classification and the work order carry the same words.

## From your phone
You need the IoTFlows app, which is [Install the mobile app](/docs/get-started/install-mobile-app/). The same layout loads in a phone browser below 640 px wide.

*Capture-first* means taking the photograph before you write anything, so the request carries evidence rather than a memory. Work in that order: the photo tells the technician more than the title will.

1. Open the job in **My Work**.
2. Select the wrench in the job header. The **Create Maintenance Request** sheet slides up.
3. Select the **Images** chip, then **Take photo**. The rear camera opens, and the photo you keep attaches to the request.
4. Type the fault into **What needs maintenance?**.
5. Select **Submit Request**.

The sheet takes photographs, not video or voice. To attach a video, add it to the job's own **Attachments** instead, which is [Run a job on mobile](/docs/production/run-a-job/#mobile).

![The Create Maintenance Request sheet on a phone, its Attach chip open over a menu reading Take Photo, Record Video, Voice Note, Photo Library and Choose Files](/images/maintain/mnt-request-03.webp)

*Attaching a photograph on a phone: Take Photo under the Attach chip opens the rear camera from inside the Create Maintenance Request sheet.*

## Attach photos and files
The **Images** and **Files** chips behave the same way on every path except the board's modal, which has its own uploader.

| Chip | Takes | How to add |
|---|---|---|
| **Images** | JPEG, PNG, GIF, WebP, BMP, SVG | Drop onto the tile, select **Drop or click to add images**, or select **Take photo** on a phone |
| **Files** | Any file type, unconverted | Drop onto the tile, or select **Drop or click to add files** |

Images are converted to WebP and capped at 1600 px on the long edge before they upload, so a 12-megapixel photo stays cheap to open on shop-floor Wi-Fi. Files go up untouched.

Anything the **Images** chip does not recognize is rejected by name, as `<file> is not a valid image`; send it through **Files** instead. An upload that fails raises `Failed to upload <file>` for that file alone and the rest continue, so check the count on the chip before you submit.

Each attachment carries a **×** to remove it before you submit.

## What happens next
The request lands in **Open** on the maintenance board with its attachments, in the same list as planned work. The panel sends no group, no assignee and no estimate, so the board fills its own defaults in: the request arrives in a group called **Default**, with a **1h** duration, and already carrying an assignee. Replacing those three with the real group, owner and estimate is the planner's first job: [Organize work on the maintenance board](/docs/maintain/maintenance-board/).

From there it is an ordinary work order: assigning, discussing and closing it are [Update, discuss, and close a work order](/docs/maintain/work-order-detail/).

Parts you listed under **Required Parts** ride along on the work order and move stock when it reaches **Done**, not when the request is raised. That accounting is [How work orders move stock](/docs/inventory/how-work-orders-move-stock/).

![The maintenance board's HAAS EC-1600 section, with the newly raised request highlighted as the first row, reading Open and carrying the group Default, above two planned work orders in Safety and Electrical](/images/maintain/mnt-request-06.webp)

*The new request at the top of its machine's section on the board, in Open like the planned work around it, and wearing the group Default until a planner sets a real one.*

## See also
- [Create a maintenance work order](/docs/maintain/create-a-work-order/)
- [Update, discuss, and close a work order](/docs/maintain/work-order-detail/)
- [Run a job](/docs/production/run-a-job/#maintenance)
- [Classify downtime](/docs/monitoring/classify-downtime/#work-order)
- [Install the mobile app](/docs/get-started/install-mobile-app/)
