# Forms & inspections

> Build inspection checklists once, attach them to PMs and work orders, and collect structured answers instead of paper.

Source: https://app.assetlab.ca/docs/cmms/forms-and-inspections

Forms turn "check the compressor" into a structured record: which checks ran, what the readings were, what failed, and the photo that proves it. Answers are data - filterable and reportable - not a PDF in a drawer.

## Form templates

A **form template** is the reusable definition, built in the form builder (**Forms**). Each template holds ordered items - the questions - chosen by the kind of answer you want:

| Item type | Use for |
|---|---|
| **Single select** | Pass/fail, yes/no, condition ratings - supply the options |
| **Multi select** | "Which of these apply?" - optionally with minimum/maximum selections |
| **Number** | Readings - pressure, temperature, run hours - with min/max, a unit, and integer or decimal precision |
| **Checkbox** | A simple done/not-done tick |
| **Text** | Notes and observations (single or multi-line) |
| **Photo** | Visual evidence - photos are compressed on upload, served through short-lived links, optionally capped at a maximum count |
| **Section** | A heading that groups the checks that follow |

### Conditional follow-ups

Items can be shown **conditionally** based on an earlier answer - "Describe the issue" appears only when "Belt condition" was answered *Fail*; a photo prompt appears only when something is wrong. Forms stay short for the happy path and thorough for problems.

### Draft → published

Templates start as **drafts** and must be **published** before they reach the field. Publishing validates the template - selects need at least two options, conditions must reference earlier questions - so broken forms can't ship.

A published template that needs changes can be **set back to draft**, edited in place, and republished. In-flight responses are safe either way: every response takes a **snapshot of the template's items at attach time**, so later edits never mutate a form someone is mid-way through filling.

Templates can also be **duplicated** (to branch a variant) and **archived** - archived templates disappear from the list and can't be attached, but their completed responses remain on the records that hold them.

## Getting forms in front of technicians

A form reaches the field by being attached to a **[work order](/docs/cmms/work-orders)**:

- **Via PM** - set the form on a [PM schedule or template](/docs/cmms/preventive-maintenance); every work order the schedule generates carries its own copy. This is the pattern for recurring inspections.
- **Directly** - attach a form to a specific work order when creating it or from its detail page.

The technician fills it in on their phone as part of completing the job; partial progress saves, photos come from the camera. The same form (photo answers included) is fillable by an outside contractor through a [shared work order link](/docs/cmms/work-orders) - no account needed, and PM-generated work orders shared with vendors get the same treatment.

## Where answers go

- On the work order - the completed form is part of the record
- **Asset condition** - condition-type answers can feed [assessment history](/docs/asset-management/condition-assessments)
- Reporting - answers are queryable, so "all failed belt checks this quarter" is a filter, not an afternoon

## Build-fast options

- Start from your existing paper sheet: one template section per sheet section, one item per line.
- Or let your [AI assistant draft it](/docs/ai/example-workflows): the MCP tools can build a complete template - items, options, conditional logic - from a manufacturer's maintenance recommendations, ready for your review and publish.
