Authentication and enablement
Requires a workspace Smartsheet OAuth integration.access_token is injected. sheet_id is a config-only binding (x-exclude-from-llm) — do not ask the user for it. Enable the tool, bind the sheet, and bind the integration.
Inputs
LLM-visible:strategy(required):insertorupsert.columns(required): column names in row-value order.rows(required): values in the same order ascolumns. A row’s length does not need to matchcolumns— see Limits and side effects below.key_column(upsert only): must also appear incolumns.
Output
Rows inserted/updated against the bound sheet. The response also lists any supplied column names that weren’t found on the sheet (skipped_columns), if any were skipped.
Limits and side effects
- Writes to the customer’s Smartsheet.
- Column names are resolved with fuzzy fallback.
- Mismatches are tolerated rather than failing the call: a column name not found on the sheet is skipped (that column is left untouched, not an error); a row shorter than
columnsgets its missing trailing values left blank; a row longer thancolumnshas its extra trailing values ignored.
Expected errors
- Missing access token or bound
sheet_id. - Empty
columnsorrows. key_columnmissing on upsert, or not resolvable on the sheet.- None of the supplied column names resolve against the sheet.
- Sheet has no columns.