Skip to content
Talk to an Engineer Dashboard

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

Google Sheets logo

Supports authentication: OAuth 2.0

  1. In Scalekit dashboard, go to Agent Auth → Create Connection.

  2. Find Google Sheets from the list of providers and click Create.

  3. Click Use your own credentials and copy the redirect URI — it will look like https://{your-env-url}/sso/v1/oauth/{connection_id}/callback.

    Configure Google Sheets Connection with redirect URI
  4. Navigate to Google Cloud Console’s APIs & Services > Credentials

  5. Select + Create Credentials, then OAuth client ID

  6. Choose Web application from the Application type menu

    Selecting Web Application in Google OAuth
  7. Under Authorized redirect URIs, click + Add URI, paste the redirect URI, and select Create.

    Adding Google redirect URI for OAuth

Google provides your Client ID and Client Secret credentials.

  1. In Google Cloud Console, go to APIs & Services > Library

  2. Search for “Google Sheets” in the API Library

  3. Select Google Sheets API

  4. Press the blue Enable button

  1. In Scalekit dashboard, go to Agent Auth → Connections and open the connection you created.

  2. Enter your credentials:

    Add credentials
  3. 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, os
from dotenv import load_dotenv
load_dotenv()
connection_name = "google_sheets" # get your connection name from connection configurations
identifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
scalekit_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 user
link_response = actions.get_authorization_link(
connection_name=connection_name,
identifier=identifier
)
# present this link to your user for authorization, or click it yourself for testing
print("đź”— Authorize Google Sheets:", link_response.link)
input("Press Enter after authorizing...")
# Make a request via Scalekit proxy
result = actions.request(
connection_name=connection_name,
identifier=identifier,
path="/v4/spreadsheets",
method="GET"
)
print(result)

Create a new Google Sheets spreadsheet with an optional title and initial sheet configuration. Returns the new spreadsheet ID and metadata.

NameTypeRequiredDescription
localestringNoLocale of the spreadsheet
schema_versionstringNoOptional schema version to use for tool execution
sheetsarray<object>NoInitial sheets to include in the spreadsheet
time_zonestringNoTime zone for the spreadsheet
titlestringNoTitle of the new spreadsheet
tool_versionstringNoOptional tool version to use for execution

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.

NameTypeRequiredDescription
major_dimensionstringNoWhether values are returned by rows or columns
rangestringYesCell range to read in A1 notation
schema_versionstringNoOptional schema version to use for tool execution
spreadsheet_idstringYesThe ID of the Google Sheet
tool_versionstringNoOptional tool version to use for execution
value_render_optionstringNoHow values should be rendered in the response

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.

NameTypeRequiredDescription
include_grid_databooleanNoInclude cell data in the response
rangesstringNoCell range to read in A1 notation
schema_versionstringNoOptional schema version to use for tool execution
spreadsheet_idstringYesThe ID of the Google Sheet to read
tool_versionstringNoOptional tool version to use for execution

Update cell values in a specific range of a Google Sheet. Supports writing single cells or multiple rows and columns at once.

NameTypeRequiredDescription
include_values_in_responsebooleanNoReturn the updated cell values in the response
rangestringYesCell range to update in A1 notation
schema_versionstringNoOptional schema version to use for tool execution
spreadsheet_idstringYesThe ID of the Google Sheet to update
tool_versionstringNoOptional tool version to use for execution
value_input_optionstringNoHow input values should be interpreted
valuesarray<array>Yes2D array of values to write to the range