# create_sheet_filter (https://sellersheetai.com/docs/mcp-api/tools/create_sheet_filter)

> 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).

Access: **WRITE** · toolset google_workspace · family null

## Call it

MCP tool call:

```json
{
  "name": "create_sheet_filter",
  "arguments": {
    "spreadsheet_id": "<spreadsheet_id>",
    "range_": "<range_>",
    "title": "<title>"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/create_sheet_filter \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spreadsheet_id":"<spreadsheet_id>","range_":"<range_>","title":"<title>"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `spreadsheet_id` | string | yes | the spreadsheet ID (from its URL or get_sheet_metadata). |
| `range_` | string | yes | A1 notation range, header row included (e.g. 'Sheet1!A1:D100'). |
| `title` | string | yes | the filter view's name. |

## Result

- `data.filterViewId` — the new filter view's id.
- `data.title` — its name.

## Gotchas

- The view starts with no criteria; set them, or delete the view, with sheet_batch_update (updateFilterView / deleteFilterView with data.filterViewId). Every range here must name its tab; an open end is allowed ('Tab!C7:C' runs to the bottom, 'Tab!A:D' is whole columns); a range without a tab ('A1:D10') is refused.

## Example

- create_sheet_filter("1ABC...", "Sheet1!A1:D100", "My Filter")