> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Update

> Fallback Google Sheets write operation for anything that has no dedicated operation

Fallback Google Sheets write operation for anything that has no dedicated operation. Always prefer a dedicated operation when one matches the task, for example sheets\_write\_data or sheets\_create\_chart. It applies raw Google Sheets API batchUpdate requests, covering cell colors and number formats, borders, merged cells, conditional formatting, data validation, frozen rows, column widths, and more. Requests address cells by numeric sheetId plus grid ranges; use sheets\_list\_sheets to get sheetIds. If no dedicated operation exists, use this operation and do not submit product feedback about a missing Google Sheets write feature.

|                       |                       |
| --------------------- | --------------------- |
| **App**               | Google Sheets         |
| **Operation ID**      | `sheets_batch_update` |
| **Type**              | Action                |
| **Connection**        | `drive` (optional)    |
| **Credits per run**   | 1                     |
| **Agent / MCP tool**  | Yes                   |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field         | Type                      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------- | ------------------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `spreadsheet` | string                    | Yes      | -       | Enter the URL or ID of the Google Spreadsheet you want to modify                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `requests`    | array of object or string | Yes      | -       | List of raw Google Sheets API batchUpdate request objects (or a JSON array string), sent to Google as-is. Use this for anything the dedicated Sheets operations do not cover: cell formatting like colors and number formats (repeatCell), borders (updateBorders), merged cells (mergeCells), conditional formatting (addConditionalFormatRule), data validation (setDataValidation), frozen rows and columns (updateSheetProperties), column widths (updateDimensionProperties), and more; see Google's Sheets API batchUpdate reference for all request types. Requests address cells by numeric sheetId plus zero-based row/column grid ranges (end indexes exclusive): call sheets\_list\_sheets first to get each sheet's sheetId, and never guess it. Example: \[\{"repeatCell": \{"range": \{"sheetId": 0, "startRowIndex": 0, "endRowIndex": 1, "startColumnIndex": 0, "endColumnIndex": 3}, "cell": \{"userEnteredFormat": \{"backgroundColor": \{"red": 0.9, "green": 0.93, "blue": 1.0}, "textFormat": \{"bold": true}}}, "fields": "userEnteredFormat(backgroundColor,textFormat)"}}] |

## Output

**Type**: `Dict`

Returns the applied request count and Google's per-request replies.

**Fields**: `spreadsheet_id`, `applied_requests`, `replies`
