Skip to main content

Google Sheets

Read, write, and append data in Google Sheets via the Google Sheets API. Ideal for data analyst agents, reporting, and lightweight database use cases.
Requires the googleapis peer dependency and Google OAuth2 credentials.

Quick Start

import { Agent, openai, GoogleSheetsToolkit } from "@radaros/core";

const sheets = new GoogleSheetsToolkit({
  credentialsPath: "./credentials.json",
  tokenPath: "./token.json",
  spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
});

const agent = new Agent({
  name: "data-agent",
  model: openai("gpt-4o"),
  instructions: "Read and update data in Google Sheets.",
  tools: [...sheets.getTools()],
});

const result = await agent.run("Read the data in Sheet1 from A1 to D10.");

Config

credentialsPath
string
Path to Google OAuth2 credentials JSON file. Falls back to GOOGLE_SHEETS_CREDENTIALS_PATH env var.
tokenPath
string
Path to stored OAuth2 token. Falls back to GOOGLE_SHEETS_TOKEN_PATH env var.
spreadsheetId
string
Default spreadsheet ID (from the URL). Falls back to GOOGLE_SHEETS_SPREADSHEET_ID env var. Can be overridden per-call.

Tools

ToolDescription
sheets_read_rangeRead data from a range in A1 notation (e.g. Sheet1!A1:D10).
sheets_write_rangeWrite a 2D array of values to a range (overwrites existing data).
sheets_append_rowAppend a single row to the end of a sheet.
sheets_list_sheetsList all sheets (tabs) in a spreadsheet with row/column counts.

Peer Dependency

npm install googleapis

Environment Variables

VariableDescription
GOOGLE_SHEETS_CREDENTIALS_PATHPath to OAuth2 credentials JSON
GOOGLE_SHEETS_TOKEN_PATHPath to stored OAuth2 token
GOOGLE_SHEETS_SPREADSHEET_IDDefault spreadsheet ID