Custom fields
Capture organization-specific attributes - refrigerant type, filter size, warranty expiry - as structured, filterable data per record type.
Every organization has attributes the standard record doesn't carry: refrigerant type on cooling equipment, filter sizes on air handlers, voltage on panels, warranty expiry on anything. Custom fields make those structured data instead of notes-field archaeology.
How they work
Each field definition is scoped to one record type - asset, work order, site, building, system, or infrastructure asset - and applies to every record of that type. A "Refrigerant" field defined for assets appears on all assets, not just cooling equipment; keep field names generic enough to make sense portfolio-wide, and leave a field blank where it doesn't apply.
Fields are managed under Settings, and asset fields also directly from the Assets page toolbar (Manager and above). A field can be marked required, and number fields support a minimum, maximum, and placeholder text.
Field types
| Type | Use for |
|---|---|
| Text | Free-form short values (filter size "24×24×2") |
| Number | Measurable values (capacity, voltage, weight) - with optional min/max |
| Date | Warranty expiry, last certification |
| Select | Controlled vocabulary (refrigerant: R-410A / R-32 / R-22) |
| Checkbox | Yes/no flags (backflow preventer present) |
Where the values surface
- On the asset detail page, alongside standard fields
- In list-view columns and filters
- In reports and exports
- Through the REST API and MCP tools (
custom_field_definitions/custom_field_valuesresources)
During import
The import wizard can map source columns straight into custom fields - define the fields before running the import and nothing from the legacy spreadsheet gets dropped.
Governance
A few rules keep custom fields from becoming a junk drawer:
- One meaning per field. Don't reuse "Certification date" for three different certificates - make three fields.
- Name for the whole record type. Since a field appears on every record of its type, prefer names that read sensibly everywhere ("Warranty expiry" over "Chiller warranty").
- Retire unused fields carefully. Deleting a definition permanently deletes every value recorded against it - the confirmation reports how many values will be destroyed. Export first if you might want the data back.