add_sheet_dropdown

Set, replace or remove the dropdown on a range — the one dropdown tool.

writeGoogle Sheets, Docs & Drive

Pass values for a fixed list, source_range for a list kept in other cells, or values=[] to remove the dropdown. The reply echoes the rule as written, in the shape get_sheet_cell reads, so no second read is needed to check it. Writing a value into a dropdown cell is write_sheet, with one of the values exactly as listed.

Call it

In an AI client (MCP)

tools/call
{
  "name": "add_sheet_dropdown",
  "arguments": {
    "spreadsheet_id": "<spreadsheet_id>",
    "range_": "<range_>"
  }
}

From code (Tool API)

curl -X POST https://api.sellersheetai.com/api/v1/tools/add_sheet_dropdown \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spreadsheet_id":"<spreadsheet_id>","range_":"<range_>"}'
Early access — the Tool API is open on request, contact us.

Arguments

NameTypeDescription
spreadsheet_idrequiredstringthe spreadsheet ID (from its URL or get_sheet_metadata).
range_requiredstringthe cells to put the dropdown on, an A1 range that names its tab ('Plan!D2:D100'); an open end runs to the edge ('Plan!D2:D', 'Plan!A:D').
valuesobject[]the options, in order; a number is sent as its text ('1'). values=[] removes the dropdown from range_. Pass this or source_range, not both.
source_rangestringthe cells that hold the options, an A1 range that names its tab ('Lists!A2:A30'); the dropdown follows them when they change. The echo and get_sheet_cell quote a tab name that needs it ("'my-tab'!A2:A30").
strictbooleanTrue (default) = the sheet rejects a value a person types that is not an option; False = it keeps the value and marks it invalid. Neither applies to write_sheet: a written value is kept as written, so write an option verbatim.Default: true

Result

Every tool answers {notification, data, human_action}; data carries:

  • data.dropdown — the rule as written — {values, strict} or {source_range, strict}; null when the dropdown was removed.
  • data.range / data.rowCount / data.colCount — the cells it covers (a count is null on an open side).

Example

add_sheet_dropdown("1ABC...", "Plan!D2:D100",
                   values=["PENDING", "IN_PROGRESS", "DONE", "CANCELLED"])
add_sheet_dropdown("1ABC...", "Plan!E2:E100", source_range="Lists!A2:A30")
add_sheet_dropdown("1ABC...", "Plan!D2:D100", values=[])   # remove

On this page

Actions

View as Markdown

Ask an assistant

Ask ChatGPTAsk Claude