Skip to content

Google Sheets

Access and manage Google Sheets spreadsheets.

This source provides a single flexible api_google-sheets tool that accepts:

  • path: API endpoint (e.g., “/v4/spreadsheets/{spreadsheetId}”)
  • method: HTTP method (GET, POST, PUT)
  • params: Request body or query parameters
EndpointMethodDescription
/v4/spreadsheetsPOSTCreate a new spreadsheet
/v4/spreadsheets/{spreadsheetId}GETGet spreadsheet metadata
/v4/spreadsheets/{spreadsheetId}/values/{range}GETRead cell values
/v4/spreadsheets/{spreadsheetId}/values/{range}PUTWrite cell values
/v4/spreadsheets/{spreadsheetId}/values:batchGetGETRead multiple ranges
/v4/spreadsheets/{spreadsheetId}/values:batchUpdatePOSTWrite multiple ranges

Ranges use A1 notation:

  • Sheet1!A1:B10 - Cells A1 to B10 on Sheet1
  • Sheet1!A:A - Entire column A on Sheet1
  • Sheet1!1:1 - Entire row 1 on Sheet1
  • 'Sheet Name'!A1:B10 - Use quotes for sheets with spaces

PUT /v4/spreadsheets/{id}/values/{range}

Query parameters:

  • valueInputOption: RAW, USER_ENTERED (applies formatting/formulas)
{
"values": [
["Row1Col1", "Row1Col2"],
["Row2Col1", "Row2Col2"]
]
}
  • Value input: Use valueInputOption=USER_ENTERED for formulas and dates.
  • Batch operations: Use batch endpoints for efficiency with multiple ranges.
  • Sheet names: Quote sheet names with spaces in A1 notation.

Required config.json:

{
"name": "Google Sheets",
"slug": "google-sheets",
"enabled": true,
"provider": "google",
"type": "api",
"api": {
"baseUrl": "https://sheets.googleapis.com/v4/",
"authType": "bearer",
"googleService": "sheets",
"googleOAuthClientId": "your-client-id.apps.googleusercontent.com",
"googleOAuthClientSecret": "your-client-secret"
},
"iconUrl": "https://sheets.google.com"
}

See Google OAuth Setup for instructions on creating OAuth credentials, then use source_google_oauth_trigger to start the OAuth flow.

  • 300 read requests per minute per user
  • 60 write requests per minute per user