{
  "service": "googlesheets",
  "displayName": "Google Sheets",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "oauth2"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://accounts.google.com/o/oauth2/v2/auth",
      "tokenUrl": "https://oauth2.googleapis.com/token",
      "scopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive.readonly",
        "https://www.googleapis.com/auth/drive"
      ],
      "tokenEndpointAuthMethod": "client_secret_post",
      "authorizationParams": {
        "access_type": "offline",
        "prompt": "consent"
      }
    }
  ],
  "homepageUrl": "https://workspace.google.com/products/sheets/",
  "actions": [
    {
      "id": "googlesheets.add_sheet",
      "service": "googlesheets",
      "name": "add_sheet",
      "description": "Add a new sheet through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "title": {
            "type": "string",
            "minLength": 1,
            "description": "New sheet title."
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "forceUnique": {
            "type": "boolean",
            "description": "Ensure the title is unique."
          },
          "objectSheetConfig": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "dataSourceConfig": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.aggregate_column_data",
      "service": "googlesheets",
      "name": "aggregate_column_data",
      "description": "Aggregate numeric values from a target column, optionally filtered by another column, with stable counters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "targetColumn": {
            "type": "string",
            "minLength": 1,
            "description": "Column header or A1 column to aggregate."
          },
          "operation": {
            "type": "string",
            "enum": [
              "sum",
              "average",
              "count",
              "min",
              "max",
              "percentage"
            ],
            "description": "Aggregation operation."
          },
          "searchColumn": {
            "type": "string",
            "minLength": 1,
            "description": "Column used to filter rows."
          },
          "searchValue": {
            "type": "string",
            "description": "Value matched in the search column."
          },
          "caseSensitive": {
            "type": "boolean",
            "description": "Case-sensitive matching."
          },
          "hasHeaderRow": {
            "type": "boolean",
            "description": "Whether the first row contains headers."
          },
          "percentageTotal": {
            "type": "number",
            "description": "Explicit denominator for percentage."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetName",
          "targetColumn",
          "operation"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "result": {
            "type": "number",
            "description": "Computed result."
          },
          "operation": {
            "type": "string",
            "description": "Operation performed."
          },
          "matchingRowsCount": {
            "type": "integer",
            "description": "Rows matching the filter."
          },
          "processedValuesCount": {
            "type": "integer",
            "description": "Numeric values processed."
          },
          "valuesProcessed": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Values included in the aggregation."
          },
          "searchDetails": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          }
        },
        "additionalProperties": false,
        "required": [
          "result",
          "operation",
          "matchingRowsCount",
          "processedValuesCount",
          "valuesProcessed",
          "searchDetails"
        ],
        "description": "Aggregation result."
      }
    },
    {
      "id": "googlesheets.append_dimension",
      "service": "googlesheets",
      "name": "append_dimension",
      "description": "Append rows or columns through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "dimension": {
            "type": "string",
            "enum": [
              "ROWS",
              "COLUMNS"
            ],
            "description": "Spreadsheet dimension."
          },
          "length": {
            "type": "integer",
            "minimum": 1,
            "description": "Number of rows or columns to append."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId",
          "dimension",
          "length"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.auto_resize_dimensions",
      "service": "googlesheets",
      "name": "auto_resize_dimensions",
      "description": "Auto-resize rows or columns through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "dimension": {
            "type": "string",
            "enum": [
              "ROWS",
              "COLUMNS"
            ],
            "description": "Spreadsheet dimension."
          },
          "startIndex": {
            "type": "integer",
            "minimum": 0
          },
          "endIndex": {
            "type": "integer",
            "minimum": 1
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "dimension",
          "startIndex",
          "endIndex"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.batch_clear_values_by_data_filter",
      "service": "googlesheets",
      "name": "batch_clear_values_by_data_filter",
      "description": "Clear spreadsheet values through values.batchClearByDataFilter and return the cleared ranges.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "dataFilters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "dataFilters"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "clearedRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Cleared A1 ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "clearedRanges"
        ],
        "description": "Clear ranges result."
      }
    },
    {
      "id": "googlesheets.batch_get",
      "service": "googlesheets",
      "name": "batch_get",
      "description": "Read multiple spreadsheet ranges through values:batchGet and return stable valueRanges output.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "ranges": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "majorDimension": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ROWS",
              "COLUMNS"
            ],
            "description": "Major dimension for value ranges."
          },
          "valueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "dateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "ranges"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "valueRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "range": {
                  "type": "string",
                  "description": "A1 notation range returned by Google."
                },
                "majorDimension": {
                  "type": "string",
                  "description": "Major dimension returned by Google."
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Google Sheets cell value."
                    }
                  },
                  "description": "Cell values."
                }
              },
              "additionalProperties": false,
              "required": [
                "range",
                "majorDimension",
                "values"
              ],
              "description": "Google Sheets ValueRange."
            },
            "description": "Value ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "valueRanges"
        ],
        "description": "Batch get result."
      }
    },
    {
      "id": "googlesheets.batch_update_values_by_data_filter",
      "service": "googlesheets",
      "name": "batch_update_values_by_data_filter",
      "description": "Write spreadsheet values through values.batchUpdateByDataFilter and return stable aggregate counters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "dataFilter": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Google Sheets cell value."
                    }
                  },
                  "description": "Two-dimensional cell value matrix.",
                  "minItems": 1
                },
                "majorDimension": {
                  "type": "string",
                  "enum": [
                    "DIMENSION_UNSPECIFIED",
                    "ROWS",
                    "COLUMNS"
                  ],
                  "description": "Major dimension for value ranges."
                }
              },
              "additionalProperties": false,
              "required": [
                "dataFilter",
                "values"
              ],
              "description": "Data-filter-addressed values update item."
            },
            "description": "Data-filter-addressed ranges to update.",
            "minItems": 1
          },
          "valueInputOption": {
            "type": "string",
            "enum": [
              "INPUT_VALUE_OPTION_UNSPECIFIED",
              "RAW",
              "USER_ENTERED"
            ],
            "description": "How input data should be interpreted."
          },
          "includeValuesInResponse": {
            "type": "boolean",
            "description": "Whether to include written values in the response."
          },
          "responseValueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "responseDateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "data",
          "valueInputOption"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "totalUpdatedRows": {
            "type": "integer",
            "description": "Total updated rows."
          },
          "totalUpdatedColumns": {
            "type": "integer",
            "description": "Total updated columns."
          },
          "totalUpdatedCells": {
            "type": "integer",
            "description": "Total updated cells."
          },
          "responses": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Per-range update responses."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "totalUpdatedRows",
          "totalUpdatedColumns",
          "totalUpdatedCells",
          "responses"
        ],
        "description": "Batch values update result."
      }
    },
    {
      "id": "googlesheets.clear_basic_filter",
      "service": "googlesheets",
      "name": "clear_basic_filter",
      "description": "Clear a basic filter through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.clear_values",
      "service": "googlesheets",
      "name": "clear_values",
      "description": "Clear a single spreadsheet value range through values.clear and return the cleared A1 range.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "range"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "clearedRange": {
            "type": "string",
            "description": "Cleared A1 range."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "clearedRange"
        ],
        "description": "Clear values result."
      }
    },
    {
      "id": "googlesheets.create_chart",
      "service": "googlesheets",
      "name": "create_chart",
      "description": "Create a chart through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartSpec": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "chartType": {
            "type": "string",
            "minLength": 1,
            "description": "Chart type shorthand."
          },
          "dataRange": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "title": {
            "type": "string",
            "description": "Chart title."
          },
          "subtitle": {
            "type": "string",
            "description": "Chart subtitle."
          },
          "xAxisTitle": {
            "type": "string",
            "description": "X axis title."
          },
          "yAxisTitle": {
            "type": "string",
            "description": "Y axis title."
          },
          "legendPosition": {
            "type": "string",
            "description": "Legend position."
          },
          "backgroundRed": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "backgroundGreen": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "backgroundBlue": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.create_google_sheet1",
      "service": "googlesheets",
      "name": "create_google_sheet1",
      "description": "Create a Google Sheets spreadsheet and return stable spreadsheet metadata for the new file.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "New spreadsheet title."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "spreadsheetUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "String value, or null when Google did not return it."
              },
              {
                "type": "null"
              }
            ]
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "sheets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "properties": {
                  "type": "object",
                  "properties": {
                    "sheetId": {
                      "type": "integer",
                      "description": "Numeric sheet ID."
                    },
                    "title": {
                      "type": "string",
                      "description": "Sheet title."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Zero-based sheet index."
                    },
                    "sheetType": {
                      "type": "string",
                      "description": "Sheet type."
                    },
                    "hidden": {
                      "type": "boolean",
                      "description": "Whether the sheet is hidden."
                    },
                    "gridProperties": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Google Sheets API object."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet properties."
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                },
                "conditionalFormats": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                }
              },
              "additionalProperties": true,
              "description": "Normalized sheet."
            },
            "description": "Sheets in the spreadsheet."
          },
          "namedRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "developerMetadata": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId",
          "spreadsheetUrl",
          "properties",
          "sheets",
          "namedRanges",
          "developerMetadata"
        ],
        "description": "Normalized spreadsheet metadata."
      }
    },
    {
      "id": "googlesheets.create_spreadsheet_column",
      "service": "googlesheets",
      "name": "create_spreadsheet_column",
      "description": "Insert an empty column into a sheet through spreadsheets.batchUpdate with stable top-level fields.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "insertIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based insertion index."
          },
          "inheritFromBefore": {
            "type": "boolean",
            "description": "Inherit dimension properties from the previous row or column."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.create_spreadsheet_row",
      "service": "googlesheets",
      "name": "create_spreadsheet_row",
      "description": "Insert an empty row into a sheet through spreadsheets.batchUpdate with stable top-level fields.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "insertIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based insertion index."
          },
          "inheritFromBefore": {
            "type": "boolean",
            "description": "Inherit dimension properties from the previous row or column."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.delete_dimension",
      "service": "googlesheets",
      "name": "delete_dimension",
      "description": "Delete rows or columns through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "deleteDimensionRequest": {
            "type": "object",
            "properties": {
              "range": {
                "type": "object",
                "properties": {
                  "sheetId": {
                    "type": "integer",
                    "description": "Numeric sheet ID."
                  },
                  "dimension": {
                    "type": "string",
                    "enum": [
                      "ROWS",
                      "COLUMNS"
                    ],
                    "description": "Spreadsheet dimension."
                  },
                  "startIndex": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Zero-based start index."
                  },
                  "endIndex": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Exclusive end index."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "sheetId",
                  "dimension",
                  "startIndex",
                  "endIndex"
                ],
                "description": "Dimension range."
              }
            },
            "additionalProperties": false,
            "required": [
              "range"
            ],
            "description": "Delete dimension request."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "dimension": {
            "type": "string",
            "enum": [
              "ROWS",
              "COLUMNS"
            ],
            "description": "Spreadsheet dimension."
          },
          "startIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Start index."
          },
          "endIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "End index."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.delete_sheet",
      "service": "googlesheets",
      "name": "delete_sheet",
      "description": "Delete a sheet through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.find_replace",
      "service": "googlesheets",
      "name": "find_replace",
      "description": "Run find and replace through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "find": {
            "type": "string",
            "minLength": 1,
            "description": "Value to find."
          },
          "replace": {
            "type": "string",
            "description": "Replacement value."
          },
          "allSheets": {
            "type": "boolean",
            "description": "Search every sheet."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "rangeSheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "startRowIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start row index."
          },
          "endRowIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end row index."
          },
          "startColumnIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start column index."
          },
          "endColumnIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end column index."
          },
          "includeFormulas": {
            "type": "boolean",
            "description": "Search formulas."
          },
          "matchCase": {
            "type": "boolean",
            "description": "Match case."
          },
          "matchEntireCell": {
            "type": "boolean",
            "description": "Match entire cell."
          },
          "searchByRegex": {
            "type": "boolean",
            "description": "Find value is a regex."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "find",
          "replace"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.format_cell",
      "service": "googlesheets",
      "name": "format_cell",
      "description": "Format cells through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "worksheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "startRowIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start row index."
          },
          "endRowIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end row index."
          },
          "startColumnIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start column index."
          },
          "endColumnIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end column index."
          },
          "red": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Background red component."
          },
          "green": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Background green component."
          },
          "blue": {
            "type": "number",
            "minimum": 0,
            "maximum": 1,
            "description": "Background blue component."
          },
          "bold": {
            "type": "boolean",
            "description": "Apply bold text."
          },
          "italic": {
            "type": "boolean",
            "description": "Apply italic text."
          },
          "underline": {
            "type": "boolean",
            "description": "Apply underline text."
          },
          "strikethrough": {
            "type": "boolean",
            "description": "Apply strikethrough text."
          },
          "fontSize": {
            "type": "integer",
            "minimum": 1,
            "description": "Font size in points."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.get_conditional_format_rules",
      "service": "googlesheets",
      "name": "get_conditional_format_rules",
      "description": "Read spreadsheet conditional formatting rules and project them into a stable per-sheet structure.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetTitle": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "excludeTablesInBandedRanges": {
            "type": "boolean",
            "description": "Exclude tables in banded ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "sheets": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Sheets with conditional formatting rules."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheets"
        ],
        "description": "Conditional format rules result."
      }
    },
    {
      "id": "googlesheets.get_data_validation_rules",
      "service": "googlesheets",
      "name": "get_data_validation_rules",
      "description": "Read spreadsheet data validation rules from the minimum necessary sheet ranges and return flattened rule entries.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "ranges": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetTitle": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "includeEmpty": {
            "type": "boolean",
            "description": "Include cells without validation rules."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "rules": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "rules"
        ],
        "description": "Data validation rules result."
      }
    },
    {
      "id": "googlesheets.get_sheet_names",
      "service": "googlesheets",
      "name": "get_sheet_names",
      "description": "List visible or all sheet names from a spreadsheet and include a stable name-to-sheetId map.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "excludeHidden": {
            "type": "boolean",
            "description": "Exclude hidden sheets."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "sheetNames": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "sheetIdByName": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "description": "Sheet ID."
            },
            "description": "Sheet title to ID map."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetNames",
          "sheetIdByName"
        ],
        "description": "Sheet names result."
      }
    },
    {
      "id": "googlesheets.get_spreadsheet_by_data_filter",
      "service": "googlesheets",
      "name": "get_spreadsheet_by_data_filter",
      "description": "Read spreadsheet metadata through spreadsheets.getByDataFilter and return the normalized spreadsheet payload.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "dataFilters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "includeGridData": {
            "type": "boolean",
            "description": "Include grid data."
          },
          "excludeTablesInBandedRanges": {
            "type": "boolean",
            "description": "Exclude tables in banded ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "spreadsheetUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "String value, or null when Google did not return it."
              },
              {
                "type": "null"
              }
            ]
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "sheets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "properties": {
                  "type": "object",
                  "properties": {
                    "sheetId": {
                      "type": "integer",
                      "description": "Numeric sheet ID."
                    },
                    "title": {
                      "type": "string",
                      "description": "Sheet title."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Zero-based sheet index."
                    },
                    "sheetType": {
                      "type": "string",
                      "description": "Sheet type."
                    },
                    "hidden": {
                      "type": "boolean",
                      "description": "Whether the sheet is hidden."
                    },
                    "gridProperties": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Google Sheets API object."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet properties."
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                },
                "conditionalFormats": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                }
              },
              "additionalProperties": true,
              "description": "Normalized sheet."
            },
            "description": "Sheets in the spreadsheet."
          },
          "namedRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "developerMetadata": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId",
          "spreadsheetUrl",
          "properties",
          "sheets",
          "namedRanges",
          "developerMetadata"
        ],
        "description": "Normalized spreadsheet metadata."
      }
    },
    {
      "id": "googlesheets.get_spreadsheet_info",
      "service": "googlesheets",
      "name": "get_spreadsheet_info",
      "description": "Read spreadsheet metadata through spreadsheets.get with optional ranges and grid data flags.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "ranges": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "includeGridData": {
            "type": "boolean",
            "description": "Include grid data."
          },
          "excludeTablesInBandedRanges": {
            "type": "boolean",
            "description": "Exclude tables in banded ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "spreadsheetUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "String value, or null when Google did not return it."
              },
              {
                "type": "null"
              }
            ]
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "sheets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "properties": {
                  "type": "object",
                  "properties": {
                    "sheetId": {
                      "type": "integer",
                      "description": "Numeric sheet ID."
                    },
                    "title": {
                      "type": "string",
                      "description": "Sheet title."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Zero-based sheet index."
                    },
                    "sheetType": {
                      "type": "string",
                      "description": "Sheet type."
                    },
                    "hidden": {
                      "type": "boolean",
                      "description": "Whether the sheet is hidden."
                    },
                    "gridProperties": {
                      "type": "object",
                      "additionalProperties": true,
                      "description": "Google Sheets API object."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet properties."
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                },
                "conditionalFormats": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                }
              },
              "additionalProperties": true,
              "description": "Normalized sheet."
            },
            "description": "Sheets in the spreadsheet."
          },
          "namedRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "developerMetadata": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId",
          "spreadsheetUrl",
          "properties",
          "sheets",
          "namedRanges",
          "developerMetadata"
        ],
        "description": "Normalized spreadsheet metadata."
      }
    },
    {
      "id": "googlesheets.insert_dimension",
      "service": "googlesheets",
      "name": "insert_dimension",
      "description": "Insert rows or columns through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "insertDimension": {
            "type": "object",
            "properties": {
              "range": {
                "type": "object",
                "properties": {
                  "sheetId": {
                    "type": "integer",
                    "description": "Numeric sheet ID."
                  },
                  "dimension": {
                    "type": "string",
                    "enum": [
                      "ROWS",
                      "COLUMNS"
                    ],
                    "description": "Spreadsheet dimension."
                  },
                  "startIndex": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Zero-based start index."
                  },
                  "endIndex": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Exclusive end index."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "sheetId",
                  "dimension",
                  "startIndex",
                  "endIndex"
                ],
                "description": "Dimension range."
              },
              "inheritFromBefore": {
                "type": "boolean",
                "description": "Inherit properties from the previous dimension."
              }
            },
            "additionalProperties": false,
            "required": [
              "range"
            ],
            "description": "Insert dimension request."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "insertDimension"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.lookup_spreadsheet_row",
      "service": "googlesheets",
      "name": "lookup_spreadsheet_row",
      "description": "Find the first row where a cell exactly matches the query and return a stable found/rowData payload.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "Cell value to search for."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "caseSensitive": {
            "type": "boolean",
            "description": "Case-sensitive comparison."
          },
          "normalizeWhitespace": {
            "type": "boolean",
            "description": "Normalize whitespace before comparing."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "query"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "found": {
            "type": "boolean",
            "description": "Whether a matching row was found."
          },
          "rowData": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "First matching row values."
          }
        },
        "additionalProperties": false,
        "required": [
          "found",
          "rowData"
        ],
        "description": "Lookup row result."
      }
    },
    {
      "id": "googlesheets.mutate_conditional_format_rules",
      "service": "googlesheets",
      "name": "mutate_conditional_format_rules",
      "description": "Mutate conditional format rules through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "operation": {
            "type": "string",
            "enum": [
              "ADD",
              "UPDATE",
              "DELETE",
              "MOVE"
            ],
            "description": "Mutation operation."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "index": {
            "type": "integer",
            "minimum": 0,
            "description": "Rule index."
          },
          "newIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "New rule index for move."
          },
          "rule": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "operation",
          "sheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.search_developer_metadata",
      "service": "googlesheets",
      "name": "search_developer_metadata",
      "description": "Search spreadsheet developer metadata via developerMetadata:search and return matched entries only.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "dataFilters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "dataFilters"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "matchedDeveloperMetadata": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "matchedDeveloperMetadata"
        ],
        "description": "Developer metadata search result."
      }
    },
    {
      "id": "googlesheets.search_spreadsheets",
      "service": "googlesheets",
      "name": "search_spreadsheets",
      "description": "Search Google Sheets files in Drive with spreadsheet-only filters and normalized summary output.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search text or a Drive query expression."
          },
          "orderBy": {
            "type": "string",
            "description": "Drive orderBy expression."
          },
          "pageToken": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination token."
          },
          "maxResults": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "description": "Maximum files to return."
          },
          "searchType": {
            "type": "string",
            "enum": [
              "name",
              "content",
              "both"
            ],
            "description": "Where to search for the query text."
          },
          "starredOnly": {
            "type": "boolean",
            "description": "Only return starred spreadsheets."
          },
          "createdAfter": {
            "type": "string",
            "description": "Only return files created after this time."
          },
          "modifiedAfter": {
            "type": "string",
            "description": "Only return files modified after this time."
          },
          "sharedWithMe": {
            "type": "boolean",
            "description": "Only return files shared with the user."
          },
          "includeTrashed": {
            "type": "boolean",
            "description": "Include trashed files."
          },
          "includeSharedDrives": {
            "type": "boolean",
            "description": "Include shared drives."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheets": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Drive file ID."
                },
                "name": {
                  "type": "string",
                  "description": "Spreadsheet file name."
                },
                "mimeType": {
                  "type": "string",
                  "description": "Drive MIME type."
                },
                "webViewLink": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "String value, or null when Google did not return it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "String value, or null when Google did not return it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "modifiedTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "String value, or null when Google did not return it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "owners": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true,
                    "description": "Google Sheets API object."
                  },
                  "description": "Google Sheets API objects."
                },
                "shared": {
                  "type": "boolean",
                  "description": "Whether the file is shared."
                },
                "starred": {
                  "type": "boolean",
                  "description": "Whether the file is starred."
                },
                "trashed": {
                  "type": "boolean",
                  "description": "Whether the file is trashed."
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "name",
                "mimeType",
                "owners",
                "shared",
                "starred",
                "trashed"
              ],
              "description": "Spreadsheet file summary."
            },
            "description": "Matching spreadsheet files."
          },
          "totalFound": {
            "type": "integer",
            "description": "Number of files in this page."
          },
          "nextPageToken": {
            "anyOf": [
              {
                "type": "string",
                "description": "String value, or null when Google did not return it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheets",
          "totalFound",
          "nextPageToken"
        ],
        "description": "Spreadsheet search result."
      }
    },
    {
      "id": "googlesheets.set_basic_filter",
      "service": "googlesheets",
      "name": "set_basic_filter",
      "description": "Set a basic filter through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "filter": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "filter"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.set_data_validation_rule",
      "service": "googlesheets",
      "name": "set_data_validation_rule",
      "description": "Set or clear data validation through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "mode": {
            "type": "string",
            "enum": [
              "SET",
              "CLEAR"
            ],
            "description": "Whether to set or clear validation."
          },
          "startRowIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start row index."
          },
          "endRowIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end row index."
          },
          "startColumnIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based start column index."
          },
          "endColumnIndex": {
            "type": "integer",
            "minimum": 1,
            "description": "Exclusive end column index."
          },
          "validationType": {
            "type": "string",
            "minLength": 1,
            "description": "Data validation condition type."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "sourceRangeA1": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "formula": {
            "type": "string",
            "minLength": 1,
            "description": "Custom formula."
          },
          "strict": {
            "type": "boolean",
            "description": "Reject invalid input."
          },
          "showCustomUi": {
            "type": "boolean",
            "description": "Show custom UI."
          },
          "inputMessage": {
            "type": "string",
            "description": "Cell selection message."
          },
          "filteredRowsIncluded": {
            "type": "boolean",
            "description": "Include filtered rows."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId",
          "mode",
          "startRowIndex",
          "endRowIndex",
          "startColumnIndex",
          "endColumnIndex"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.spreadsheets_sheets_copy_to",
      "service": "googlesheets",
      "name": "spreadsheets_sheets_copy_to",
      "description": "Copy a sheet to another spreadsheet through sheets.copyTo and return a stable copiedSheet payload.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "destinationSpreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Destination spreadsheet ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetId",
          "destinationSpreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Destination spreadsheet ID."
          },
          "copiedSheet": {
            "type": "object",
            "properties": {
              "sheetId": {
                "type": "integer",
                "description": "Numeric sheet ID."
              },
              "title": {
                "type": "string",
                "description": "Sheet title."
              },
              "index": {
                "type": "integer",
                "description": "Zero-based sheet index."
              },
              "sheetType": {
                "type": "string",
                "description": "Sheet type."
              },
              "hidden": {
                "type": "boolean",
                "description": "Whether the sheet is hidden."
              },
              "gridProperties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              }
            },
            "additionalProperties": true,
            "description": "Normalized sheet properties."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "copiedSheet"
        ],
        "description": "Copy sheet result."
      }
    },
    {
      "id": "googlesheets.spreadsheets_values_append",
      "service": "googlesheets",
      "name": "spreadsheets_values_append",
      "description": "Append values through values.append and flatten the nested updates payload into stable top-level fields.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Google Sheets cell value."
              }
            },
            "description": "Two-dimensional cell value matrix.",
            "minItems": 1
          },
          "majorDimension": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ROWS",
              "COLUMNS"
            ],
            "description": "Major dimension for value ranges."
          },
          "insertDataOption": {
            "type": "string",
            "enum": [
              "OVERWRITE",
              "INSERT_ROWS"
            ],
            "description": "How appended data should be inserted."
          },
          "valueInputOption": {
            "type": "string",
            "enum": [
              "INPUT_VALUE_OPTION_UNSPECIFIED",
              "RAW",
              "USER_ENTERED"
            ],
            "description": "How input data should be interpreted."
          },
          "includeValuesInResponse": {
            "type": "boolean",
            "description": "Whether to include written values in the response."
          },
          "responseValueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "responseDateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "range",
          "values",
          "valueInputOption"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Updated A1 range."
          },
          "updatedRows": {
            "type": "integer",
            "description": "Number of updated rows."
          },
          "updatedColumns": {
            "type": "integer",
            "description": "Number of updated columns."
          },
          "updatedCells": {
            "type": "integer",
            "description": "Number of updated cells."
          },
          "updatedData": {
            "type": "object",
            "properties": {
              "range": {
                "type": "string",
                "description": "A1 notation range returned by Google."
              },
              "majorDimension": {
                "type": "string",
                "description": "Major dimension returned by Google."
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Google Sheets cell value."
                  }
                },
                "description": "Cell values."
              }
            },
            "additionalProperties": false,
            "required": [
              "range",
              "majorDimension",
              "values"
            ],
            "description": "Google Sheets ValueRange."
          },
          "tableRange": {
            "type": "string",
            "description": "Table range before append."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "tableRange",
          "updatedRange",
          "updatedRows",
          "updatedColumns",
          "updatedCells"
        ],
        "description": "Append values result."
      }
    },
    {
      "id": "googlesheets.spreadsheets_values_batch_clear",
      "service": "googlesheets",
      "name": "spreadsheets_values_batch_clear",
      "description": "Clear multiple spreadsheet value ranges through values.batchClear and return cleared ranges only.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "ranges": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "ranges"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "clearedRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Cleared A1 ranges."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "clearedRanges"
        ],
        "description": "Clear ranges result."
      }
    },
    {
      "id": "googlesheets.spreadsheets_values_batch_get_by_data_filter",
      "service": "googlesheets",
      "name": "spreadsheets_values_batch_get_by_data_filter",
      "description": "Read spreadsheet values through values:batchGetByDataFilter and return matched value ranges with their filters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "dataFilters": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "majorDimension": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ROWS",
              "COLUMNS"
            ],
            "description": "Major dimension for value ranges."
          },
          "valueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "dateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "dataFilters"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "valueRanges": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "valueRanges"
        ],
        "description": "Batch get by data filter result."
      }
    },
    {
      "id": "googlesheets.update_dimension_properties",
      "service": "googlesheets",
      "name": "update_dimension_properties",
      "description": "Update row or column properties through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "dimension": {
            "type": "string",
            "enum": [
              "ROWS",
              "COLUMNS"
            ],
            "description": "Spreadsheet dimension."
          },
          "startIndex": {
            "type": "integer",
            "minimum": 0
          },
          "endIndex": {
            "type": "integer",
            "minimum": 1
          },
          "pixelSize": {
            "type": "integer",
            "minimum": 0,
            "description": "Pixel size."
          },
          "hiddenByUser": {
            "type": "boolean",
            "description": "Whether the dimension is hidden by the user."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "dimension",
          "startIndex",
          "endIndex"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.update_sheet_properties",
      "service": "googlesheets",
      "name": "update_sheet_properties",
      "description": "Update a sheet's properties through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "updateSheetProperties": {
            "type": "object",
            "properties": {
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "fields": {
                "type": "string",
                "minLength": 1,
                "description": "Field mask."
              }
            },
            "additionalProperties": false,
            "description": "Google updateSheetProperties request payload."
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "Field mask for shorthand properties."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.update_spreadsheet_properties",
      "service": "googlesheets",
      "name": "update_spreadsheet_properties",
      "description": "Update spreadsheet-level properties through spreadsheets.batchUpdate and return stable batch replies.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "properties": {
            "type": "object",
            "additionalProperties": true,
            "description": "Google Sheets API object."
          },
          "fields": {
            "type": "string",
            "minLength": 1,
            "description": "Field mask."
          },
          "includeSpreadsheetInResponse": {
            "type": "boolean",
            "description": "Whether to include the updated spreadsheet in the response."
          },
          "responseRanges": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ranges to include in the response spreadsheet."
          },
          "responseIncludeGridData": {
            "type": "boolean",
            "description": "Whether response spreadsheet data should include grid data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "properties",
          "fields"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "replies": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Google Sheets API objects."
          },
          "updatedSpreadsheet": {
            "type": "object",
            "properties": {
              "spreadsheetId": {
                "type": "string",
                "description": "Spreadsheet ID."
              },
              "spreadsheetUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "String value, or null when Google did not return it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": true,
                "description": "Google Sheets API object."
              },
              "sheets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "properties": {
                      "type": "object",
                      "properties": {
                        "sheetId": {
                          "type": "integer",
                          "description": "Numeric sheet ID."
                        },
                        "title": {
                          "type": "string",
                          "description": "Sheet title."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Zero-based sheet index."
                        },
                        "sheetType": {
                          "type": "string",
                          "description": "Sheet type."
                        },
                        "hidden": {
                          "type": "boolean",
                          "description": "Whether the sheet is hidden."
                        },
                        "gridProperties": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "Google Sheets API object."
                        }
                      },
                      "additionalProperties": true,
                      "description": "Normalized sheet properties."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    },
                    "conditionalFormats": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Google Sheets API object."
                      },
                      "description": "Google Sheets API objects."
                    }
                  },
                  "additionalProperties": true,
                  "description": "Normalized sheet."
                },
                "description": "Sheets in the spreadsheet."
              },
              "namedRanges": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              },
              "developerMetadata": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Google Sheets API object."
                },
                "description": "Google Sheets API objects."
              }
            },
            "additionalProperties": true,
            "required": [
              "spreadsheetId",
              "spreadsheetUrl",
              "properties",
              "sheets",
              "namedRanges",
              "developerMetadata"
            ],
            "description": "Normalized spreadsheet metadata."
          },
          "sheetId": {
            "type": "integer",
            "description": "Numeric sheet ID."
          },
          "chartId": {
            "type": "integer",
            "description": "Affected chart ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Affected A1 range."
          }
        },
        "additionalProperties": true,
        "required": [
          "spreadsheetId"
        ],
        "description": "spreadsheets.batchUpdate result."
      }
    },
    {
      "id": "googlesheets.update_values_batch",
      "service": "googlesheets",
      "name": "update_values_batch",
      "description": "Write multiple spreadsheet value ranges through values.batchUpdate and return stable aggregate counters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "range": {
                  "type": "string",
                  "minLength": 1,
                  "description": "A1 notation range."
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "description": "Google Sheets cell value."
                    }
                  },
                  "description": "Two-dimensional cell value matrix.",
                  "minItems": 1
                },
                "majorDimension": {
                  "type": "string",
                  "enum": [
                    "DIMENSION_UNSPECIFIED",
                    "ROWS",
                    "COLUMNS"
                  ],
                  "description": "Major dimension for value ranges."
                }
              },
              "additionalProperties": false,
              "required": [
                "range",
                "values"
              ],
              "description": "Batch values update item."
            },
            "description": "Ranges to update.",
            "minItems": 1
          },
          "valueInputOption": {
            "type": "string",
            "enum": [
              "INPUT_VALUE_OPTION_UNSPECIFIED",
              "RAW",
              "USER_ENTERED"
            ],
            "description": "How input data should be interpreted."
          },
          "includeValuesInResponse": {
            "type": "boolean",
            "description": "Whether to include written values in the response."
          },
          "responseValueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "responseDateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "data",
          "valueInputOption"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "totalUpdatedRows": {
            "type": "integer",
            "description": "Total updated rows."
          },
          "totalUpdatedColumns": {
            "type": "integer",
            "description": "Total updated columns."
          },
          "totalUpdatedCells": {
            "type": "integer",
            "description": "Total updated cells."
          },
          "responses": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Google Sheets API object."
            },
            "description": "Per-range update responses."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "totalUpdatedRows",
          "totalUpdatedColumns",
          "totalUpdatedCells",
          "responses"
        ],
        "description": "Batch values update result."
      }
    },
    {
      "id": "googlesheets.upsert_rows",
      "service": "googlesheets",
      "name": "upsert_rows",
      "description": "Upsert rows by key while preserving uncovered columns, adding missing headers when needed, and returning stable counters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Google Sheets cell value."
              }
            },
            "description": "Two-dimensional cell value matrix.",
            "minItems": 1
          },
          "headers": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "String values."
          },
          "keyColumn": {
            "type": "string",
            "minLength": 1,
            "description": "Header name used as the row key."
          },
          "keyColumnIndex": {
            "type": "integer",
            "minimum": 0,
            "description": "Zero-based key column index."
          },
          "tableStart": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "strictMode": {
            "type": "boolean",
            "description": "Reject row widths that exceed headers."
          },
          "normalizationMessage": {
            "type": "string",
            "description": "Optional normalization note."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetName",
          "rows"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "sheetName": {
            "type": "string",
            "minLength": 1,
            "description": "Sheet title."
          },
          "rowsUpdated": {
            "type": "integer",
            "description": "Existing rows updated."
          },
          "rowsInserted": {
            "type": "integer",
            "description": "New rows inserted."
          },
          "columnsAdded": {
            "type": "integer",
            "description": "New columns added."
          },
          "totalRowsProcessed": {
            "type": "integer",
            "description": "Input rows processed."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "sheetName",
          "rowsUpdated",
          "rowsInserted",
          "columnsAdded",
          "totalRowsProcessed"
        ],
        "description": "Upsert rows result."
      }
    },
    {
      "id": "googlesheets.values_get",
      "service": "googlesheets",
      "name": "values_get",
      "description": "Read a single spreadsheet value range and return a stable ValueRange without a wrapper envelope.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets.readonly",
        "https://www.googleapis.com/auth/drive.readonly"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "majorDimension": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ROWS",
              "COLUMNS"
            ],
            "description": "Major dimension for value ranges."
          },
          "valueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "dateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "range"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "range": {
            "type": "string",
            "description": "A1 notation range returned by Google."
          },
          "majorDimension": {
            "type": "string",
            "description": "Major dimension returned by Google."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Google Sheets cell value."
              }
            },
            "description": "Cell values."
          }
        },
        "additionalProperties": false,
        "required": [
          "range",
          "majorDimension",
          "values"
        ],
        "description": "Google Sheets ValueRange."
      }
    },
    {
      "id": "googlesheets.values_update",
      "service": "googlesheets",
      "name": "values_update",
      "description": "Write a single spreadsheet value range through values.update and return stable update counters.",
      "requiredScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/drive"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "minLength": 1,
            "description": "Google Sheets spreadsheet ID or spreadsheet URL."
          },
          "range": {
            "type": "string",
            "minLength": 1,
            "description": "A1 notation range."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Google Sheets cell value."
              }
            },
            "description": "Two-dimensional cell value matrix.",
            "minItems": 1
          },
          "majorDimension": {
            "type": "string",
            "enum": [
              "DIMENSION_UNSPECIFIED",
              "ROWS",
              "COLUMNS"
            ],
            "description": "Major dimension for value ranges."
          },
          "valueInputOption": {
            "type": "string",
            "enum": [
              "INPUT_VALUE_OPTION_UNSPECIFIED",
              "RAW",
              "USER_ENTERED"
            ],
            "description": "How input data should be interpreted."
          },
          "includeValuesInResponse": {
            "type": "boolean",
            "description": "Whether to include written values in the response."
          },
          "responseValueRenderOption": {
            "type": "string",
            "enum": [
              "FORMATTED_VALUE",
              "UNFORMATTED_VALUE",
              "FORMULA"
            ],
            "description": "How values should be rendered."
          },
          "responseDateTimeRenderOption": {
            "type": "string",
            "enum": [
              "SERIAL_NUMBER",
              "FORMATTED_STRING"
            ],
            "description": "How dates and times should be rendered."
          },
          "autoExpandSheet": {
            "type": "boolean",
            "description": "Whether to auto-expand the sheet to fit the data."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "range",
          "values",
          "valueInputOption"
        ],
        "description": "The input payload for this action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "spreadsheetId": {
            "type": "string",
            "description": "Spreadsheet ID."
          },
          "updatedRange": {
            "type": "string",
            "description": "Updated A1 range."
          },
          "updatedRows": {
            "type": "integer",
            "description": "Number of updated rows."
          },
          "updatedColumns": {
            "type": "integer",
            "description": "Number of updated columns."
          },
          "updatedCells": {
            "type": "integer",
            "description": "Number of updated cells."
          },
          "updatedData": {
            "type": "object",
            "properties": {
              "range": {
                "type": "string",
                "description": "A1 notation range returned by Google."
              },
              "majorDimension": {
                "type": "string",
                "description": "Major dimension returned by Google."
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      },
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Google Sheets cell value."
                  }
                },
                "description": "Cell values."
              }
            },
            "additionalProperties": false,
            "required": [
              "range",
              "majorDimension",
              "values"
            ],
            "description": "Google Sheets ValueRange."
          }
        },
        "additionalProperties": false,
        "required": [
          "spreadsheetId",
          "updatedRange",
          "updatedRows",
          "updatedColumns",
          "updatedCells"
        ],
        "description": "Values update result."
      }
    }
  ]
}
