duplicate_native_sheet_as_input
Duplicate an immutable output sheet view into a brand-new, editable input sheet — the only supported path from an output view to something editable. The source output view is left completely untouched. Rejects a sheet_id that does not resolve to a purpose=‘output’ sheet (use create_native_sheet for a blank input sheet instead).
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | Annotated[str, Field(description='Name of the Bridge Town model that owns the output sheet view.')] | Yes | — | |
sheet_id | Annotated[str, Field(description='sheet_id of the output sheet view to duplicate, as returned by list_native_sheets or create_output_sheet_view.')] | Yes | — | |
name | `Annotated[str | None, Field(description=“Display name for the new input sheet. Defaults to ’ | No | None |
branch | `Annotated[str | None, Field(description=“Branch to commit the new input sheet to. Defaults to the source output view’s branch. Never affects which output view is duplicated — that is controlled solely by sheet_id/source_branch.”)]` | No | None |
source_branch | `Annotated[str | None, Field(description=“Branch of the cached output-view row to duplicate from, when sheet_id exists on more than one branch. Defaults to branch, and if branch is also omitted, resolves to the sheet’s default/unresolved-branch row — never the most-recently-updated row across branches. Pass this explicitly to pin an exact scenario branch’s source row. Independent of branch, which only controls where the new input sheet is committed.”)]` | No | None |
commit_message | Annotated[str, Field(description='Git commit message. If omitted, the server generates a default message.')] | No | '' |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
model_name(string)source_sheet_id(string)sheet_id(string)name(string)purpose(string)branch(string)commit_sha(string)sha(string)tab_count(integer)tabs(array<object>)calculation_status(string)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "duplicate_native_sheet_as_input", "arguments": { "model_name": "forecasts", "sheet_id": "sht_7890a1b2c3d4e5f67890a1b2c3d4e5f6", "name": "Q1 Output (editable copy)" }}Response
Section titled “Response”{ "model_name": "forecasts", "source_sheet_id": "sht_7890a1b2c3d4e5f67890a1b2c3d4e5f6", "sheet_id": "sht_a1b2c3d4e5f67890a1b2c3d4e5f67890", "name": "Q1 Output (editable copy)", "purpose": "input", "branch": "main", "commit_sha": "abc1234def5678901234567890abcdef12345678", "sha": "abc1234def5678901234567890abcdef12345678", "tab_count": 1, "tabs": [ { "tab_id": "tab_b2c3d4e5f67890a1b2c3d4e5f6789012", "name": "Sheet1", "row_count": 5, "column_count": 3, "cell_encoding": "sparse", "cells": { "A1": { "value": "Quarter", "formula": null, "format": null, "style": null, "number_format": null } }, "rows": [], "formatting": { "column_widths": {}, "row_heights": {}, "frozen_rows": 0, "frozen_columns": 0, "show_gridlines": true } } ], "calculation_status": "clean"}- Module:
Native Sheets - Requires authentication via API token or Auth0 JWT.