Agentic Table API¶
The Agentic Table API (Magic Table) provides functionality for managing AI-powered interactive tables with activity tracking and metadata management.
Overview¶
Work with intelligent tables that support:
- Cell-level operations and bulk updates
- Activity and status tracking
- Log history for changes
- Column and cell metadata
- Row verification workflows
- Artifact attachments
Core Methods¶
unique_sdk.AgenticTable.set_cell - Set cell content
Set content of a specific cell with optional log entries.
Parameters:
tableId(str, required) - Table/sheet IDrowOrder(int, required) - Row index (0-based)columnOrder(int, required) - Column index (0-based)text(str, required) - Cell content textlogEntries(List[LogEntry], optional) - Array of log entry objects. SeeLogEntryfor structure.
Returns:
Returns an AgenticTableCell object.
Example:
unique_sdk.AgenticTable.get_cell - Retrieve cell content
Retrieve content and metadata of a specific cell.
Parameters:
tableId(str, required) - Table/sheet IDrowOrder(int, required) - Row index (0-based)columnOrder(int, required) - Column index (0-based)
Returns:
Returns an AgenticTableCell object.
Example:
unique_sdk.AgenticTable.set_multiple_cells - Bulk update cells
Bulk update multiple cells in a single operation for better performance.
Parameters:
tableId(str, required) - Table/sheet IDcells(List[AgenticTableCell], required) - List of cell objects to update. Each cell should haverowOrder,columnOrder, andtext.
Returns:
Returns a ColumnMetadataUpdateStatus object.
Example:
Sheet Operations¶
unique_sdk.AgenticTable.get_sheet_data - Get sheet data
Retrieve comprehensive sheet data including cells, logs, and metadata.
Parameters:
tableId(str, required) - Table/sheet IDincludeCells(bool, optional) - Include cell data in responseincludeLogHistory(bool, optional) - Include change logsincludeRowCount(bool, optional) - Include row countincludeCellMetaData(bool, optional) - Include cell metadatastartRow(int, optional) - Start row index for range (0-based)endRow(int, optional) - End row index for range (0-based)
Returns:
Returns an AgenticTableSheet object.
Example:
unique_sdk.AgenticTable.get_sheet_state - Get sheet state
Get the current processing state of a sheet.
Parameters:
tableId(str, required) - Table/sheet ID
Returns:
Returns an AgenticTableSheetState enum value.
Example:
unique_sdk.AgenticTable.update_sheet_state - Update sheet state
Update the name or state of a sheet.
Parameters:
tableId(str, required) - Table/sheet IDname(str, optional) - New sheet namestate(AgenticTableSheetState, optional) - New state:"PROCESSING","IDLE", or"STOPPED_BY_USER"
Returns:
Returns an UpdateSheetResponse object.
Example:
Activity & Status Tracking¶
unique_sdk.AgenticTable.set_activity - Set activity status
Set activity status for tracking long-running operations.
Parameters:
tableId(str, required) - Table/sheet IDactivity(Literal["DeleteRow", "DeleteColumn", "UpdateCell", "AddQuestionText", "AddMetaData", "GenerateArtifact", "SheetCompleted", "LibrarySheetRowVerified"], required) - Activity typestatus(Literal["IN_PROGRESS", "COMPLETED", "FAILED"], required) - Activity statustext(str, required) - Activity description text
Returns:
Returns an AgenticTableCell object.
Example:
unique_sdk.AgenticTable.set_artifact - Attach artifact
Attach an artifact (document) to the sheet.
Parameters:
tableId(str, required) - Table/sheet IDname(str, required) - Artifact namecontentId(str, required) - Content ID of the artifact documentmimeType(str, required) - MIME type (e.g., "application/pdf")artifactType(Literal["QUESTIONS", "FULL_REPORT"], required) - Artifact type
Returns:
Returns an AgenticTableCell object.
Example:
Metadata Management¶
unique_sdk.AgenticTable.set_column_metadata - Configure column properties
Configure column properties including width, filters, and renderers.
Parameters:
tableId(str, required) - Table/sheet IDcolumnOrder(int, required) - Column index (0-based)columnWidth(int, optional) - Column width in pixelsfilter(FilterTypes, optional) - Filter type:"ValueMatchFilter","PartialMatchFilter","ReferenceFilter","HallucinationFilter","ReviewStatusFilter", or"AssigneeFilter"cellRenderer(str, optional) - Cell renderer type:"CheckboxLockCellRenderer","CollaboratorDropdown","ReviewStatusDropdown","CustomCellRenderer", or"SelectableCellRenderer"editable(bool, optional) - Whether column is editable
Returns:
Returns a ColumnMetadataUpdateStatus object.
Example:
unique_sdk.AgenticTable.set_cell_metadata - Set cell metadata
Set metadata for a specific cell.
Parameters:
tableId(str, required) - Table/sheet IDrowOrder(int, required) - Row index (0-based)columnOrder(int, required) - Column index (0-based)selected(bool, optional) - Whether cell is selectedselectionMethod(SelectionMethod, optional) - Selection method:"DEFAULT"or"MANUAL"agreementStatus(AgreementStatus, optional) - Agreement status:"MATCH"or"NO_MATCH"
Returns:
Returns a ColumnMetadataUpdateStatus object.
Example:
Bulk Operations¶
unique_sdk.AgenticTable.bulk_update_status - Bulk update status
Update verification status of multiple rows at once.
Parameters:
tableId(str, required) - Table/sheet IDrowOrders(List[int], required) - List of row indices to update (0-based)status(RowVerificationStatus, required) - Verification status:"NEED_REVIEW","READY_FOR_VERIFICATION", or"VERIFIED"
Returns:
Returns a ColumnMetadataUpdateStatus object.
Example:
Use Cases¶
AI-Powered Table Processing
Bulk Populate Table
Review Workflow
Progress Tracking
Best Practices¶
Track Activities
Log Changes
Input Types¶
LogEntry¶
The LogEntry type defines a log entry for cell changes
Fields:
text(str, required) - Log entry textcreatedAt(str, required) - Creation timestamp (ISO 8601)actorType(Literal["USER", "SYSTEM", "ASSISTANT", "TOOL"], required) - Actor typemessageId(str, optional) - Associated message IDdetails(List[LogDetail], optional) - Additional log details
LogDetail Fields:
llmRequest(List[Dict] | None) - LLM request data
Used in: AgenticTable.set_cell() logEntries parameter
Return Types¶
AgenticTableCell¶
The AgenticTableCell object represents a cell in the table
Fields:
sheetId(str) - Sheet ID containing the cellrowOrder(int) - Row index (0-based)columnOrder(int) - Column index (0-based)rowLocked(bool) - Whether row is lockedtext(str) - Cell text contentlogEntries(List[LogEntry]) - List of log entries. SeeLogEntryfor structure.
Returned by: AgenticTable.set_cell(), AgenticTable.get_cell(), AgenticTable.set_activity(), AgenticTable.set_artifact()
AgenticTableSheet¶
The AgenticTableSheet object represents a complete sheet/table
Fields:
sheetId(str) - Unique sheet identifiername(str) - Sheet namestate(AgenticTableSheetState) - Current state. SeeAgenticTableSheetState.chatId(str) - Associated chat IDcreatedBy(str) - Creator user IDcompanyId(str) - Company IDcreatedAt(str) - Creation timestamp (ISO 8601)magicTableRowCount(int) - Total number of rowsmagicTableCells(List[AgenticTableCell] | None) - List of cells (ifincludeCells=True)
Returned by: AgenticTable.get_sheet_data()
AgenticTableSheetState¶
The AgenticTableSheetState enum represents sheet processing state
Values:
PROCESSING- Sheet is currently being processedIDLE- Sheet is idle/readySTOPPED_BY_USER- Processing stopped by user
Returned by: AgenticTable.get_sheet_state()
ColumnMetadataUpdateStatus¶
The ColumnMetadataUpdateStatus object indicates update operation status
Fields:
status(bool) - Whether update was successfulmessage(str | None) - Status message
Returned by: AgenticTable.set_column_metadata(), AgenticTable.set_cell_metadata(), AgenticTable.set_multiple_cells(), AgenticTable.bulk_update_status()
UpdateSheetResponse¶
The UpdateSheetResponse object indicates sheet update status
Fields:
status(bool) - Whether update was successfulmessage(str) - Status message
Returned by: AgenticTable.update_sheet_state()
Related Resources¶
- Content API - Manage artifacts and attachments
- Message API - Link table operations to messages