Cheqq Docs
Core ConceptsWapps

Field types

Every field type a Wapp collection can use, its configuration options, and how to pick one.

A collection's structure is a list of fields — each has a type, which determines what kind of value it stores, how it's edited, and what configuration it accepts. Cheqq supports 21 field types, grouped below.

Fields are tracked by ID, not name

Renaming a field never breaks existing data or formulas that reference it — Cheqq tracks fields by a stable internal ID underneath the display name.

Basic fields

TypeStoresKey configuration
TextA single line of textHint text shown when empty, min/max length, a validation pattern
Long textMulti-line textOptional rich text formatting
NumberA numeric valueFormat (plain decimal, percent, or currency + currency code), decimal precision (0–12), min/max
DurationA length of timeDuration format (h:mm or h:mm:ss), sub-second precision, min/max
CheckboxTrue/false
DateA calendar date, optionally with a timeInclude time, display format, timezone, highlight when overdue
URLA web address
EmailAn email address

Duration

A Duration field holds a length of time — how long a session runs, how long a task took — rather than a point on the calendar. Use it instead of a Number field called "Minutes": the field itself carries the unit, so the rest of Cheqq can act on it. A Calendar view can size its blocks from it, and totals and averages read back in the same format you typed.

Type it the way you'd say it. 1:30 is an hour and a half, 90 is ninety minutes, and 2h 15m, 45m and 1.5h all work too. Pick the Duration format to control how values read back:

Format1:23 means90 meansReads back as
h:mm1 hour 23 minutes90 minutes1:30
h:mm:ss1 minute 23 seconds90 seconds1:30:00

Same text, different meaning

A bare 1:23 is hours-and-minutes in h:mm and minutes-and-seconds in h:mm:ss — so choose the format before bulk-entering or importing values. Fully qualified input like 1:23:45 means the same thing in both.

Precision adds sub-second decimals (0, 0.0, 0.00, 0.000) and applies only to h:mm:ss, where seconds are actually shown.

Converting a Number field to Duration

Duration values are stored in seconds. Converting an existing Number field reinterprets each value as a count of seconds, so a "Minutes" field holding 50 becomes fifty seconds, not fifty minutes. Cheqq asks you to confirm first — if the numbers meant minutes or hours, convert a copy and check it before deleting the original.

Choice fields

Select and multi-select both offer a fixed list of options, each with a label and a color drawn from 12 named presets (blue, green, red, amber, purple, pink, teal, orange, cyan, indigo, lime, rose) — new options cycle through the palette automatically. Select allows one value per record; multi-select allows several.

Structured fields

  • JSON — a raw structured value. Constrain what shape is accepted with a schema mode: object, array, or any.
  • File — one or more attachments. Configure whether multiple files are allowed, which MIME types are accepted, and a per-file size cap in MB. Each attachment tracks its name, MIME type, size, and (for images/video) dimensions or duration, plus a thumbnail that generates asynchronously.

Relational fields

  • Relation — links a record to one or more records in another collection. See Relations for linking modes, display fields, and two-way sync.

Field Agents

Long text, single/multi-select, number, percent, currency, image, and video fields can each be converted into a Field Agent that generates their value with AI instead of direct entry, and a dedicated Deep Match kind writes real linked-record IDs from a semantic search. See Field Agents for output kinds, run modes, and examples.

System attribution fields

These fields are populated automatically by Cheqq and are always read-only in the grid — you can add them to a collection, but you can't type a value into them directly.

TypePopulated with
Created byWho created the record
Last modified byWho last edited the record
Created timeWhen the record was created
Last modified timeWhen the record was last edited
UserA member reference you assign — configure whether it tracks all fields on the record or only specific ones you pick

Notify on add is reserved

The User field type has a "notify on add" option in its configuration. It's present in the schema for an upcoming phase but doesn't send a notification yet — treat it as a no-op today.

Computed fields

Lookup, rollup, and formula fields calculate their value from other fields rather than storing direct input, and are always read-only in the grid. See Computed fields for how each works, with formula examples.

Choosing a primary field

Every collection has one primary field — the value shown as a record's title across relations, kanban cards, and list rows. Only single-value, directly-entered types are eligible: Text, Number, Duration, Date, URL, Email, and the system attribution types. Long text, Checkbox, Select, Multi-select, JSON, Relation, File, and all computed fields can't be the primary field. If a record's primary field is empty, Cheqq shows it as "Unnamed record" wherever it's referenced.

Example: a Deals collection

A simple CRM "Deals" collection might combine:

  • Deal name (Text, primary field)
  • Amount (Number, currency format, USD)
  • Stage (Select — New, Qualified, Proposal, Won, Lost)
  • Contact (Relation → Contacts collection, single link)
  • Days in stage (Formula, computed from a date field — see Computed fields for the expression)

Continue with Layout types to see how this data can be viewed.

Was this page helpful?