Skip to content

Collections & Fields

Open a collection's Fields tab and click Add Field to add a column. Every field has a Key (its internal name, can't be changed later), a Label (what people see), and a Type, plus type-specific options.

Field types

TypeUse forNotable options
Text / Long TextShort or multi-line textmin/max length, placeholder, optional QR/barcode scan button
NumberPlain numbersmin, max, step, prefix/suffix, decimal places
PriceCurrency-formatted numberscurrency code, decimal places
BooleanA true/false toggle
Date / Date & Time / TimeDate and time values
EnumA dropdown of fixed, labeled, colour-coded optionsadd/remove options, allow multiple selections
ReferenceA link to a record in another collectiontarget collection, which field to display, search field, allow multiple, an optional barcode-scan search
Image / FileUploaded mediaaccepted file types, max size, allow multiple
GeolocationA GPS coordinate, captured from the device
AddressA postal address
Phone NumberA phone number
List (virtual)A live, computed list of related recordssource collection, display field, sort
Complete ListAn embedded mini-table of related records, rows are clickablesource collection, which columns to show, sort
Drawing / SignatureA signature or sketch pad, stored as an imagestroke colour/width, background colour, max size
Barcode / QRDisplays a barcode or QR code rendered from the field's valueformat (QR, CODE128, EAN-13, UPC), render size
TableAn embedded mini-table for structured sub-data you type in yourselfcolumns (key + header)

Computed fields

Turn on Computed and a field's value is calculated from a formula instead of typed in — it recalculates every time it's shown, and whatever's typed into the underlying field (if anything) is ignored. A computed field can:

  • Reference other fields on the same record — MULTIPLY({quantity}, {unit_price})
  • Follow a reference field — {product.name}
  • Look at other records live — COUNT(COLLECTIONSELECT("orders", 'EQUAL({customer},{_THISRECORD.id})'))

See Expressions for the full formula reference.

Initial value

A field can have an initial value — a formula that runs once when the create form opens, to pre-fill it. Common examples: NOW() for a created-at timestamp, or 0 for a starting quantity.

Show and validate

Two more optional, formula-driven behaviours live on every field:

  • Show field only if — hides the field (and clears its value, unless it's computed) when the formula is false. Good for "only show this if the record is in a certain state."
  • Valid if — marks the field invalid on submit if the formula is false, with an optional custom error message.

Flags

  • Required — can't be left blank.
  • Read only — shown, but can't be edited on the form.
  • Is label field — one per collection. Its value is used whenever the record needs a short, recognizable name — in a reference picker's dropdown, for instance. Usually a name or title field.

Released under no license yet — internal product, pre-launch.