Skip to content

edit_native_sheet_tab

Apply one additive structural edit to an editable native-sheet tab: create, rename, resize, or insert a row/column. op selects the edit and determines which other fields are required: ‘create’ takes new_tab (and no tab_id — the server generates one); ‘rename’ takes tab_id and name; ‘resize’ takes tab_id and resize (row/column bounds, growth only — shrinking is rejected); ‘insert’ takes tab_id, axis, and index (inserts exactly one row or column and shifts cells and formatting).

NameTypeRequiredDefaultDescription
model_nameAnnotated[str, Field(description='Name of the Bridge Town model that owns the sheet.')]Yes
sheet_idAnnotated[str, Field(description='Sheet identifier, as returned by list_native_sheets.')]Yes
opAnnotated[Literal['create', 'rename', 'resize', 'insert'], Field(description='Which structural edit to apply: create, rename, resize, or insert.')]Yes
tab_id`Annotated[strNone, Field(description=“Tab to rename/resize/insert into. Omit for op=‘create’.”)]`NoNone
new_tab`Annotated[NewTabInputNone, Field(description=“Name and optional bounds for a new tab. Required for op=‘create’.”)]`NoNone
name`Annotated[strNone, Field(min_length=1, max_length=200, description=“New display name for the tab. Required for op=‘rename’.”)]`NoNone
resize`Annotated[TabResizeInputNone, Field(description=“New row and/or column bounds, growth only. Required for op=‘resize’.”)]`NoNone
axis`Annotated[Literal[‘row’, ‘column’]None, Field(description=“Axis to insert. Required for op=‘insert’.”)]`NoNone
index`Annotated[intNone, Field(ge=0, description=“Zero-based insertion position. Required for op=‘insert’.”)]`NoNone
expected_shaAnnotated[str, Field(description='Expected sheet blob SHA-1 for optimistic concurrency.')]No''
commit_messageAnnotated[str, Field(description='Optional Git commit message.')]No''
branch`Annotated[strNone, Field(description=‘Scenario branch; null uses the sheet default.’)]`NoNone
workspace_id`Annotated[strNone, Field(description=WORKSPACE_ID_FIELD_DESCRIPTION)]`NoNone

Returns a structured object. Top-level fields:

  • _bt_tool (string)
  • model_name (string)
  • sheet_id (string)
  • tab_id (string)
  • branch (string)
  • commit_sha (string)
  • sha (string)
  • updated_cells (integer)
  • range_formatted_cells (integer)
  • calculation_status (string)
  • new_tab_id (string)
  • workspace_id (string)
  • staged_count (null)

See the response example below for the full payload shape.

{
"name": "edit_native_sheet_tab",
"arguments": {
"model_name": "forecasts",
"sheet_id": "assumptions",
"op": "create",
"new_tab": {
"name": "Summary",
"row_count": 100,
"column_count": 26
},
"expected_sha": "abc1234def5678901234567890abcdef12345678"
}
}
{
"_bt_tool": "edit_native_sheet_tab",
"model_name": "forecasts",
"sheet_id": "assumptions",
"tab_id": "tab2",
"branch": "main",
"commit_sha": "abc1234def5678901234567890abcdef12345678",
"sha": "abc1234def5678901234567890abcdef12345678",
"updated_cells": 0,
"range_formatted_cells": 0,
"calculation_status": "dirty",
"new_tab_id": "tab2",
"workspace_id": "dddddddd-dddd-dddd-dddd-dddddddddddd",
"staged_count": null
}
  • Module: Native Sheets
  • Requires authentication via API token or Auth0 JWT.