Google Sheets
Your agent's tools for the sheet — read, write, format, filter, chart and protect — so results land where your team reviews them.
In short
The Amazon and noon tools never write to a sheet themselves. When you work in a Google Sheet, your agent records results there with these tools: headers, formats, filters and dropdowns included. You review and edit in the sheet, then say "submit the rows I changed".
How your agent uses the sheet
Read what is there
list_sheet_tabs and get_sheet_metadata show the workbook; read_sheet reads a range, get_sheet_cell one cell with its dropdown and note, get_sheet_notes the notes on a tab.
Write results
write_sheet writes a block of values, append_sheet_rows adds rows at the end, write_sheet_formula writes formulas, import_sheet_tsv drops in a whole report. setup_sheet and add_sheet_tab build a new tab.
Make it readable
format_sheet_range, set_sheet_number_format, freeze_sheet_panes, autofit_sheet_columns and apply_sheet_table_style format it; add_sheet_conditional_format, add_sheet_chart and insert_sheet_sparkline add the visuals.
Make it a working surface
add_sheet_dropdown puts Amazon's own values in a column, create_sheet_filter and sort_sheet_range order the rows, protect_sheet_range locks what nobody should edit. sheet_batch_update is the escape hatch for anything else.
Try asking
"Read the data from my Sales spreadsheet."
"Format the header row of my listings sheet, freeze it, and add a filter."
Reading a range, both ways
The same tool and the same arguments — through your AI client, or from your own code.
MCP — you ask: "What's in A1:F20 of my Sales tab?" Your agent calls read_sheet.
In an AI client (MCP)
{
"name": "read_sheet",
"arguments": {
"spreadsheet_id": "<your spreadsheet id>",
"range_": "Sales!A1:F20"
}
}From code (Tool API)
curl -X POST https://api.sellersheetai.com/api/v1/tools/read_sheet \
-H "Authorization: Bearer $SELLERSHEET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"spreadsheet_id":"<your spreadsheet id>","range_":"Sales!A1:F20"}'These tools change your sheet
The write and format tools change the workbook you name — never your Amazon account. A sheet must be one your Google account can open.
Tools on this page
Pulled from the catalog at build time, each with its own access label.
| Tool | Access | What it does |
|---|---|---|
add_sheet_chart | write | Insert a native Google Sheets chart over a range of data. |
add_sheet_conditional_format | write | Add a conditional formatting rule to a range: a boolean rule (the default) that formats the cells meeting a condition, or a 2- or 3-stop colour gradient. |
add_sheet_dropdown | write | Set, replace or remove the dropdown on a range — the one dropdown tool. |
add_sheet_named_range | write | Add a new named range. |
add_sheet_tab | write | Add a new tab to the spreadsheet. |
append_sheet_rows | write | Append rows below the last non-empty row of the columns in range_. |
apply_sheet_table_style | write | Style an already-written range as a table: a bold, coloured, centred header row, alternating row bands, thin grey borders and a frozen header. |
autofit_sheet_columns | write | Auto-resize columns to fit their content — wraps Sheets `autoResizeDimensions`. |
clear_sheet_range | destructive | Clear the values in a range. |
collapse_sheet_group | write | Collapse (collapsed=True) or expand the row or column groups that lie inside range_. |
copy_sheet_format | write | Copy formatting only (no values) from source range to target range. |
copy_sheet_tab | write | Copy a tab, with all its formatting, into another spreadsheet (or the same one). |
create_sheet_filter | write | Create a filter view on a range: a named, saved filter anyone can open from Data > Filter views without touching the tab's one basic filter (set_sheet_basic_filter sets that). |
delete_sheet_named_range | destructive | Delete a named range. |
delete_sheet_tab | destructive | Delete a tab from the spreadsheet. |
find_replace_in_sheet | destructive | Find and replace text in a sheet. |
format_sheet_range | write | Set the fill colour, font colour, bold and font size of a range. |
freeze_sheet_panes | write | Freeze rows and/or columns in a sheet. |
get_sheet_cell | read | Read everything about a cell or a small range in one call: value, formula, format, note, hyperlink and dropdown. |
get_sheet_links | read | Get hyperlinks from a range. |
get_sheet_metadata | read | Get the spreadsheet's metadata: title, locale, time zone and every tab's properties. |
get_sheet_named_range | read | Get a specific named range. |
get_sheet_notes | read | Get notes from a range. |
group_sheet_rows_cols | write | Group rows or columns (creates a collapsible [+] toggle in the sheet). |
hide_sheet_rows | write | Hide rows in a sheet, or show hidden rows again. |
import_sheet_tsv | destructive | Server-side parse + write of TSV (tab-separated) text. |
insert_sheet_rows_cols | write | Insert rows or columns in a sheet. |
insert_sheet_sparkline | write | Insert an in-cell SPARKLINE chart by writing the formula for you. |
list_sheet_named_ranges | read | List all named ranges in the spreadsheet. |
list_sheet_tabs | read | List all tabs in the spreadsheet. |
merge_sheet_cells | destructive | Merge cells in a range. |
paste_sheet_with_format | destructive | Write values AND apply uniform format to the same range — saves a round-trip vs calling write_sheet then format_sheet_range. |
protect_sheet_range | write | Protect a range from editing. |
read_sheet | read | Read cell values from a range. |
read_sheet_format | read | Read cell formatting from a range. |
rename_sheet_tab | write | Rename an existing tab. |
resize_sheet_columns | write | Resize columns in a sheet. |
resize_sheet_rows | write | Resize rows in a sheet. |
set_sheet_basic_filter | write | Set a basic filter (column dropdown arrows) on a header row range. |
set_sheet_borders | write | Add cell borders to a range. |
set_sheet_number_format | write | Set number format for a range. |
setup_sheet | write | Create a tab if it is missing, write a key row and a label row, and format them. |
sheet_batch_update | destructive | Apply several raw Sheets API v4 requests (spreadsheets.batchUpdate) in one call. |
sort_sheet_range | destructive | Sort a range by specified columns. |
ungroup_sheet_rows_cols | write | Remove a row/column group (ungroup). |
unmerge_sheet_cells | write | Unmerge cells in a range. |
unprotect_sheet_range | write | Remove protection from a range. |
update_sheet_note | write | Update note on a cell or range. |
write_sheet | destructive | Write a 2D block of values to a range; every cell is parsed as if typed (USER_ENTERED). |
write_sheet_formula | destructive | Fill one formula into a cell — or across EVERY cell of a range. |
FAQ
Is there a skill for building good sheets?
Yes — sellersheet-sheets (sheet building, formats, live data) and sellersheet-dashboard (multi-tab dashboards). See Install the skills.
What about the Google Sheets add-on?
The add-on's buttons run their own workflows inside the sheet — see the add-on buttons. Docs and Drive have their own pages: Google Docs, Google Drive.