Database Block Guide
The Database block in Ideon provides a spreadsheet-style table for structured data management, analysis, and cross-referencing. This guide covers creating database blocks, configuring column types, managing rows, sorting and filtering, linking to other blocks via relation columns, and exporting data.
Creating a Database Block
To add a Database block to your canvas:
- Open the block library (click the "+" icon or use the canvas context menu).
- Select Database from the block gallery.
- The block appears on the canvas with two default columns ("Name" and "Tags").
Column Types
Database blocks support six column types:
| Type | Description | Value Format |
|---|---|---|
| Text | Free-form text | "string" |
| Number | Numeric values for sorting and math | 42 |
| Enum | Predefined options (dropdown selection) | "option-id" (resolved to label on export) |
| URL | Clickable hyperlinks | "https://…" |
| Relation | Links to another block on the canvas | { "blockId": "target-uuid" } |
| Checkbox | Boolean toggle | true / false |
Enum Columns
Enum columns let you restrict cell values to a fixed set of options. When you create an enum column, two default options are provided. You can add more or rename existing ones through the column settings menu.
On CSV and Markdown export, enum option IDs are resolved to their display labels automatically.
Checkbox Columns
Checkbox cells render as toggle inputs. Click to toggle between checked and unchecked. The aggregation row shows a count of checked items out of total (e.g. 2/3).
Relation Columns
Relation columns create hyperlinks between blocks. When you enter a relation value, a picker shows all blocks on the current canvas. Selecting a block stores its UUID as the cell value. On the canvas, relation cells render as clickable links that jump to the referenced block.
Managing Rows
Rows are the data records in your table. Each row has a unique ID (auto-generated on creation).
- Add a row: Click the "+" button at the bottom of the table or press Enter in the last row.
- Delete a row: Click the row menu (⋯) and select Delete Row, or right-click the row number.
- Reorder rows: Drag the row handle (⋮⋮) on the left edge of any row.
Column Management
Global Search
Use the search input in the toolbar to filter rows across all text columns. The filter is case-insensitive and matches substrings.
Aggregation Row
The bottom row of the table shows aggregate values per column:
- Number columns: Sum of all visible values
- Checkbox columns: Count of checked items out of total (e.g.
2/3) - Text columns: Count of non-empty cells
Sorting and Filtering
Sorting
Click any column header to sort by that column. Click again to toggle between ascending and descending order. The active sort column is indicated by an arrow icon. Sort state is persisted with the block.
- Text columns: sorted alphabetically
- Number columns: sorted numerically
- Enum columns: sorted by option label alphabetically
- Relation columns: sorted by the referenced block's title
Filtering
Click the filter icon ( funnel ) in a column header to open the filter menu. Type text to filter rows where the cell value contains the search string. Clear the filter to show all rows. Filter state is persisted with the block.
Exporting Data
Database blocks support two export formats:
CSV Export
Click the export button and select Export CSV to download a .csv file. Enum values are resolved to their labels. Relation cells export the referenced block's ID.
Markdown Export
Click the export button and select Export Markdown to copy a GitHub-flavored Markdown table to your clipboard. Useful for embedding table data in notes, documentation, or pull requests.
MCP Integration
Database blocks are fully accessible via the MCP Server. The following MCP tools are available:
list_table_rows— list rows with optional sorting and filteringget_table_metadata— retrieve column definitions, sort, and filter configurationadd_table_column— add a new column with a specified typeupdate_table_column— rename, change type, or update enum optionsdelete_table_column— remove a column and all its dataadd_table_row— append a new rowupdate_table_row— update cell values in an existing rowdelete_table_row— remove a rowexport_table_csv— export the table as CSV textexport_table_markdown— export the table as Markdown
All tools operate on a block UUID and return NotFoundError if the block doesn't exist or isn't a database block, and ValidationError for invalid column or row IDs.