Base & Tables Tools
Tools for managing bases, tables, fields, and records.
Available Tools
tables_createDatabaseCreate a new database (base). Returns the created database with its ID.
Input Schema
name | stringrequired | Name for the new database/base |
description | string | Optional description of the database |
icon | string | Icon name (e.g., "database", "folder") |
color | string | Hex color code (e.g., "#3B82F6") |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_createDatabase",
"arguments": {
"name": "example",
"description": "example",
"icon": "example"
}
}
}tables_listDatabasesList all databases (bases) for the current user. Returns array with id, name, description, tables[]. Use this first to get database IDs.
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_listDatabases",
"arguments": {}
}
}tables_getDatabaseByIdGet a specific database with its tables
Input Schema
id | stringrequired | Database ID from listDatabases |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getDatabaseById",
"arguments": {
"id": "example"
}
}
}tables_updateDatabaseUpdate database properties. Only provided fields are updated.
Input Schema
id | stringrequired | Database ID from listDatabases |
name | string | New name for the database |
description | string | New description |
icon | string | New icon name |
color | string | New hex color code |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateDatabase",
"arguments": {
"id": "example",
"name": "example",
"description": "example"
}
}
}tables_deleteDatabasePermanently delete a database and all its contents
Input Schema
id | stringrequired | Database ID to delete. WARNING: This permanently deletes all tables and data. |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_deleteDatabase",
"arguments": {
"id": "example"
}
}
}tables_createTableCreate a new table in a database. Returns the created table.
Input Schema
databaseId | stringrequired | Database ID from listDatabases where the table will be created |
name | stringrequired | Name for the new table |
description | string | Optional description of the table |
icon | string | Icon name (e.g., "table", "users") |
color | string | Hex color code (e.g., "#10B981") |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_createTable",
"arguments": {
"databaseId": "example",
"name": "example",
"description": "example"
}
}
}tables_listTablesList all tables across all databases. Returns array with id, name, databaseId. Use getTableById for full details.
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_listTables",
"arguments": {}
}
}tables_getViewsByTableIdGet all views for a table
Input Schema
tableId | stringrequired | Table ID from listTables |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getViewsByTableId",
"arguments": {
"tableId": "example"
}
}
}tables_getFieldsByTableIdGet all fields/columns for a table. Returns field IDs needed for createRow data keys.
Input Schema
tableId | stringrequired | Table ID from listTables |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getFieldsByTableId",
"arguments": {
"tableId": "example"
}
}
}tables_getTableByIdGet table with fields and views. Returns field IDs needed for row data.
Input Schema
id | stringrequired | Table ID from listTables |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getTableById",
"arguments": {
"id": "example"
}
}
}tables_updateTableUpdate table properties. Only provided fields are updated.
Input Schema
id | stringrequired | Table ID from listTables |
name | string | New name for the table |
description | string | New description |
icon | string | New icon name |
color | string | New hex color code |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateTable",
"arguments": {
"id": "example",
"name": "example",
"description": "example"
}
}
}tables_deleteTablePermanently delete a table and all its data
Input Schema
id | stringrequired | Table ID to delete. WARNING: This permanently deletes all rows and fields. |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_deleteTable",
"arguments": {
"id": "example"
}
}
}tables_createFieldCreate a new field/column in a table
Input Schema
tableId | stringrequired | Table ID from listTables |
name | stringrequired | Name for the new field/column |
fieldType | stringrequired | Field type: "text", "number", "select", "multiselect", "date", "datetime", "checkbox", "url", "email", "phone", "file", "formula", "rating", "currency", "percent", "duration", "status", "button", "link", "lookup", "rollup" |
description | string | Optional description of the field |
required | boolean | Must be false or omitted. Required fields are not supported - UI creates blank rows first. |
unique | boolean | Whether values must be unique (default: false) |
defaultValue | any | Default value for new rows |
options | array | For select/multiselect: [{value: "opt1", label: "Option 1", color: "#3b82f6"}] |
statusLabels | array | For status: [{value: "todo", label: "To Do", color: "#6b7280"}] |
formulaConfig | object | For formula: {formula: "field1 + field2", resultType: "number"} |
buttonConfig | object | For button: {actionType: "flow", flowId: "xxx"} |
numberFormatConfig | object | For number: {decimalPlaces: 2, useThousandSeparator: true} |
currencyFormatConfig | object | For currency: {currencySymbol: "$", symbolPosition: "before"} |
percentFormatConfig | object | For percent: {decimalPlaces: 1} |
lookupConfig | object | For lookup: {relationshipFieldId: "xxx", sourceFieldId: "xxx"} |
rollupConfig | object | For rollup: {relationshipFieldId: "xxx", sourceFieldId: "xxx", aggregationType: "SUM"} |
linkedTableId | string | For link field: target table ID |
linkType | string | Link relationship type |
displayOrder | string | Fractional order string (e.g., "a0", "b0") |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_createField",
"arguments": {
"tableId": "example",
"name": "example",
"fieldType": "example"
}
}
}tables_updateFieldUpdate field properties. Only provided fields are updated.
Input Schema
id | stringrequired | Field ID from getFieldsByTableId |
name | string | New name for the field |
fieldType | string | Field type |
description | string | New description |
required | boolean | Must be false or omitted. Required fields are not supported - UI creates blank rows first. |
unique | boolean | Whether values must be unique |
defaultValue | any | Default value for new rows |
options | array | For select/multiselect: [{value: "opt1", label: "Option 1", color: "#3b82f6"}] |
statusLabels | array | For status: [{value: "todo", label: "To Do", color: "#6b7280"}] |
formulaConfig | object | For formula: {formula: "field1 + field2", resultType: "number"} |
linkedTableId | string | For link field: target table ID |
linkType | string | Link relationship type |
linkDisplayMode | string | How to display linked records |
linkDisplayFieldId | string | Which field to show from linked records |
allowMultipleLinks | boolean | Whether multiple links are allowed |
buttonConfig | object | For button: {actionType: "flow", flowId: "xxx"} |
numberFormatConfig | object | For number: {decimalPlaces: 2, useThousandSeparator: true} |
currencyFormatConfig | object | For currency: {currencySymbol: "$", symbolPosition: "before"} |
percentFormatConfig | object | For percent: {decimalPlaces: 1} |
lookupConfig | object | For lookup: {relationshipFieldId: "xxx", sourceFieldId: "xxx"} |
rollupConfig | object | For rollup: {relationshipFieldId: "xxx", sourceFieldId: "xxx", aggregationType: "SUM"} |
displayOrder | number | Display order position |
isVisible | boolean | Whether field is visible |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateField",
"arguments": {
"id": "example",
"name": "example",
"fieldType": "example"
}
}
}tables_deleteFieldPermanently delete a field/column and all its data
Input Schema
id | stringrequired | Field ID to delete. WARNING: This permanently deletes all data in this column. |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_deleteField",
"arguments": {
"id": "example"
}
}
}tables_createRowCreate a new row in a table. Data keys must be field IDs, not field names.
Input Schema
tableId | stringrequired | Table ID from listTables |
data | objectrequired | Object where keys are FIELD IDs from getFieldsByTableId, values are cell values. Example: {"fieldId1": "text", "fieldId2": 123} |
rowOrder | string | Fractional order string for positioning. Leave empty to append at end. |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_createRow",
"arguments": {
"tableId": "example",
"data": {},
"rowOrder": "example"
}
}
}tables_getRowCountGet total row count for a table. Lightweight operation.
Input Schema
tableId | stringrequired | Table ID from listTables |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getRowCount",
"arguments": {
"tableId": "example"
}
}
}tables_getRowsGet rows from a table with pagination. Returns row data with field IDs as keys.
Input Schema
tableId | stringrequired | Table ID from listTables |
limit | number | Max rows to return (default: 100) |
offset | number | Number of rows to skip for pagination |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getRows",
"arguments": {
"tableId": "example",
"limit": 0,
"offset": 0
}
}
}tables_updateRowUpdate an existing row. Merges provided data with existing data.
Input Schema
id | stringrequired | Row ID from getRows |
data | objectrequired | Object with field IDs as keys and new values. Only provided fields are updated. |
metadata | object | Optional metadata to merge with existing |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateRow",
"arguments": {
"id": "example",
"data": {},
"metadata": {}
}
}
}tables_deleteRowPermanently delete a single row
Input Schema
id | stringrequired | Row ID to delete |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_deleteRow",
"arguments": {
"id": "example"
}
}
}tables_bulkDeleteRowsDelete multiple rows. Params: tableId, rowIds (array of row IDs).
Input Schema
tableId | stringrequired | |
rowIds | arrayrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_bulkDeleteRows",
"arguments": {
"tableId": "example",
"rowIds": {}
}
}
}tables_createViewCreate a new view. Params: tableId (required), name (required), viewType (required: "grid", "kanban", "calendar", "gallery", "form"), description, filterConfig, sortConfig, groupConfig, visibleFields (array of field IDs).
Input Schema
tableId | stringrequired | |
name | stringrequired | |
viewType | stringrequired | |
description | string | |
filterConfig | any | |
sortConfig | any | |
groupConfig | any | |
visibleFields | array | |
columnWidths | any | |
isDefault | boolean |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_createView",
"arguments": {
"tableId": "example",
"name": "example",
"viewType": "example"
}
}
}tables_updateViewUpdate view settings. Params: id (view ID), name, filterConfig, sortConfig, groupConfig, visibleFields, etc.
Input Schema
id | stringrequired | |
name | string | |
description | string | |
filterConfig | any | |
sortConfig | any | |
groupConfig | any | |
visibleFields | array | |
columnWidths | any | |
isDefault | boolean | |
metadata | any |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateView",
"arguments": {
"id": "example",
"name": "example",
"description": "example"
}
}
}tables_getViewsList all views for a table. Param "tableId". Returns array with id, name, viewType, filterConfig, sortConfig.
Input Schema
tableId | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getViews",
"arguments": {
"tableId": "example"
}
}
}tables_reorderViewChange view position. Params: viewId, newOrderIndex (string).
Input Schema
viewId | stringrequired | |
newOrderIndex | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_reorderView",
"arguments": {
"viewId": "example",
"newOrderIndex": "example"
}
}
}tables_duplicateViewCopy a view. Params: id (view ID to copy), name (optional, for the copy).
Input Schema
id | stringrequired | |
name | string |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_duplicateView",
"arguments": {
"id": "example",
"name": "example"
}
}
}tables_setDefaultViewSet which view opens by default. Params: id (view ID), tableId.
Input Schema
id | stringrequired | |
tableId | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_setDefaultView",
"arguments": {
"id": "example",
"tableId": "example"
}
}
}tables_deleteViewDelete a view. Param "id" is the view ID.
Input Schema
id | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_deleteView",
"arguments": {
"id": "example"
}
}
}tables_updateFieldOrderChange field position. Params: fieldId, newOrder (fractional string).
Input Schema
fieldId | stringrequired | |
newOrder | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateFieldOrder",
"arguments": {
"fieldId": "example",
"newOrder": "example"
}
}
}tables_updateTableOrderChange table position in database. Params: tableId, newOrder (string like "a0", "b0" for fractional ordering).
Input Schema
tableId | stringrequired | |
newOrder | stringrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateTableOrder",
"arguments": {
"tableId": "example",
"newOrder": "example"
}
}
}tables_updateFieldWidthSet column width in pixels. Params: fieldId, width (number, e.g., 200).
Input Schema
fieldId | stringrequired | |
width | numberrequired |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateFieldWidth",
"arguments": {
"fieldId": "example",
"width": 0
}
}
}tables_updateRowOrderUpdate row display order for row drag-and-drop
Input Schema
rowId | stringrequired | Row ID to reorder |
newOrder | stringrequired | New fractional order string |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_updateRowOrder",
"arguments": {
"rowId": "example",
"newOrder": "example"
}
}
}tables_bulkUpdateRowsUpdate multiple rows at once
Input Schema
tableId | stringrequired | Table ID from listTables |
updates | arrayrequired | Array of row updates |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_bulkUpdateRows",
"arguments": {
"tableId": "example",
"updates": {}
}
}
}tables_exportTableExport all table data for download
Input Schema
tableId | stringrequired | Table ID to export |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_exportTable",
"arguments": {
"tableId": "example"
}
}
}tables_importRowsBulk import rows. Use matchFieldsByName=true (default) to use field names as keys.
Input Schema
tableId | stringrequired | Table ID from listTables |
rows | arrayrequired | Array of row data. When matchFieldsByName=true, use field NAMES as keys. When false, use field IDs. |
matchFieldsByName | boolean | If true, match columns by field name. If false, use field IDs as keys (default: true) |
fieldDefinitions | array | Optional field definitions to create new fields during import |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_importRows",
"arguments": {
"tableId": "example",
"rows": {},
"matchFieldsByName": true
}
}
}tables_searchRowsFull-text search across all text fields in a table. Returns matching rows with optional readable format.
Input Schema
tableId | stringrequired | Table ID to search in |
query | stringrequired | Search query string |
limit | number | Max results (default: 50) |
offset | number | Skip results for pagination |
includeReadable | boolean | Include human-readable field names in output |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_searchRows",
"arguments": {
"tableId": "example",
"query": "example",
"limit": 0
}
}
}tables_upsertRowCreate a row if no match found, or update existing row if match exists. Useful for sync operations.
Input Schema
tableId | stringrequired | Table ID |
matchFieldId | stringrequired | Field ID to match on (must be unique or will update first match) |
matchValue | any | Value to match against |
data | objectrequired | Row data with field IDs as keys |
includeReadable | boolean | Include human-readable output |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_upsertRow",
"arguments": {
"tableId": "example",
"matchFieldId": "example",
"matchValue": {}
}
}
}tables_getTableSchemaGet table structure/schema. Useful for understanding table layout before creating/updating rows.
Input Schema
tableId | stringrequired | Table ID |
format | string | Output format: json (full), array (simple), markdown (documentation) |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getTableSchema",
"arguments": {
"tableId": "example",
"format": "example"
}
}
}tables_duplicateTableClone a table with its structure (fields) and optionally data (rows) and views.
Input Schema
tableId | stringrequired | Source table ID to duplicate |
newName | stringrequired | Name for the new table |
targetDatabaseId | string | Target database ID (defaults to same database) |
includeRows | boolean | Copy all rows from source table |
includeViews | boolean | Copy views configuration |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_duplicateTable",
"arguments": {
"tableId": "example",
"newName": "example",
"targetDatabaseId": "example"
}
}
}tables_getHelpGet help for Tables API. Call with topic to get focused guidance.
Input Schema
topic | string | Topic: "overview", "fields", "rows", "views", "linked" |
Example Call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tables_getHelp",
"arguments": {
"topic": "example"
}
}
}