For Agents
Read and write cell data in Google Sheets, create spreadsheets, perform batch value updates, and copy sheets between workbooks. Supports scoped OAuth 2.0 access for granular permission control.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Google Sheets API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Google Sheets API.
Append rows of data to the next available row in a sheet range
Batch-read values from multiple named ranges in a single request
Batch-update cell values across multiple ranges atomically
GET STARTED
Use for: I need to read data from a Google Sheets spreadsheet, I want to append new rows to an existing sheet, Retrieve values from multiple ranges in one API call, Update specific cells in a spreadsheet with new values
Not supported: Does not handle file permissions, sharing, folder management, or document editing — use for spreadsheet cell data and formatting operations only.
Read, write, and format data in Google Sheets spreadsheets programmatically. Supports creating spreadsheets, appending and updating cell values across ranges, batch operations for bulk reads and writes, developer metadata for custom annotations, and sheet-level management including copying between workbooks. Handles 17 endpoints covering single-cell to multi-range operations with OAuth 2.0 scoped access.
Copy a sheet tab from one spreadsheet to another workbook
Apply formatting, conditional rules, and structural changes via batch update requests
Search and retrieve developer metadata annotations by data filter
Clear cell values from specified ranges without deleting the sheet structure
Patterns agents use Google Sheets API for, with concrete tasks.
★ AI Agent Data Pipeline Integration
AI agents use the Google Sheets API through Jentic to read input data, write processing results, and maintain audit logs in shared spreadsheets. Agents search for the append or batch-update operation by intent, receive the schema, and execute writes directly — no manual OAuth flow setup or SDK installation required. Typical agent workflows include reading task queues from sheets, writing enriched data back, and maintaining status columns across team-shared workbooks.
Append a new row with columns [timestamp, status, result] to the 'TaskLog' sheet in spreadsheet ID abc123 using the values:append endpoint
Bulk Data Import and Export
Import large datasets into Google Sheets or export sheet data for downstream processing using the batch values endpoints. The batchUpdate endpoint accepts multiple ranges in a single request, reducing API calls and staying within rate limits. Supports ValueInputOption for controlling whether data is parsed as user-entered formulas or raw values. Handles up to thousands of cells per batch request with configurable date and time rendering formats.
Batch-update three ranges A1:C10, E1:E10, and G1:H10 in spreadsheet xyz789 with RAW ValueInputOption using the values:batchUpdate endpoint
Spreadsheet Templating and Provisioning
Create new spreadsheets from templates by calling the create endpoint with predefined sheet properties, then copy template tabs from a master workbook using the sheets:copyTo endpoint. Useful for onboarding workflows, monthly report generation, and customer-specific workbook provisioning. The created spreadsheet returns its ID and URL for immediate sharing or further modification.
Create a new spreadsheet titled 'Q2 Report' with two sheets named 'Summary' and 'Data', then copy the 'Template' sheet from spreadsheet tmpl456 into the new workbook
Real-Time Dashboard Data Updates
Feed live metrics into Google Sheets that serve as lightweight dashboards or reporting surfaces shared across teams. The values:update endpoint writes to specific ranges on demand, while batchGet retrieves current values for comparison or delta calculations. Teams use this pattern for KPI trackers, inventory levels, sales pipelines, and operational metrics that update every few minutes from external data sources.
Read the current values from range 'Metrics!A1:D5', compare with new data, and update only changed cells using the values:update endpoint with USER_ENTERED ValueInputOption
Developer Metadata and Annotations
Attach custom key-value metadata to spreadsheets, sheets, rows, or columns using the developer metadata endpoints. This enables programmatic tagging of data ranges for later retrieval by data filters — useful for tracking which system wrote which data, versioning row groups, or marking ranges for scheduled processing. The metadata is invisible to end users viewing the sheet but fully queryable via the API.
Search for all developer metadata entries with key 'sync_source' in spreadsheet abc123 using the developerMetadata:search endpoint and return matching metadata IDs
17 endpoints — read, write, and format data in google sheets spreadsheets programmatically.
METHOD
PATH
DESCRIPTION
/v4/spreadsheets
Create a new spreadsheet
/v4/spreadsheets/{spreadsheetId}
Retrieve spreadsheet metadata and optional grid data
/v4/spreadsheets/{spreadsheetId}/values/{range}
Read cell values from a specified range
/v4/spreadsheets/{spreadsheetId}/values/{range}
Write cell values to a specified range
/v4/spreadsheets/{spreadsheetId}/values/{range}:append
Append rows to the next available row in a range
/v4/spreadsheets/{spreadsheetId}/values:batchUpdate
Batch-update values across multiple ranges
/v4/spreadsheets/{spreadsheetId}/values:batchGet
Batch-read values from multiple ranges
/v4/spreadsheets/{spreadsheetId}:batchUpdate
Apply formatting, structural, and data changes atomically
/v4/spreadsheets
Create a new spreadsheet
/v4/spreadsheets/{spreadsheetId}
Retrieve spreadsheet metadata and optional grid data
/v4/spreadsheets/{spreadsheetId}/values/{range}
Read cell values from a specified range
/v4/spreadsheets/{spreadsheetId}/values/{range}
Write cell values to a specified range
/v4/spreadsheets/{spreadsheetId}/values/{range}:append
Append rows to the next available row in a range
Three things that make agents converge on Jentic-routed access.
Credential isolation
Google OAuth 2.0 tokens are stored encrypted in the Jentic vault (MAXsystem). Agents receive scoped access tokens for specific spreadsheets — raw client secrets and refresh tokens never enter the agent's context.
Intent-based discovery
Agents search by intent (e.g., 'append rows to a Google Sheet') and Jentic returns matching Sheets API operations with their full request schemas, so the agent can call the correct endpoint without navigating Google's documentation.
Time to first call
Direct Google Sheets integration: 1-3 days for OAuth consent screen setup, token refresh handling, and batch operation logic. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Google Sheets API through Jentic.
What authentication does the Google Sheets API use?
The Google Sheets API uses OAuth 2.0 with scoped access. It supports both implicit and authorization code flows through Google's OAuth endpoints at accounts.google.com. Required scopes include googleapis.com/auth/spreadsheets for full read-write access, googleapis.com/auth/drive.file for file-level access, and googleapis.com/auth/drive.readonly for read-only operations. Through Jentic, OAuth tokens are stored encrypted in the MAXsystem vault — agents receive scoped access without handling raw credentials.
Can I batch-read values from multiple ranges in a single API call?
Yes. The GET /v4/spreadsheets/{spreadsheetId}/values:batchGet endpoint accepts an array of range parameters and returns all requested values in one response. This reduces API calls and avoids per-request rate limit consumption. You specify ranges using A1 notation (e.g., Sheet1!A1:C10) and choose a rendering option for dates and formulas via the valueRenderOption parameter.
What are the rate limits for the Google Sheets API?
Google Sheets API enforces a quota of 300 read requests and 300 write requests per minute per project by default. Batch endpoints (batchGet, batchUpdate) count as single requests regardless of how many ranges they include, making them the preferred approach for high-volume operations. Per-user limits are 60 requests per minute. These quotas are configurable in the Google Cloud Console.
How do I append rows to a sheet through Jentic?
Search Jentic for 'append rows to google sheet' to find the values:append operation. The agent receives the schema for POST /v4/spreadsheets/{spreadsheetId}/values/{range}:append, which requires the spreadsheet ID, a target range (Jentic returns this in the schema), and a request body with the values array. Set insertDataOption to INSERT_ROWS and valueInputOption to USER_ENTERED or RAW. Execute the call and the API appends data after the last row with content in the specified range.
Can I format cells and apply conditional formatting through the API?
Yes. The POST /v4/spreadsheets/{spreadsheetId}:batchUpdate endpoint accepts an array of request objects that include formatting operations like RepeatCellRequest, UpdateCellsRequest, AddConditionalFormatRuleRequest, and UpdateBordersRequest. Each request targets specific ranges and applies formatting properties including number formats, text styles, background colors, and conditional rules. All formatting changes in a single batchUpdate call are applied atomically.
What is the difference between values:update and spreadsheets:batchUpdate?
The PUT /v4/spreadsheets/{spreadsheetId}/values/{range} endpoint (values:update) writes raw cell values to a specified range. The POST /v4/spreadsheets/{spreadsheetId}:batchUpdate endpoint applies structural and formatting changes — adding sheets, merging cells, setting data validation, applying conditional formatting, and resizing columns. Use values:update for data writes and batchUpdate for sheet structure and formatting modifications.
Is the Google Sheets API free to use?
The Google Sheets API is free within Google Cloud's standard quotas. There is no per-request charge. You need a Google Cloud project with the Sheets API enabled, and usage counts against your project's quota (300 read and 300 write requests per minute by default). Quota increases are available through the Google Cloud Console at no additional cost for most use cases.
/v4/spreadsheets/{spreadsheetId}/values:batchUpdate
Batch-update values across multiple ranges
/v4/spreadsheets/{spreadsheetId}/values:batchGet
Batch-read values from multiple ranges
/v4/spreadsheets/{spreadsheetId}:batchUpdate
Apply formatting, structural, and data changes atomically