Skip to main content

Field types

Each object in your database has a set of fields. The field type defines what kind of data it can store and how it appears in forms, grids, and detail views. Choosing the right type once saves validation work later and keeps imports, APIs, and tasks consistent.

Example

Built-in types​

TypeExampleDescription
Textual
TextJohn SmithOne-line text field — names or other short strings. Optional Min length (chars).
Long Text
This is example text.
Second line!
Multiple lines — longer paragraphs. Optional Semantics → Markdown for a Markdown editor (tables and GFM supported); legacy HTML semantics remain on older fields but are not offered for new ones.
E-mailjohn@example.comSingle e-mail address
Multiple E-maila@x.com, b@y.comSeveral e-mail addresses on one field (useful for CC lists or multi-contact records)
Passwordxkjsd8.w/Stored encrypted; enables the object for user authentication
URL/Linkhttps://example.comWebsite link
IP (v4)192.168.10.10IPv4 address
Choice
- Individual
- Company
One value from a closed list (dropdown or radio buttons). Optional colour per value.
Multiple choice
Tag 1
Tag 2
Tag 3
Several values from a closed list (combo box or checkboxes). Optional Min items / Max items. Optional colour per value.
Numeric
Number42Integers or decimals. Max decimals is the storage scale: values are rounded to that many places on every write (forms, tasks, API, import, auto fields), not only when displayed. Min decimals only pads for display.
Rating⭐️⭐️⭐️Rating in stars
Files/images
FileFile upload. Optionally restrict allowed types. Tasks can store a SHA-256 hash, the file name, or Markdown extracted from a Docx into a text field. On grids and detail widgets, Open as can preview PDFs, images, audio, and video in a modal or side pane (other types download). Forms can also Browse SharePoint (copy into the field) when that integration is enabled. For one record per uploaded file, use the Uploader widget.
Remote fileDocument that stays in an external store (SharePoint first). Bobuild stores a pointer (not the blob). Link from SharePoint, create/upload via tasks, open in Bobuild (cached) or in SharePoint, attach in e-mail.
ImageImage (JPG, GIF, PNG)
Date/time
Date2023-01-01Date in YYYY-MM-DD format
Time18:43:22Time in HH:mm:ss format (no time zone)
Date and Time2023-01-01 18:43:22Date/time in YYYY-MM-DD HH:mm:ss format (no time zone)
Other
Yes/notrueBoolean
GPS Point41.900888,12.478671Lat/lon coordinates (map pin)

Choice closed list​

Choice and Multiple Choice values must match a configured option (exact spelling after write). Matching is case-insensitive on write, then the configured spelling is stored. Unknown values are rejected unless users can add options is enabled on the field (or the form placement allows add) — then the new string is stored and promoted into the field’s value list.

In tasks and auto fields, an invalid Choice value is soft-skipped (other fields in the same action still apply) and logged in Error Logs instead of aborting the whole run.

Dropdowns and filter chips use the configured list only (no live harvest of distinct stored values).

Allowed file types​

On a File field, optionally pick Allowed types from a curated list (PDF, Word, Excel, images, ZIP, and similar). Leave empty to accept any file. Enforcement applies on forms, the Uploader, API, import, and tasks.

Choice and Multiple Choice colours​

On a Choice or Multiple Choice field, each permitted value can have an optional colour (#RRGGBB). Set it next to the value in the field definition (colour picker).

When the field is shown in grids, detail views, and similar readouts, that colour is applied to the value text. Index badge chips use it as the chip background. Colours are part of the field definition — they are not configured per widget display rule.

Create a field that links to one record of another object. For example, a Car object can link to a Manufacturer. That connection powers filters, auto fields, related tasks, and navigation between pages.

Useful options:

  • Display field — which field of the linked object to show in forms, grids, and detail views (defaults to the object's record name / id)
  • Sort by — which field of the linked object to order candidates by in dropdowns and user filters, with ascending or descending direction

Multiple links to another object (Reference Array) stores many-to-many style relationships: one record can link to several records of another object without an intermediate join table you have to manage yourself.

Typical scenarios:

  • a project linked to several team members;
  • an article tagged with multiple topics stored as objects;
  • an order associated with several related documents.

Options include:

  • Display field — which field to show for each linked record
  • Display items as — Badges or Bullet points in grids and detail views
  • Min items / Max items — constrain how many links are required or allowed
  • Form input — Dropdown menu with autocomplete or Checkboxes

Reference Arrays appear in grids and detail views like other columns, so operators can see the full set of links at a glance.

For app-wide configuration that should exist only once, see Global objects. For when to choose Reference vs Reference Array vs a join object, see Data modeling.

Uniqueness​

On a field’s Definition tab, enable Unique so no two records may share the same value for that field (or combination of fields). Empty values are skipped — uniqueness is only checked when the relevant fields are filled.

When Unique is on, choose:

  • this field alone — e.g. each e-mail address may appear only once
  • along with — pick partner fields to form a composite key (e.g. code unique along with year, so the same code may exist in different years)

An object can have several independent constraints. For example, mark email unique alone, and separately mark code unique along with year. Each field belongs to at most one combination; when you add partners, Bobuild mirrors the group on every member.

Use cases:

  • login identity — for e-mail + password, the e-mail field must be unique alone
  • natural keys such as invoice number + fiscal year
  • create tasks that skip a duplicate and reuse the existing row when any uniqueness group would fail — that row is still exposed as the last created Object to later actions

For uniqueness that spans alternative fields (one or the other), use a form validation task instead of a Unique constraint.