Field Types
The flexible field registry: text, number, select, attachment, relation, and more.
Bases are made of fields, each with a type that drives validation, rendering, and diffing. Busabase ships an Airtable-style field registry — from simple text and number to single/multi-select, attachments, and record relations.

The Field Type Lab base — many field types side by side.

A single record exercising text, select, attachment, relation, and more.
JSON and YAML fields
Use JSON or YAML fields when a value must stay machine-readable: agent configuration, structured model output, API payloads, webhooks, deployment manifests, or metadata. They use the same multiline editor and syntax-highlighted preview as Code fields, with the preview language pinned to the field type.
Busabase validates JSON and YAML fields before a change request can be submitted or merged. If the value is not valid JSON or YAML, the record stays out of the review queue until the source is fixed.

JSON and YAML fields reuse the Code preview, but they must parse before review.
Two-way relations
A relation links records on two Bases: an Opportunity's Company field links each opportunity to a company. Turn it into a two-way relation to also see, on each company, every opportunity that links to it.
Open the relation field's settings (or add a new relation field) and check Also show this link in {Base}. Busabase adds a column on the other Base, named after this Base by default — you can rename it. New relation fields have the switch on by default; links within one Base have no switch.
The links are stored once, so the two sides always agree:
- Both sides can be edited. Adding an opportunity on a company sets that opportunity's Company; removing it clears it. If Company holds a single value, the opportunity moves from its old company.
- When an opportunity moves to another company, both companies update.
- Archived opportunities drop out, and come back when restored.
- A lookup can roll up across the column, for example the sum of the linked opportunities' amounts.
- Editing the column needs permission to change the other Base. If you cannot open that Base, the column is shown read-only.
Some limits for now: a new record cannot fill the column in its create form — save the record first, then edit it; and the column cannot be used to filter, sort, or group. The record page also lists, under Linked from, records that link to it through relation fields that have no column here.
Through the API or CLI, the other-side column is a relation field whose options.reverseOfFieldId is the forward field's id. The forward field must live on the target Base and point back at this Base, and each forward field can have one such column. A record update that changes it is written to the forward field on the linked records.
See also: Bases · Attachments