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)

tools/call
{
  "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"}'
Early access — the Tool API is open on request, contact us.

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.

ToolAccessWhat it does
add_sheet_chartwriteInsert a native Google Sheets chart over a range of data.
add_sheet_conditional_formatwriteAdd 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_dropdownwriteSet, replace or remove the dropdown on a range — the one dropdown tool.
add_sheet_named_rangewriteAdd a new named range.
add_sheet_tabwriteAdd a new tab to the spreadsheet.
append_sheet_rowswriteAppend rows below the last non-empty row of the columns in range_.
apply_sheet_table_stylewriteStyle 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_columnswriteAuto-resize columns to fit their content — wraps Sheets `autoResizeDimensions`.
clear_sheet_rangedestructiveClear the values in a range.
collapse_sheet_groupwriteCollapse (collapsed=True) or expand the row or column groups that lie inside range_.
copy_sheet_formatwriteCopy formatting only (no values) from source range to target range.
copy_sheet_tabwriteCopy a tab, with all its formatting, into another spreadsheet (or the same one).
create_sheet_filterwriteCreate 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_rangedestructiveDelete a named range.
delete_sheet_tabdestructiveDelete a tab from the spreadsheet.
find_replace_in_sheetdestructiveFind and replace text in a sheet.
format_sheet_rangewriteSet the fill colour, font colour, bold and font size of a range.
freeze_sheet_paneswriteFreeze rows and/or columns in a sheet.
get_sheet_cellreadRead everything about a cell or a small range in one call: value, formula, format, note, hyperlink and dropdown.
get_sheet_linksreadGet hyperlinks from a range.
get_sheet_metadatareadGet the spreadsheet's metadata: title, locale, time zone and every tab's properties.
get_sheet_named_rangereadGet a specific named range.
get_sheet_notesreadGet notes from a range.
group_sheet_rows_colswriteGroup rows or columns (creates a collapsible [+] toggle in the sheet).
hide_sheet_rowswriteHide rows in a sheet, or show hidden rows again.
import_sheet_tsvdestructiveServer-side parse + write of TSV (tab-separated) text.
insert_sheet_rows_colswriteInsert rows or columns in a sheet.
insert_sheet_sparklinewriteInsert an in-cell SPARKLINE chart by writing the formula for you.
list_sheet_named_rangesreadList all named ranges in the spreadsheet.
list_sheet_tabsreadList all tabs in the spreadsheet.
merge_sheet_cellsdestructiveMerge cells in a range.
paste_sheet_with_formatdestructiveWrite values AND apply uniform format to the same range — saves a round-trip vs calling write_sheet then format_sheet_range.
protect_sheet_rangewriteProtect a range from editing.
read_sheetreadRead cell values from a range.
read_sheet_formatreadRead cell formatting from a range.
rename_sheet_tabwriteRename an existing tab.
resize_sheet_columnswriteResize columns in a sheet.
resize_sheet_rowswriteResize rows in a sheet.
set_sheet_basic_filterwriteSet a basic filter (column dropdown arrows) on a header row range.
set_sheet_borderswriteAdd cell borders to a range.
set_sheet_number_formatwriteSet number format for a range.
setup_sheetwriteCreate a tab if it is missing, write a key row and a label row, and format them.
sheet_batch_updatedestructiveApply several raw Sheets API v4 requests (spreadsheets.batchUpdate) in one call.
sort_sheet_rangedestructiveSort a range by specified columns.
ungroup_sheet_rows_colswriteRemove a row/column group (ungroup).
unmerge_sheet_cellswriteUnmerge cells in a range.
unprotect_sheet_rangewriteRemove protection from a range.
update_sheet_notewriteUpdate note on a cell or range.
write_sheetdestructiveWrite a 2D block of values to a range; every cell is parsed as if typed (USER_ENTERED).
write_sheet_formuladestructiveFill 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.

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude