Create a Table
A table in the Dynamic Table plugin is called a collection. Each plugin instance can hold multiple collections, and each collection has its own schema, search settings, and integration keys.
Navigate to Actions → Plugins in the agent sidebar, open the Dynamic Table plugin, and go to the Tables tab.
Creating a New Collection
Click Create Table and enter:
| Field | Description |
|---|---|
| Name | A short label for the table, shown in the plugin UI and used in the function tool definition. |
| Description | An optional note explaining what this table stores. The AI uses this description when deciding which table to query. |
After saving, the table is created in an inactive state. You need to define columns and populate data before activating it.
Defining Columns
Each column represents one field in every row. Expand the table and click Add Column to define the schema.
Column Fields
| Field | Description |
|---|---|
| Display Name | The label shown in the UI and used in import/export templates. |
| Column Name | The internal identifier used in data dictionaries and API payloads (auto-generated as snake_case from the display name). |
| Type | The data type for this column. See supported types below. |
| Description | Explains what this column stores. Improves search quality by giving the AI context about the field. |
| Searchable | When enabled, this column's value is included in the vector embedding used for semantic search. |
| Required | When enabled, rows cannot be saved without a value in this column. |
| Search Weight | A multiplier from 1 to 5. Higher values repeat the column's text more times in the embedding, making it more influential in search results. |
Column Types
| Type | Description | Example values |
|---|---|---|
text | Free-form text of any length. | "Prime Minister of Malaysia" |
number | Numeric values, integer or decimal. | 42, 3.14 |
email | Email address with format validation. | "admin@example.com" |
phone | Phone number string. | "+60123456789" |
date | ISO 8601 date string. | "2024-01-15" |
boolean | True or false value. | true, false |
Primary Key Column
You can designate one column as the primary key for a table. This enforces row uniqueness: no two rows can have the same value in the primary key column.
To set a primary key:
- Click the column settings and enable Primary Key.
- Save the collection.
Once a column is marked as primary key and rows exist, you cannot change or remove the primary key designation. Plan this before loading data.
Column Order
Drag columns to reorder them. The order controls how columns appear in the data management UI, the export template, and the import preview.
Deactivating a Column
Columns can be deactivated instead of deleted. A deactivated column is hidden from the UI and excluded from new rows and exports, but its data is preserved in existing rows.
Before deleting a column, the system validates that the deletion is safe. If a column is used as a primary key or has required field implications, the validation will warn you.
Activating the Table
Once you have defined columns and added at least some rows, toggle the table's Active switch. Only active tables are included in the function tool definition seen by the AI.
Multiple Tables in One Plugin
A single Dynamic Table plugin instance can contain multiple collections. Each collection appears as a separate queryable table. When you configure the function tool settings, you control what name and description the AI sees for each table.
Next Steps
- Add rows to the table to populate it with data.
- Import data in bulk from a CSV or Excel file.
- Configure search settings to tune how semantic search behaves.