Search documentation

Search docs pages by title or description

Join the waitlist
Browse documentation

Data sources

Apps read and write live data from three kinds of sources — the built-in Ember database, a two-way Airtable mirror, and your own Postgres — freely mixed within one app.

Ember tables

The built-in database needs zero setup: up to 50 tables, 60 columns each. Every table gets an automatic id and creation timestamp, plus a record label — the field (optionally with an image) that represents rows in references, cards, and search.

Search fields (Table panel → Record label) choose which other fields a search term matches: reference pickers and table search boxes then find a client by email or phone as well as by name, and a picker row shows the matched value under the label. By default every visible text-like field is searched; hidden fields never are.

SettingWhat it does
text / email / phone / urlText values with format-aware rendering (mail, call, and link affordances). Turn on "Barcode scanning" and the field gets a camera Scan button that decodes a barcode or QR code into the value.
numberNumeric values — sortable, chartable, aggregatable.
booleanTrue/false, rendered as a checkbox or switch.
date / datetimeCalendar values, powering timelines, calendars, and date filters.
timeA time of day with no date (shift start, opening hours) — entered as 09:30 or 9:30 pm, sorted chronologically. Seconds are always stored; the column's "Show seconds" toggle exposes them.
durationA length of time stored as seconds — entered as 1:30, 90m or 1h 30m; sums, averages and formulas like [Hours] / 3600 just work.
selectOne value from a fixed option list — kanban lanes, statuses, categories.
multi-selectAny number of values from a fixed option list — tags, categories, skills.
referenceA link to a row of another table — the relational glue for lookups, rollups, and related-row filters.
multi-referenceLinks to MANY rows of another table (assignees, attendees) — picked from the target's records, rendered as clickable chips. Formulas can't read it yet.
image / fileUploads (≤10 MB), stored and served automatically.
jsonStructured payloads from integrations.

Airtable

  • Two-way mirror: Airtable changes arrive via webhooks; app edits push back.
  • Schema lives in Airtable: add fields there, then Refresh schema in Emberblocks. Removed fields are kept locally, never silently dropped.
  • Recovery tools: Pull now applies pending changes; Full re-sync re-reads the whole base if the mirror drifts.
  • Attachments are re-hosted so images keep working in your app.

Postgres

Connect your own database and build directly on production tables. Writes are opt-in per table and require a primary key — until then the table is read-only everywhere.