Objects and fields

Tables as objects, columns as fields, rows as records. Field types, adding tables and columns, views, import.

An object is a table of a data source, a field one of its columns, a record one of its rows. Every value lives in your database; Dataembed keeps only each object's and field's settings.

Objects

  • Settings → Objects lists them. Anyone can rename an object, change its icon, pick the field that names its records (its label, used in links and pickers) and reorder its fields; the arrows reorder the objects, which the sidebar and home follow.
  • Owners and admins also hide a table (it only leaves the sidebar, home and search) and give a table without a key its key columns, once: a key can't be changed, so an agent's waits for approval.
  • Names are unique per workspace, and field names per object, whatever their case.
  • A change to an object's or a field's settings, key columns aside, is in Recent activity, ready to undo.

Field types

A field's type comes from its column, from the core Field types plugin:

TypeHoldsFilterNew column
Texta short linetexttext
Long textparagraphstexttext
Numbera numbernumbernumeric
Currencyan amount in the field's currencynumbernumeric
Rating1 to a maximum (5 by default)numbersmallint
Checkboxyes or noyes / noboolean
Datea calendar daydatedate
Timestampa date and timedatetimestamptz
Selectone option of a listis any oftext + CHECK
Multi-selectany number of optionsshares an optiontext[]
Email, Phonetext with that meaningtexttext
URLa link or domaintexttext
Referencea record of another objectempty or notforeign key
JSONstructured JSONempty or notjsonb

Reading your tables, Dataembed suggests the type from the column: text columns named like email, phone or website become Email, Phone or URL; numeric ones named like price or revenue Currency; enums and CHECK (column IN (…)) lists Select; arrays of text or enums Multi-select; single-column foreign keys References; any other type Text (read-only when Postgres can't take it as text). Options from the database can be relabelled and recoloured, not changed.

Add tables and columns

On a source with Rows and schema access, owners and admins change the schema from the app:

  • New table, in Settings → Objects: a name and its columns, or Start from a CSV file. The table gets an id uuid key and created_at.
  • Add field (+ at the end of a table's header) → Add column: a name (lowercase SQL) and a type.

Both show the SQL first, under "Runs on the database". New columns are nullable with no default; a select gets a CHECK list of its options; a reference a foreign key ON DELETE SET NULL. Nothing is dropped or renamed. A schema change can't be undone; if its SQL ran but setting it up failed, it says so: the change stands and a sync picks it up, so don't make it again.

Deleting a field (owners and admins) leaves its column, and the next sync adds it back: hide the field instead to keep it out of the way.

Records

A record's id is its primary key as text (a JSON array for a composite key). A plain click on a link to a record opens it in a sheet over the page; links inside it stack (back, the breadcrumb, Escape). ⌘-, Ctrl-, Shift- or middle-click opens its page.

On a record's page or sheet, a field saves when you leave it or press Enter (⌘↵ / Ctrl+↵ in long text). Text it can't take stays, with the reason, until you fix it, press Escape or choose Revert. If someone changes the field while you type, it says so: Enter keeps yours, Escape takes theirs.

Every change made through Dataembed lands in the record's Activity, with who made it (a person, the copilot, a plugin, an API key or an app) and the values before and after. Undo it from there; see Undo. Comment from the record's page.

Views

An object's tabs are its views. Each is a type with its own filters, sorts and options:

  • Table: rows and columns; sort, filter, resize, pin and edit in place.
  • Board (the Board views plugin): cards in columns, one per option of a select field; dragging a card sets that field.
  • Chart: the records counted or measured per value of a field, as a bar, line, area or pie chart (Query).

Filters combine conditions with and or or; dates can be relative to today. The search box isn't saved. Changing a view changes it for you only until it's saved for everyone; see Customize.

Import

Import on an object's toolbar takes a CSV file with a header row (the object must take new records and have a key):

  1. Map each column to a field, or Don't import.
  2. Find existing records by: the key or one field, and When a row matches one: Skip the row, Update the record or Stop the import.
  3. Check runs it without writing and lists failures by line; then Import, or Import N, leave out M.

Rows go in batches of 500, each all or none. Updated records can be undone; added ones are final.

On this page