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.

Creating a Data Table

Prev Next

A data table stores structured rows — customer records, order details, reference lists — inside SESTEK AI Agents, so a flow can look them up while a conversation is running. Data tables sit at
tenant level: they are created from Data Tables in the main navigation, outside any project, and every project, flow and agent in the tenant works against the same set of tables.

This article covers creating a table and defining its schema — both from scratch and from a CSV file — and what can still be changed once the table exists. Adding, editing, deleting and exporting the rows themselves happens on the table's detail page after it has been created, and is covered in Managing Data Table Rows. Flows read a table through the Data Table node, in the Flow Designer palette under Service Request.

📝 Note: Data Tables is enabled per tenant. If Data Tables does not appear in the main navigation, the module is not enabled for your tenant — contact your Sestek representative. Opening the module and creating or changing a table are two separate permissions, so a role with view access only sees the tables read-only.

📝 Note: The Data Tables menu entry carries a Beta badge. Its tooltip reads "Data Tables is in Beta. Features and limits may change."


The Data Tables page

The Data Tables list

1. Create Data Table: Opens the create screen. When the tenant already holds 20 tables, creating another is refused with "You have reached the maximum of 20 data tables."

2. Search Name: Filters the list by table name.

3. Data Tables Storage: How much storage every table in the tenant uses together, against the tenant's storage limit (100 MB by default). It is a tenant total, not a per-table figure.

4. The table list: One row per table, with Name, Description, Total Columns, Total Rows and Last Modified. Each row carries three actions: Edit Schema (the pencil), Export CSV, and Delete. Clicking the row opens the table's detail page, where its rows are managed.

Before any table exists the page shows "No data tables yet" with the hint "Create your first data table to store structured data for your flows and agents."


Choosing how to create the table

Create Data Table opens the create screen, which starts with a choice of source:

Option What it says on screen Use it when
Start from Scratch Manually define your columns one by one. You are designing the schema yourself, and rows will be added later or written by a flow.
Import from CSV Upload a CSV file. Column names are taken from the header row; you set the type for each. You already have the data in a file and want the table and its rows created in one step.

Both routes produce the same kind of table. The choice only affects how the schema is defined, and whether rows arrive with it.


Creating a table from scratch

The create screen, Start from Scratch

1. Source: Start from Scratch selected.

2. Name (required): The table's identifier, used by flows to reference it. It must start with a letter and contain only letters, numbers and underscores — anything else is rejected with "Invalid pattern. Must start with a letter and contain only letters, numbers, and underscores." Length is 3 to 64 characters, and the name must be unique in the tenant ("A data table with this name already exists."). The placeholder suggests the shape: e.g. customer_data.

3. Description (required): What the table stores and when it should be used. This is not decoration — the field's own guidance is "Describe what this table stores and when an agent should use it. A clear description helps your AI agent pick the right table." Up to 500 characters.

4. Columns: The schema. The section header counts what you have used — Columns (3 / 20) — and at least one column is required. Add Column appends an empty row.

5. Column Name: Same rule as the table name: starts with a letter, letters, numbers and underscores only, up to 63 characters, unique within the table ("Column names must be unique."). The three system column names are reserved ("This name is reserved for a system column and cannot be used.").

6. Type: What the column holds. See the table below.

7. Column Description: What this column means. Up to 500 characters.

8. Fast filter: Indexes the column's values as they are stored, so that filtering on it in a Data Table node retrieves data faster on large datasets. The counter beside Add Column shows how many of the five available Fast filter columns are in use.

9. System columns notice: The blue notice listing Id, DateCreated and DateModified — see below.

Click Save to create the table. A confirmation reads "Data table Orders created successfully."

Column types

Type Holds Notes
Text Short text, up to 200 characters Can be indexed with Fast filter
Long Text (not indexable) Text up to 8,000 characters The only type that cannot be indexed, so Fast filter is unavailable
Number Numeric values Can be indexed with Fast filter
Boolean True / False Can be indexed with Fast filter
DateTime A date and time Can be indexed with Fast filter

📝 Note: The type name in the dropdown is literally Long Text (not indexable). Choosing it disables that column's Fast filter toggle outright, with the tooltip "Long Text columns can't use Fast filter." If you expect to filter on a text column, keep it as Text and stay within 200 characters.

Fast filter

⚠️ Warning: A Fast filter cannot be removed once it has been set — the toggle's tooltip says so: "Fast filter can't be removed once set." It can be turned on later from Edit Schema, but never turned off again. Mark the columns a flow will actually filter on, and leave the rest.

Up to 5 columns per table can be marked. Once the fifth is set, the remaining toggles are disabled with "You've reached the maximum of 5 Fast filter columns."

System columns

📝 Note: Every table automatically gets three system columns — Id, DateCreated and DateModified. You do not create them and you cannot edit them. They are shown in the table detail view, but they are not editable when adding or editing rows, and their names cannot be reused as column names. They are also left out of a CSV export by default, so that an exported file can be re-imported without duplicating them.

A worked example

An order-lookup table for a support agent:

Field Value
Name Orders
Description Customer orders with their current fulfilment status and total. Use it to answer questions about a specific order number.

with three columns:

Column Name Type Description Fast filter
orderNumber Text The order reference the customer quotes, e.g. ORD-2026-1187. On
status Text Fulfilment status: Preparing, Shipped, Delivered or Cancelled. Off
totalAmount Number Order total in the customer's currency. Off

orderNumber carries the Fast filter because it is the column every lookup filters on; status and totalAmount are read back, not searched.


Creating a table from a CSV file

Choosing Import from CSV replaces the Columns section with an upload area — the column grid, the Fast filter counter and Add Column all disappear, because names and types are set in the preview instead. The import happens in two steps: upload, then confirm the preview.

Step 1 — Upload the file

Import from CSV, the upload step

1. Source: Import from CSV selected. Name and Description are still filled in here, and follow the same rules as above.

2. Upload CSV File: The dropzone — "Drag and drop or click to upload your CSV file". Only .csv is accepted; anything else is refused with "Unsupported file format. Please upload only: .csv".

3. The limits line: "A data table can have up to 20 columns and 50,000 rows. Maximum file size: 20 MB." A file that breaks one of these is rejected before the preview, naming the limit it broke and the figure in your file.

Once the file is read, a summary of what was found is shown in the form 4 columns · 128 rows.

Step 2 — Confirm the preview

The Preview import modal

1. Delimiter: How the file's columns are separated — Comma ( , ), Semicolon ( ; ), Tab or Pipe ( | ). The delimiter is detected from the file and carries an Auto-detected badge; its tooltip is the rule for touching it — "Change it only if the preview below isn't split correctly." If everything lands in one column, the modal says so directly: "All data landed in a single column. This file doesn't look split correctly with the selected delimiter. Try a different one."

2. My file has a header row: Selected by default. The first row is then used as the column names. Clear it if your file has no header, in which case the first row is treated as data.

3. Columns and their types: One entry per detected column, showing the name taken from the header row and the type inferred for it. Adjust a type here if the inference is not what you want.

4. Preview rows: The first ten data rows, labelled "Showing 10 of 128 rows".

5. Import: The button names what it will create — Import 4 columns. On success the message reads "Data table Orders created with 128 rows."

💡 Tip: The preview infers each column's type from the first 10 data rows only, while the import itself parses every row. A file can therefore preview cleanly and still fail on a value further down — a stray N/A in a Number column, or a date in a different format. When that happens the error names the row and the column, so correct that cell in the file and upload it again. If a column's values are not uniform all the way down, importing it as Text or Long Text and cleaning the data afterwards is the shorter path.

📝 Note: CSV import always creates a new table. There is no way to import a file into a table that already exists.


What you can change after the table exists

Edit Schema (the pencil on the list row, or the button on the table's detail page) reopens the same screen in edit mode. It is deliberately narrower than the create screen.

Edit Schema on an existing table

1. Name: Disabled. A table cannot be renamed after it has been created.

2. Description: Still editable.

3. The locked-columns warning: The standing amber alert — "Existing columns are partially locked. The name and type of existing columns cannot be changed and they cannot be deleted. Their description can still be edited, Fast filter can be turned on, and new columns can be added below."

4. Existing columns: Each carries a lock icon, a disabled Name field, a disabled Type select and a disabled delete icon. The description stays editable and the Fast filter toggle stays live — but only in the on direction.

5. Add Column: New columns can still be added, up to the 20-column limit, and they are fully editable until the schema is saved.

Item After the table is created
Table name Locked
Table description Editable
Existing column name Locked
Existing column type Locked
Existing column description Editable
Fast filter on an existing column Can be turned on; cannot be turned off
Deleting an existing column Not possible
Adding a new column Possible, within the 20-column limit

💡 Tip: Because names and types are fixed for the life of the column, it is worth spending a minute on them before saving. If a column turns out to be wrong, the way out is a new column beside it — the old one stays.

Deleting a table

Delete on the list row removes the table and everything in it: "The data table Orders and all of its 128 row(s) will be permanently deleted and all data will be lost."

⚠️ Warning: A table cannot be deleted while a draft or published flow still references it by name — remove or repoint the Data Table nodes that use it first. If only older project versions reference the table, the delete is allowed but asks you to confirm.


Limits and naming rules

Item Value
Data tables per tenant 20
Columns per table 20 (at least 1 required)
Fast filter columns per table 5
Rows per table 50,000
Storage per table 25 MB
Storage per tenant, all tables together 100 MB
Table name 3–64 characters; must start with a letter, then letters, numbers and underscores; unique per tenant
Column name Up to 63 characters; same pattern; unique within the table; Id, DateCreated and DateModified are reserved
Description (table and column) Up to 500 characters
Text value Up to 200 characters
Long Text value Up to 8,000 characters
CSV upload .csv only, maximum 20 MB, up to 20 columns and 50,000 rows

📝 Note: The row and storage limits are tenant settings. The values above are both the defaults and the maximums, so a tenant can be configured lower but never higher.