Google Sheets
Connect to Google Sheets. Create, edit, and analyze spreadsheets with powerful data management capabilities
Connect to Google Sheets. Create, edit, and analyze spreadsheets with powerful data management capabilities
Supports authentication: OAuth 2.0
Configure redirect URL
Section titled “Configure redirect URL”-
Open the Scalekit dashboard
Section titled “Open the Scalekit dashboard”In Scalekit dashboard, go to Agent Auth → Create Connection.
-
Create a Google Sheets connection
Section titled “Create a Google Sheets connection”Find Google Sheets from the list of providers and click Create.
-
Copy the redirect URI
Section titled “Copy the redirect URI”Click Use your own credentials and copy the redirect URI — it will look like
https://{your-env-url}/sso/v1/oauth/{connection_id}/callback.
-
Open Google Cloud Console
Section titled “Open Google Cloud Console”Navigate to Google Cloud Console’s APIs & Services > Credentials
-
Create an OAuth client ID
Section titled “Create an OAuth client ID”Select + Create Credentials, then OAuth client ID
-
Select web application type
Section titled “Select web application type”Choose Web application from the Application type menu

-
Add the redirect URI
Section titled “Add the redirect URI”Under Authorized redirect URIs, click + Add URI, paste the redirect URI, and select Create.

Google provides your Client ID and Client Secret credentials.
Enable Google Sheets API
Section titled “Enable Google Sheets API”-
Open the API Library
Section titled “Open the API Library”In Google Cloud Console, go to APIs & Services > Library
-
Search for the Google Sheets API
Section titled “Search for the Google Sheets API”Search for “Google Sheets” in the API Library
-
Select the Google Sheets API
Section titled “Select the Google Sheets API”Select Google Sheets API
-
Enable the API
Section titled “Enable the API”Press the blue Enable button
Add credentials
Section titled “Add credentials”-
Open your connection settings
Section titled “Open your connection settings”In Scalekit dashboard, go to Agent Auth → Connections and open the connection you created.
-
Enter your credentials
Section titled “Enter your credentials”Enter your credentials:
- Client ID (from above)
- Client Secret (from above)
- Permissions (scopes — see Google API Scopes reference)

-
Save the connection
Section titled “Save the connection”Click Save
Connect a user’s Google Sheets account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.
import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "google_sheets" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Authenticate the userlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)# present this link to your user for authorization, or click it yourself for testingprint("đź”— Authorize Google Sheets:", link_response.link)input("Press Enter after authorizing...")
# Make a request via Scalekit proxyresult = actions.request( connection_name=connection_name, identifier=identifier, path="/v4/spreadsheets", method="GET")print(result)googlesheets_create_spreadsheet
Section titled “googlesheets_create_spreadsheet”Create a new Google Sheets spreadsheet with an optional title and initial sheet configuration. Returns the new spreadsheet ID and metadata.
| Name | Type | Required | Description |
|---|---|---|---|
locale | string | No | Locale of the spreadsheet |
schema_version | string | No | Optional schema version to use for tool execution |
sheets | array<object> | No | Initial sheets to include in the spreadsheet |
time_zone | string | No | Time zone for the spreadsheet |
title | string | No | Title of the new spreadsheet |
tool_version | string | No | Optional tool version to use for execution |
googlesheets_get_values
Section titled “googlesheets_get_values”Returns only the cell values from a specific range in a Google Sheet — no metadata, no formatting, just the data. For full spreadsheet metadata and formatting, use googlesheets_read_spreadsheet instead.
| Name | Type | Required | Description |
|---|---|---|---|
major_dimension | string | No | Whether values are returned by rows or columns |
range | string | Yes | Cell range to read in A1 notation |
schema_version | string | No | Optional schema version to use for tool execution |
spreadsheet_id | string | Yes | The ID of the Google Sheet |
tool_version | string | No | Optional tool version to use for execution |
value_render_option | string | No | How values should be rendered in the response |
googlesheets_read_spreadsheet
Section titled “googlesheets_read_spreadsheet”Returns everything about a spreadsheet — including spreadsheet metadata, sheet properties, cell values, formatting, themes, and pixel sizes. If you only need cell values, use googlesheets_get_values instead.
| Name | Type | Required | Description |
|---|---|---|---|
include_grid_data | boolean | No | Include cell data in the response |
ranges | string | No | Cell range to read in A1 notation |
schema_version | string | No | Optional schema version to use for tool execution |
spreadsheet_id | string | Yes | The ID of the Google Sheet to read |
tool_version | string | No | Optional tool version to use for execution |
googlesheets_update_values
Section titled “googlesheets_update_values”Update cell values in a specific range of a Google Sheet. Supports writing single cells or multiple rows and columns at once.
| Name | Type | Required | Description |
|---|---|---|---|
include_values_in_response | boolean | No | Return the updated cell values in the response |
range | string | Yes | Cell range to update in A1 notation |
schema_version | string | No | Optional schema version to use for tool execution |
spreadsheet_id | string | Yes | The ID of the Google Sheet to update |
tool_version | string | No | Optional tool version to use for execution |
value_input_option | string | No | How input values should be interpreted |
values | array<array> | Yes | 2D array of values to write to the range |