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:
| Type | Holds | Filter | New column |
|---|---|---|---|
| Text | a short line | text | text |
| Long text | paragraphs | text | text |
| Number | a number | number | numeric |
| Currency | an amount in the field's currency | number | numeric |
| Rating | 1 to a maximum (5 by default) | number | smallint |
| Checkbox | yes or no | yes / no | boolean |
| Date | a calendar day | date | date |
| Timestamp | a date and time | date | timestamptz |
| Select | one option of a list | is any of | text + CHECK |
| Multi-select | any number of options | shares an option | text[] |
| Email, Phone | text with that meaning | text | text |
| URL | a link or domain | text | text |
| Reference | a record of another object | empty or not | foreign key |
| JSON | structured JSON | empty or not | jsonb |
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 uuidkey andcreated_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):
- Map each column to a field, or Don't import.
- 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.
- 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.