Custom Forms User Guide
Building forms, capturing operator responses
Custom Forms is the visual form builder in OEE IntelliSuite - the place admins build shop-floor forms with real plant data, operators fill them out, and supervisors read the captured responses later.
The key idea is that forms are not just blank web fields. Dropdowns and multi-selects can pull from your real plant database, so a form can ask for a Device, Shift, Part, Reason code, or Sales order without anyone maintaining a separate option list. This guide walks through the builder, Plant Data fields, live preview, saving, submissions, and the small controls that matter day to day.
Getting around
Custom Forms opens on one screen with three working panels:
- Saved forms on the left - your form definitions, plus New form.
- The Builder in the middle - the form name and description, a Field palette, and the Canvas where fields are arranged.
- Configure field on the right - the settings for whichever field is selected.
Above those panels is Form Recipes, a row of ready-made starting points for common plant workflows.
Start from a recipe
Form Recipes are seeded, ready-made templates for common forms. Examples include Near-miss / Hazard Report and Reason-Code Change Request. Press Use recipe and Custom Forms creates a new form from that template and opens it ready to fill.
The new form is also saved as a normal form, so you can reopen it from Saved forms to rename it, adjust the description, or add and remove fields. The original template is never changed, and you can use the same recipe as many times as you want.
Recipes stay managed
Editing your copy never changes the original recipe. The seeded templates are managed separately, so you can experiment freely without damaging the starting point for the next form.
Building a form
Start in the Field palette and add fields to the Canvas. Custom Forms supports the common field types you need on the floor:
- Text
- Textarea
- Number
- Date
- Date and time
- Dropdown
- Multi-select
- Radio
- Checkbox
- Toggle
- Section, which acts as a divider or heading
Each field appears as a card on the canvas. Drag a card, or use the up and down arrows on it, to reorder. Toggle Advanced in the builder header if you want to edit the form as raw JSON instead.
Select a field to open Configure field on the right. This is where you set the field's Label, Key, Type, Required flag, Help text, and Placeholder. A Number field can also set a min and max. You can Duplicate a field when you need another similar question, or Remove it when the form no longer needs that field.
Label is what people read. Use clear shop-floor wording, like "Machine", "Reason for change", or "Supervisor notes".
Key is the stable answer name. Keep it short and predictable, such
as device, reason_code, or supervisor_notes. The key is what
reporting and exports can use later, so avoid changing it after a form
is already in use.
Plant Data dropdowns (the key idea)
For a Dropdown or Multi-select, options can come from your real plant database with no extra setup. In Configure field, Options source defaults to Plant Data. Pick a Primitive and Custom Forms fills the list from live OEE IntelliSuite data.
Available primitives include Device, Shift, Team, Part, Job, Operator, Reason code, Reject code, Customer, Plant, and Sales order.
This is the safest default for plant forms. Admins do not have to keep a duplicate list of machines, operators, jobs, or reason codes inside every form, and operators pick from the same names the rest of the system already uses. If you would rather type a fixed list, switch Options source to Static options and add the choices yourself.
The device->reason-code cascade
A Reason code or Reject code dropdown can depend on a Device field. The operator picks a machine first, and the reason list narrows to that machine's codes. Use this whenever the same form can be used across multiple machines with different reason lists.
Advanced is for power users
Advanced mode is a global toggle in the builder header. It reveals an external URL data source option and the JSON definition for the full form. Ordinary admins do not need it for normal Plant Data forms.
Live preview
The Live preview under the canvas shows the operator's form as you build it. Change a label, mark a field Required, add help text, or reorder fields, and the preview updates right away.
Plant Data fields are live here too. Dropdowns populate with the real plant lists, and dependent reason-code lists follow the same cascade behavior operators will see when they fill out the form. You can toggle the live preview off while you work, or press Preview next to Save form for a full-screen view of the form exactly as an operator sees it.
Saving and versions
Press Save form to store the definition. Each save bumps the form's version and keeps history, so old submissions always render against the version they were filled on.
Version history matters once a form is live. You can improve the form later without changing what an older operator response meant at the time it was submitted.
JSON export and import
Turning on Advanced shows the JSON definition. Use it to export or import the whole form as JSON when a power user needs to copy, inspect, or troubleshoot a definition.
Filling out a form
Operators see only the fields you defined. They do not see the builder, keys, source settings, or recipe controls. Required fields validate before submit, number fields enforce their ranges, and help text gives the operator extra context right where the question appears.
Dropdowns load the live plant lists. If a reason-code or reject-code dropdown depends on Device, the operator selects the machine first and the dependent list narrows automatically.
Captured Responses
Open View submissions on any saved form to review captured responses. The table shows each submission with its time, version, Device resolved to the real name, submitter, and the Answers laid out in readable columns.
Dropdown and multi-select values are resolved to their labels. You see "Down", not a stored code.
The controls at the top of the table help supervisors find the right response quickly:
- Search is free text across answers. It applies when you click away from the search box.
- Device filters responses by machine.
- Answer-field and answer-value filters let you narrow by a specific answer, such as a reason, customer, or yes/no value.
- The date range applies on change.
- Submitted and Device columns are sortable.
- Pagination shows the true total, so you know whether you are looking at a short list or a large response history.
Managing forms
Use New form to start a blank definition, Use recipe to start from a managed template, and the Saved forms list to return to an existing form.
Delete removes a form from the list. If the form already has submissions, this is a soft delete: the form is hidden but its submissions are preserved, so old response records stay readable and reportable. A form with no submissions yet is removed outright, since there is no history to protect.
Inside a field, use Duplicate when you need another field with the same shape. It is faster and less error-prone than recreating the same settings by hand.
Light and dark
A theme toggle in the top-right of the header switches the whole app between light and dark. The choice persists, so each user can keep the mode that fits their screen and lighting.
Tips and gotchas
Quick reference
- Dropdown empty? It is a Plant Data list. Make sure the right Primitive is chosen, and for a cascade, that the Device field is filled first.
- Want an external list? Turn on Advanced for a URL data source.
- Deleted a form with responses? Those submissions are preserved and the form is only hidden. A form with no responses is removed outright, so delete those with care.
- Reading answers, not codes? The submissions table resolves dropdown values to labels.
- Editing a recipe? You are editing your copy, never the template.
- Changing a live form? Saving creates a new version, while old submissions keep rendering against the version operators used.