Database views
Five ways to look at the same database — table, board, list, gallery, and feed.
A canvas database stores one set of records, but you can look at them through five different views. Each view has its own filter, sort, visible columns, and column widths — they're saved with the view, so switching tabs doesn't lose anything.
Add a view from the + button next to the existing view tabs at the top of the database. Pick a kind and give it a name; you can have any number of views of the same kind.
Table
The default. A familiar columnar grid.
- Best for: bulk editing, comparing rows side by side, copy-paste workflows, dense data.
- Click into any cell to edit. Enter commits, Tab moves right.
- Drag a column header sideways to reorder columns. The order is shared across views.
- Drag the right edge of a header to resize a column. Widths are saved per view.
Board
Kanban-style lanes grouped by an enum column.
- Best for: status-driven workflows — bugs, tickets, content pipelines, projects.
- Set up by picking the Group by column when you create the view. Each option in the enum column becomes a lane; rows fall into the lane that matches their value.
- Drag a row from one lane to another to update the value.
- Drag a lane header sideways to reorder the options. The new order is the default for everyone, including in any other view that uses the same column.
- Rows that don't have a value for the group-by column show up in a "No Value" lane at the end.
List
A vertical list. Optionally grouped, like a board on its side.
- Best for: prioritised reading, long backlogs, weekly review.
- Pick a group-by column to break the list into sections, or leave it off for a flat list.
- Click any row to open the detail dialog and edit fields without leaving the view.
Gallery
Cards in a grid with an optional cover image.
- Best for: visual content — design assets, marketing material, product catalogues.
- Pick a Cover image column when creating the view. Any column whose value is an image URL works; rows without a value show a default placeholder.
- Click into a card to open the row detail dialog.
Feed
A chronological stream of rows, newest first.
- Best for: activity logs, journals, incident timelines.
- Rows are shown in the order they were created (oldest at the top). There's no manual reorder in the feed itself; if you want a different order, use a Table view with a custom sort.
Per-view state
Each view stores its own:
- Filter — the saved filter query (see Filters and sorts in Databases for the operator catalogue).
- Sort — ordered list of
(column, direction)pairs. - Visible columns — show or hide individual columns without touching the data.
- Column widths (Table view) — saved per view, so a wide description column in "All bugs" can be narrow in "Triage".
- Group-by column (Board, List) — the enum column that drives lane / section grouping.
- Cover image column (Gallery) — the image-URL column used as the card cover.
Switching between views never loses any of this state — it's all persisted on the view row.
Real-time and offline
Views are live. When someone in the space updates a row, the change appears in every view that includes it; if your filter excludes the new value the row disappears from the view automatically. View configuration updates (renaming a view, changing its filter) also broadcast in real time so everyone sees the same query.
If you're offline, your queued edits replay against the latest server head when you reconnect — see Offline editing for the full flow.
Tips
- One database, many views. It's normal to have a "By owner" board, a "This sprint" table, and a "Recent activity" feed all on the same database.
- Duplicate a view by adding a new one and copying the filter from the original.
- Rename a view by double-clicking the tab. Names are visible to everyone in the space.
- Switch back to the default table any time to see the raw data with no filter.
Related reading
- Canvas → Databases for column kinds, comments, version history, and what agents can do.
- Spaces → Overview for how canvases relate to the space they live in.