append_sheet_rows
Append rows below the last non-empty row of the columns in range_.
writeGoogle Sheets, Docs & Drive
Writing starts at range_'s leftmost column.
Call it
In an AI client (MCP)
{
"name": "append_sheet_rows",
"arguments": {
"spreadsheet_id": "<spreadsheet_id>",
"range_": "<range_>",
"values": []
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/append_sheet_rows \
-H "Authorization: Bearer $SELLERSHEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"spreadsheet_id":"<spreadsheet_id>","range_":"<range_>","values":[]}'Early access — the Tool API is open on request, contact us.
Arguments
| Name | Type | Description |
|---|---|---|
spreadsheet_idrequired | string | the spreadsheet ID (from its URL or get_sheet_metadata). |
range_required | string | Column-only A1 notation, no row numbers ('Sheet1!A:Z', not 'Sheet1!A1:Z10' — a row-bounded range is refused with a 400). Examples: 'Sheet1!A:Z' → appends from column A 'Sheet1!C:Z' → appends from column C 'C:Z' → appends from column C of the spreadsheet's first tab |
valuesrequired | object[] | 2D list of rows to append. |
Result
Every tool answers {notification, data, human_action}; data carries:
data.appended— the number of rows written.
Gotchas
- Cells are written RAW, not parsed: '=SUM(A:A)' lands as text and '2026-05-12' as a string. Use write_sheet at the next row when the rows carry formulas or dates. Calls that append to the same tab must run one after another: each finds the next empty row, so two at once write to the same row. The spreadsheet must be shared with SellerSheet's Google service account as Editor (workbooks set up by the SellerSheet sidebar already are); a permission error means the user has to share it.
Example
# Append from column A
append_sheet_rows("1ABC...", "Sheet1!A:Z", [["val1", "val2", "val3"]])
# Append from column C
append_sheet_rows("1ABC...", "Sheet1!C:Z", [["c_val", "d_val"]])