Documentation Index

Fetch the complete documentation index at: https://docs.knovvu.com/llms.txt

Use this file to discover all available pages before exploring further.

Managing Data Table Rows

Prev Next

A data table stores structured records — customer details, order status, price lists — that your flows and AI agents can read at runtime. This article covers the day-to-day work with the records inside a table: viewing them, adding, editing and deleting rows, exporting the table to CSV, and the limits a table runs into as it grows.

Creating a table and defining or changing its columns is separate work, covered in Creating a Data Table.

📝 Note: Data Tables is a tenant-level module and is enabled per tenant. If Data Tables does not appear in the main navigation, the module is not enabled for your tenant. You also need a table that already exists — this article starts from one.

📝 Note: Data Tables carries a Beta badge in the navigation: "Data Tables is in Beta. Features and limits may change."


Opening a table's rows

Open Data Tables in the main navigation and click the table's name in the list. The table's detail page shows its rows.

The row list of a data table

1. Breadcrumb: Shows which table's rows you are looking at.

2. Edit Schema: Opens the table's columns for editing. Existing columns are partially locked there — schema work is outside this article.

3. + Add Row: Opens the Add New Row panel above the grid. See Adding a row below.

4. Id: A system column. Every row gets a server-generated Id when it is created. It is never editable and never changes.

5. Your columns: One column per column you defined, in the order of the schema.

6. DateCreated: A system column, stamped when the row is created.

7. DateModified: A system column, empty until the row is edited — it shows a dash (—) on a row that has never been changed.

8. Row actions: The edit and delete icons at the end of each row.

9. Total count: The footer under the grid shows the number of rows in the table as "N total".

How values are shown

Column type How the grid renders it
Text, Long Text The stored text
Number Trailing zeros are trimmed — a stored 64.90 is shown as 64.9
Boolean A green tick for True, a red cross for False
DateTime The stored date and time
Empty value A dash (—), as on an unedited DateModified

📝 Note: A dash means the cell holds no value — leaving a field empty in the Add New Row panel stores NULL, not empty text. When a flow filters on such a column, the Data Table node's is empty condition matches both NULL and empty text on Text and Long Text columns, but only NULL on Number, Boolean and DateTime columns.

📝 Note: Rows always come back in the order they were created, oldest first. Sorting the grid by a column does not reorder them. If you need rows in a particular order at runtime, use the Data Table node's own sorting rather than relying on what this screen shows.


Adding a row

Click + Add Row. The Add New Row panel opens full width above the grid — it is not a side drawer — with one input per editable column laid out in a wrapping row.

The Add New Row panel

1. Column name and type chip: Each field carries its column name above it and a small chip naming the column's type: text, longText, number, boolean or dateTime.

2. Inputs: One per editable column. The input you get depends on the column's type:

Type chip What you enter
text Free text, up to 200 characters
longText Free text, up to 8,000 characters
number A number; decimal values are accepted
boolean A True / False picker
dateTime A date picker

3. Cancel and Save: At the right of the panel. Save writes the row and closes the panel; the grid refreshes and a "Row added successfully." message confirms it.

4. Close (×): At the top right of the panel — the same as Cancel. Both discard what you typed without asking.

The three system columns — Id, DateCreated and DateModified — never appear in this panel. As the schema screen says: "System columns are automatically added to every table and cannot be edited. They are shown in the table detail view but are not editable when adding or editing rows." On save, the new row is given an Id and a DateCreated automatically, and its DateModified stays empty until the row is first edited.

Example

For a support-ticket table with the columns ticketNumber (Text), category (Text), issueSummary (Long Text), resolutionHours (Number), isResolved (Boolean) and openedAt (DateTime), one row is added as:

Field Value
ticketNumber TCK-50975
category Billing
issueSummary Customer asked for a payment link for invoice INV-2026-07-4412.
resolutionHours 2.50
isResolved True
openedAt 8/5/2026 12:00 AM

After saving, the row appears in the grid with a generated Id, today's DateCreated, a dash under DateModified, a green tick under isResolved, and 2.5 under resolutionHours.


Editing a row

Click the edit icon on the row. The same panel opens, titled Edit Row, with the row's current values filled in. Change what you need and click Save; a "Row updated successfully." message confirms it.

The Edit Row panel on an existing row

📝 Note: Editing a row stamps its DateModified, which is how the dash on that row is replaced. Id and DateCreated are not touched by an edit — a row keeps the Id it was created with, and any flow or agent that stored that Id keeps pointing at the same row.


Deleting a row

Click the delete icon on the row. A confirmation asks Delete Row?"This row will be permanently deleted. This action cannot be undone." Confirm, and a "Row deleted." message appears.

⚠️ Warning: Deleting a row is permanent. There is no undo and no recycle bin — the row is removed from the table immediately, and any flow that looked it up by Id will stop finding it.


Exporting to CSV

On the Data Tables list, the table's row offers Export CSV, which opens the Export Data Table dialog.

The Export Data Table dialog

1. Information notice: "System columns (Id, DateCreated, DateModified) are excluded from the export by default to prevent duplicate columns when the file is re-imported."

2. Include system columns (Id, DateCreated, DateModified): Off by default, and off again every time the dialog is opened. Turn it on when you want the system columns in the file — for an audit extract, or to reconcile rows against Ids your flow stored. With it on, Id is written as the first column and DateCreated and DateModified as the last two.

3. Buttons: Export produces the file; Cancel closes the dialog without exporting.

The export is designed to be read back in by the CSV import, so the file is written in a fixed, locale-independent format:

Encoding UTF-8 with a byte order mark
Line endings CRLF
Quoting Minimal — values are quoted only when they need to be
Numbers Invariant format, so 129.5 regardless of your regional settings
Booleans Lowercase true / false
Dates ISO format

💡 Tip: Leave Include system columns off for any file you intend to import again. With the system columns in the file, the import reads Id, DateCreated and DateModified as three ordinary columns of your own, and the new table ends up with duplicates of columns the platform would have added anyway.

📝 Note: Importing a CSV creates a new data table. There is no import into an existing table, so an export-edit-import round trip gives you a second table rather than updated rows in the first one. To change rows in place, use the Edit Row panel.


Limits

Item Limit
Rows per data table 50,000
Storage per data table 25 MB
Storage per tenant, across all data tables 100 MB
Data tables per tenant 20
Columns per data table 20
Text value 200 characters
Long Text value 8,000 characters

These are the maximum values. A tenant can be configured with lower row and storage limits, so check what your own tenant reports if a table stops accepting rows earlier than the table above suggests.

Two places show you where a table stands: the Data Tables list has a Total Rows column per table and a Data Tables Storage bar for the whole tenant, and the row grid's footer shows the table's row count as "N total".

When a table is full, adding a row is refused with "Row limit reached. This table has reached the maximum of 50,000 rows.", and a CSV import that would exceed the limit is rejected before it starts with "A data table can have at most 50,000 rows. Your file has N."

⚠️ Warning: The row limit applies to writes from your flows as well as to this screen. Once a table is full, a Data Table node that inserts a new row at runtime fails and takes its failed output — so a table that quietly fills up stops accepting data from live conversations, not just from the admin panel. Watch Total Rows on tables your flows write to, and make room by deleting rows you no longer need.

💡 Tip: A table that grows without bound is usually one whose flow inserts a row per conversation. Export it before you clear it out: an export with Include system columns turned on keeps the Ids and the creation dates, which is what you need if the data is ever queried again.