Skip to Content
ResourcesIntegrationsProductivity & DocsGoogle Sheets

Google Sheets

Service domainSPREADSHEETS
Google Sheets icon
Arcade Optimized

Arcade.dev LLM tools for Google Sheets.

Author:Arcade
Version:6.0.0
Auth:User authorization via the Google auth provider
9tools
6require secrets

The Google Sheets toolkit lets LLM agents create, read, search, and edit Google Sheets spreadsheets through Arcade, using Google OAuth for delegated user access.

Capabilities

  • Spreadsheet discovery & metadata — search across a user's Drive for spreadsheets by title/content, retrieve full sheet metadata (names, positions, IDs, URLs, dimensions) without loading cell data.
  • Reading data — fetch cell ranges from any sheet within a spreadsheet, with flexible sheet targeting by name, ID, or position.
  • Writing & editing — create new spreadsheets with initial data, write a single cell value, bulk-update cell ranges with flexible data formats, and attach hover notes to individual cells.
  • File access recovery — generate a Google Drive inline file-picker URL so users can grant the app access to specific files when a prior operation fails due to missing permissions, then retry the original tool.
  • Identity & permissions inspection — retrieve the authenticated user's profile, email, and Google Sheets access permissions via WhoAmI.

OAuth

This toolkit uses Google OAuth 2.0 to act on behalf of the authenticated user. See the Arcade Google auth provider docs for scopes, setup, and configuration details.

Secrets

  • ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL — An API key that enables the GoogleSheets.GenerateGoogleFilePickerUrl tool to render Google's first-party Drive file picker. To obtain it, go to the Google Cloud Console APIs & Services → Credentials page for your project, click Create credentials → API key, and ensure the Google Picker API is enabled for your project under APIs & Services → Library. Restrict the key to the Picker API and to allowed HTTP referrers/origins as appropriate for your deployment. See Google Picker API documentation for full setup details.

Store secrets in Arcade via the Arcade secrets guide or directly at https://api.arcade.dev/dashboard/auth/secrets.

Available tools(9)

9 of 9 tools
Operations
Behavior
Tool nameDescriptionSecrets
Add a note to a specific cell in a spreadsheet. A note is a small piece of text attached to a cell (shown with a black triangle) that appears when you hover over the cell. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.
1
Create a new spreadsheet with the provided title and data in its first sheet Returns the newly created spreadsheet's id and title
Generate a URL where the user can grant this app access to specific Drive files. Opens Google's first-party Drive picker. The user selects which files to share with this application — it is not a sign-in or credential prompt. Use this when a prior tool reported that a file was not found or access was denied, and the user expects the file to exist. After the user completes the picker flow, retry the prior tool.
Gets the specified range of cells from a single sheet in the spreadsheet. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.
1
Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet. Use this tool to get the name, position, ID, and URL of all sheets in a spreadsheet as well as the number of rows and columns in each sheet. Does not return the content/data of the sheets in the spreadsheet - only the metadata. Excludes spreadsheets that are in the trash.
1
Searches for spreadsheets in the user's Google Drive based on the titles and content and returns the title, ID, and URL for each matching spreadsheet. Does not return the content/data of the sheets in the spreadsheets - only the metadata. Excludes spreadsheets that are in the trash.
1
Write values to a Google Sheet using a flexible data format. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.
1
Get comprehensive user profile and Google Sheets environment information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Google Sheets access permissions, and other important profile details from Google services.
Write a value to a single cell in a spreadsheet.
1

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

GoogleSheets.AddNoteToCell

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Spreadsheets
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Add a note to a specific cell in a spreadsheet. A note is a small piece of text attached to a cell (shown with a black triangle) that appears when you hover over the cell. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.

Parameters

ParameterTypeReq.Description
spreadsheet_idstringRequiredThe id of the spreadsheet to add a comment to
columnstringRequiredThe column string to add a note to. For example, 'A', 'F', or 'AZ'
rowintegerRequiredThe row number to add a note to
note_textstringRequiredThe text for the note to add
sheet_positionintegerOptionalThe position/tab of the sheet in the spreadsheet to write to. A value of 1 represents the first (leftmost/Sheet1) sheet. Defaults to 1.
sheet_id_or_namestringOptionalThe id or name of the sheet to write to. If provided, takes precedence over sheet_position.

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonThe status of the operation
#

GoogleSheets.CreateSpreadsheet

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Create
Service domains
Spreadsheets
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Create a new spreadsheet with the provided title and data in its first sheet Returns the newly created spreadsheet's id and title

Parameters

ParameterTypeReq.Description
titlestringOptionalThe title of the new spreadsheet
datastringOptionalThe data to write to the spreadsheet. A JSON string (property names enclosed in double quotes) representing a dictionary that maps row numbers to dictionaries that map column letters to cell values. For example, data[23]['C'] would be the value of the cell in row 23, column C. Type hint: dict[int, dict[str, Union[int, float, str, bool]]]

Requirements

No secrets required

Output

Type:jsonThe created spreadsheet's id and title
#

GoogleSheets.GenerateGoogleFilePickerUrl

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Spreadsheets
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Generate a URL where the user can grant this app access to specific Drive files. Opens Google's first-party Drive picker. The user selects which files to share with this application — it is not a sign-in or credential prompt. Use this when a prior tool reported that a file was not found or access was denied, and the user expects the file to exist. After the user completes the picker flow, retry the prior tool.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGoogle File Picker URL for user file selection and permission granting
#

GoogleSheets.GetSpreadsheet

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Spreadsheets
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Gets the specified range of cells from a single sheet in the spreadsheet. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.

Parameters

ParameterTypeReq.Description
spreadsheet_idstringRequiredThe id of the spreadsheet to get
sheet_positionintegerOptionalThe position/tab of the sheet in the spreadsheet to get. A value of 1 represents the first (leftmost/Sheet1) sheet . Defaults to 1.
sheet_id_or_namestringOptionalThe id or name of the sheet to get. Defaults to None, which means sheet_position will be used instead.
start_rowintegerOptionalStarting row number (1-indexed, defaults to 1)
start_colstringOptionalStarting column letter(s) or 1-based column number (defaults to 'A')
max_rowsintegerOptionalMaximum number of rows to fetch for each sheet in the spreadsheet. Must be between 1 and 1000. Defaults to 1000.
max_colsintegerOptionalMaximum number of columns to fetch for each sheet in the spreadsheet. Must be between 1 and 100. Defaults to 100.

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonThe spreadsheet properties and data for the specified sheet in the spreadsheet
#

GoogleSheets.GetSpreadsheetMetadata

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Spreadsheets
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Gets the metadata for a spreadsheet including the metadata for the sheets in the spreadsheet. Use this tool to get the name, position, ID, and URL of all sheets in a spreadsheet as well as the number of rows and columns in each sheet. Does not return the content/data of the sheets in the spreadsheet - only the metadata. Excludes spreadsheets that are in the trash.

Parameters

ParameterTypeReq.Description
spreadsheet_idstringRequiredThe id of the spreadsheet to get metadata for

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonThe spreadsheet metadata for the specified spreadsheet
#

GoogleSheets.SearchSpreadsheets

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Spreadsheets
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Searches for spreadsheets in the user's Google Drive based on the titles and content and returns the title, ID, and URL for each matching spreadsheet. Does not return the content/data of the sheets in the spreadsheets - only the metadata. Excludes spreadsheets that are in the trash.

Parameters

ParameterTypeReq.Description
spreadsheet_containsarray<string>OptionalKeywords or phrases that must be in the spreadsheet title. Provide a list of keywords or phrases if needed.
spreadsheet_not_containsarray<string>OptionalKeywords or phrases that must NOT be in the spreadsheet title. Provide a list of keywords or phrases if needed.
search_only_in_shared_drive_idstringOptionalThe ID of the shared drive to restrict the search to. If provided, the search will only return spreadsheets from this drive. Defaults to None, which searches across all drives.
include_shared_drivesbooleanOptionalWhether to include spreadsheets from shared drives. Defaults to False (searches only in the user's 'My Drive').
include_organization_domain_spreadsheetsbooleanOptionalWhether to include spreadsheets from the organization's domain. This is applicable to admin users who have permissions to view organization-wide spreadsheets in a Google Workspace account. Defaults to False.
order_byarray<string>OptionalSort order. Defaults to listing the most recently modified spreadsheets first. If spreadsheet_contains or spreadsheet_not_contains is provided, then the order_by will be ignored.
createdTimecreatedTime descfolderfolder descmodifiedByMeTimemodifiedByMeTime descmodifiedTimemodifiedTime descnamename descname_naturalname_natural descquotaBytesUsedquotaBytesUsed descrecencyrecency descsharedWithMeTimesharedWithMeTime descstarredstarred descviewedByMeTimeviewedByMeTime desc
limitintegerOptionalThe maximum number of spreadsheets to list. Defaults to 10. Max is 50
pagination_tokenstringOptionalThe pagination token to continue a previous request

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonA dictionary containing the title, ID, and URL for each matching spreadsheet. Also contains a pagination token if there are more spreadsheets to list.
#

GoogleSheets.UpdateCells

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Spreadsheets
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Write values to a Google Sheet using a flexible data format. sheet_id_or_name takes precedence over sheet_position. If a sheet is not mentioned, then always assume the default sheet_position is sufficient.

Parameters

ParameterTypeReq.Description
spreadsheet_idstringRequiredThe id of the spreadsheet to write to
datastringRequiredThe data to write. A JSON string (property names enclosed in double quotes) representing a dictionary that maps row numbers to dictionaries that map column letters to cell values. For example, data[23]['C'] is the value for cell C23. This is the same format accepted by create_spreadsheet. Type hint: dict[int, dict[str, int | float | str | bool]]
sheet_positionintegerOptionalThe position/tab of the sheet in the spreadsheet to write to. A value of 1 represents the first (leftmost/Sheet1) sheet. Defaults to 1.
sheet_id_or_namestringOptionalThe id or name of the sheet to write to. If provided, takes precedence over sheet_position.

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonThe status of the operation, including updated ranges and counts
#

GoogleSheets.WhoAmI

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
Service domains
Spreadsheets
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Get comprehensive user profile and Google Sheets environment information. This tool provides detailed information about the authenticated user including their name, email, profile picture, Google Sheets access permissions, and other important profile details from Google services.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and Google Sheets environment information.
#

GoogleSheets.WriteToCell

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
Service domains
Spreadsheets
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Write a value to a single cell in a spreadsheet.

Parameters

ParameterTypeReq.Description
spreadsheet_idstringRequiredThe id of the spreadsheet to write to
columnstringRequiredThe column string to write to. For example, 'A', 'F', or 'AZ'
rowintegerRequiredThe row number to write to
valuestringRequiredThe value to write to the cell
sheet_namestringOptionalThe name of the sheet to write to. Defaults to 'Sheet1'

Requirements

Secrets:ENABLE_GOOGLE_DRIVE_INLINE_PICKER_URL

Output

Type:jsonThe status of the operation
Last updated on