Knowledge Base Tables
When you need a table
The table is suitable for structured data:
- price lists;
- inventory balances;
- catalogues;
- schedules;
- lists of branches;
- rules with columns and values.
If data is better read in rows and columns, use a table rather than a long text file.
Creating a table
- Select the Settings gear to the right of the project name, then open Knowledge Base under Project data.
- Click Add.
- Select the Table tab.
- Enter a name.
- Click Create table.
- In the Table created dialog, click Go to editor.

The table editor opens separately. If the dialog is closed, the table can be opened from the resource card in the knowledge base list.
Importing CSV/XLSX as a table
CSV and XLSX can be used specifically as a table if you upload them through the table flow. CSV becomes one default sheet, and XLSX keeps non-empty sheets from the workbook. An empty file or workbook without rows will not create a table.
The regular "Upload" tab also accepts CSV/XLSX, but there they become a searchable document. To edit rows and columns, choose table creation or table import.
Filling a table from an integration
An external integration can fill even an empty table without uploading CSV or XLSX first. Use a project API key or OAuth token with the can_manage_knowledge_base permission. Exact request bodies and response models are available in the API reference, while client setup is covered in API SDK.
Separate operations are available for different tasks:
POST /api/knowledge-base/tables/:id/rowsappends a rectangular block after the last used row;PATCH /api/knowledge-base/tables/:id/cellschanges individual cells;PUT /api/knowledge-base/tables/:id/rangewrites a rectangular block starting at a specified cell.
Each cell has an explicit type: text, number, boolean, formula, or empty. For row append and range write operations, row and column indices are zero-based inside the declared rectangular block, and unspecified cells in that block are written as empty. The individual-cell operation changes only the listed positions. A range write uses a physical table address; it does not find a row by SKU, email, or another business key and is not an upsert.
A successful response means the table accepted the mutation. The workbook_snapshot used for reading and search is updated asynchronously and may still contain the previous data immediately after a write. When an integration must read the new result, poll the table for a limited time until version or sheet_revision increases; do not poll indefinitely.
Table editor
Open the editor
The table editor opens as a separate screen. Its workspace consists of the editor and the workbook with sheets. You can change values, formulas, sheets, column widths, row heights, formatting, merged cells, borders, import, export, printing, history, and collaborative work.
If you need more rows, select Show 1,000 more rows below the workspace. The button is available to users with edit access.

Use the top toolbar
The top toolbar shows the title and sync status. The status helps you verify that changes have reached the server.

Back returns to the cabinet. The more actions menu contains commands that do not fit at the current width. From the top toolbar, you can rename the table, import XLSX, export XLSX, print PDF, open history, or view participants.
Rename the table
- Select Rename table. On a narrow screen, the command may be inside the more actions menu.

- Wait for the dialog to open.
- Enter the new title.
- Select Save.
- Select Cancel if you decide not to rename the table.
- The close button also closes the dialog and keeps the old title.

View participants
- Select the participants button.

- Find the required participant in the panel.
- Each row shows a user, their role, state, and latest activity. The current user is marked You.
- Select the close button to close the panel and return to the table.

Open history
- Select History.

- Wait for the version panel to open.
- Select the required version to preview it.
- Select the author avatar to view the author's details.
- In the author card, you can copy the author ID.
- Select the close button to close history.

Return to a previous version
Open History as shown above. Then select a version to preview. The first row is the newest saved version; older versions appear below it. The table opens the selected version without changing the current data.
Finish preview
- Select Return to current to leave preview without changes.
- To make this version current, select Apply this version. Check the contents again before applying it because the working table changes for every participant.

If history or an old version preview is open, return to the current table before making changes. Preview is for checking a previous version, not for editing working data.
Freezing rows and columns
Use the editor's regular commands to freeze top rows or left columns so headers remain visible while scrolling. The frozen state is saved with the workbook, synchronized with collaborators, and included in exports.
When it is no longer needed, use the corresponding unfreeze command. This change applies to the current sheet, so check the active sheet tab first.
Protecting a range
Protection can keep formulas or service data visible while preventing accidental edits, or hide the selected range from participants who do not have access. Only the table owner can manage these rules.
- In the editor, select the required cells and open their context menu with the right mouse button.

- In the Protect Rows And Columns submenu, choose Add Protection Range. The Cell protection dialog opens.

- In the protection mode section, choose Protect from editing or Protect from viewing and editing.
- Under role access, enable the required options: all table editors and/or active agents with the Edit tables permission.
- If a specific participant needs access, expand the section Individual people and agents.

- Use search to find a person or agent and select them from the results.
- Add a description that explains the rule to the team.
- Click Protect selected range.
- Make sure the rule appears among the active rules at the bottom of the dialog. You can open a rule there to edit it or remove its protection.

The owner can always view and edit a protected range. An exception in the rule does not grant base table access: a person still needs a suitable participant role, and the table must be connected to an agent with the required permissions.
AI in the table editor
The editor has an "Ask AI" button. It opens the assistant with the context of the current table, open sheet, and selection. If the assistant fails to load, use retry.

To help AI understand where to change data:
- select one cell if you need to "insert here" or start a table from a specific place;
- select a range if only the current block should change;
- if rows must be added to the end, say that explicitly;
- if you need a border, grid, color, column width, row height, or merged cells, select the required range.
The assistant can help fill a schedule, price list, calendar, task list, change values, clear or move a range, add or delete rows, insert or delete columns, hide rows/columns, merge or unmerge cells, apply formatting and borders.
From the assistant, you can also open table history, participants, XLSX export, or PDF printing if the current user has access to that action.
After a successful change, the open table receives updates through collaboration mode. Usually you do not need to refresh the page manually.
Agent connection
For the table to be used in agent answers, select it in the agent settings in the Knowledge Base block. The minimum read permission is Read tables. To change tables you need separate rights:
- Edit tables;
- Add table rows;
- Import CSV and XLSX;
- Delete rows;
- Create sheets;
- Delete sheets;
- Create tables;
- Delete tables.
Don't give the agent the right to modify tables if all they need to do is respond to the data.
What table permissions allow changing
Read tables allows reading the table structure, selected ranges, and rows by headers.
Edit tables is needed to write values and formulas into cells, fill a rectangular block from the selected cell, insert and delete columns, move rows, columns, and ranges, resize, hide rows and columns, clear, copy, merge, unmerge, format, and set borders.
Add table rows is needed to append rows to the end and insert empty rows into a specified place. Delete rows is needed to delete rows. Creating and deleting sheets, tables, and CSV/XLSX import are enabled by separate permissions.
If the change did not work
Check:
- the table is selected in the agent's knowledge base sources;
- the agent has Read tables and the required change permission;
- the user is in the current table version, not in history preview;
- the correct cell or range is selected;
- the request clearly says whether to change the selection, start from the selected cell, or add rows to the end;
- if the change is risky, the user confirmed that they understand the consequences.
If AI changed the wrong area, undo the action through history or a manual edit, select the correct range, and repeat the request more specifically: "change only the selected range" or "start from cell B4".
If the editor loses its connection to the current version, use refresh data first. Use discard local changes only when the unsaved draft is no longer needed.
Table editor tools
- project settings page
- Settings gear button next to the project name