Skip to main content
Inserts or upserts rows into an existing Smartsheet. Display name “Update Smartsheet”. Off by default.

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): insert or upsert.
  • columns (required): column names in row-value order.
  • rows (required): values in the same order as columns. A row’s length does not need to match columns — see Limits and side effects below.
  • key_column (upsert only): must also appear in columns.

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 columns gets its missing trailing values left blank; a row longer than columns has its extra trailing values ignored.

Expected errors

  • Missing access token or bound sheet_id.
  • Empty columns or rows.
  • key_column missing on upsert, or not resolvable on the sheet.
  • None of the supplied column names resolve against the sheet.
  • Sheet has no columns.