Connect Google Sheets to Your AI Agent

Give your AI assistant a spreadsheet link and a cell range to summarize data or write the changes you specify.

40 tools OAuth

Try a Google Sheets Task

Copy a prompt into your agent with the oo Skill installed. Add your page links and source notes before running it.

oo Skill Google Sheets

Summarize a Data Range

Read selected rows and identify trends, missing values, or unusual entries.

/oo Google Sheets: Read Sales!A1:F100 in [Google Sheets spreadsheet link]. Summarize sales by region using the column headers, flag missing values, and leave the sheet unchanged.

Append New Rows

Add supplied rows below an existing table in the column order you choose.

/oo Google Sheets: Append these rows [row values in column order] to the table in Orders!A:D in [spreadsheet link]. Treat all values as literal text or numbers, and keep the existing rows.

Update Specific Cells

Write new values into an exact range without expanding the task to other cells.

/oo Google Sheets: In [spreadsheet link], set Tasks!D2:D4 to these three status values: [status 1], [status 2], [status 3]. Write literal values and leave all other cells unchanged.

Compare Two Data Ranges

Read selected ranges together to explain differences.

/oo Google Sheets: Compare Actual!A1:D50 and Budget!A1:D50 in [spreadsheet link]. Match rows by the project column and explain the largest differences.

Start Working with Google Sheets

  1. Install OOMOL

    Set up oo CLI and the oo Skill in your agent.

    Install OOMOL →
  2. Connect Google Sheets

    Authorize your Google account to connect Google Sheets.

    Connect Google Sheets →
  3. Give Your Agent a Task

    Use /oo with the pages to read, the changes to make, and where to save the result.

    Connection Guide →

Choose Your Agent

  • A Google account with access to the target spreadsheet; editing requires write access.
  • Provide the spreadsheet link or ID, worksheet name, and range, such as Sales!A1:F100. For writes, specify the values and whether to append rows or replace existing cells.

Google Sheets Tools

Google Sheets organizes data in worksheets and cell ranges. Connect your Google account to read values, maintain tables, and adjust sheet structure.

Read and Analyze Ranges

Read one or several ranges and calculate numeric column summaries.

Write and Maintain Rows

Append rows, update cell ranges, or match rows by a key when maintaining a table.

Organize Worksheets

Inspect worksheet names, add sheets, and format selected cells.

40 tools

Add Sheet

Add a new sheet through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.add_sheet

Aggregate Column Data

Aggregate numeric values from a target column, optionally filtered by another column, with stable counters.

googlesheets.aggregate_column_data

Append Dimension

Append rows or columns through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.append_dimension

Auto Resize Dimensions

Auto-resize rows or columns through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.auto_resize_dimensions

Batch Clear Values By Data Filter

Clear spreadsheet values through values.batchClearByDataFilter and return the cleared ranges.

googlesheets.batch_clear_values_by_data_filter

Batch Get

Read multiple spreadsheet ranges through values:batchGet and return stable valueRanges output.

googlesheets.batch_get

Batch Update Values By Data Filter

Write spreadsheet values through values.batchUpdateByDataFilter and return stable aggregate counters.

googlesheets.batch_update_values_by_data_filter

Clear Basic Filter

Clear a basic filter through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.clear_basic_filter

Clear Values

Clear a single spreadsheet value range through values.clear and return the cleared A1 range.

googlesheets.clear_values

Create Chart

Create a chart through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.create_chart

Create Google Sheet1

Create a Google Sheets spreadsheet and return stable spreadsheet metadata for the new file.

googlesheets.create_google_sheet1

Create Spreadsheet Column

Insert an empty column into a sheet through spreadsheets.batchUpdate with stable top-level fields.

googlesheets.create_spreadsheet_column

Create Spreadsheet Row

Insert an empty row into a sheet through spreadsheets.batchUpdate with stable top-level fields.

googlesheets.create_spreadsheet_row

Delete Dimension

Delete rows or columns through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.delete_dimension

Delete Sheet

Delete a sheet through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.delete_sheet

Find Replace

Run find and replace through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.find_replace

Format Cell

Format cells through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.format_cell

Get Conditional Format Rules

Read spreadsheet conditional formatting rules and project them into a stable per-sheet structure.

googlesheets.get_conditional_format_rules

Get Data Validation Rules

Read spreadsheet data validation rules from the minimum necessary sheet ranges and return flattened rule entries.

googlesheets.get_data_validation_rules

Get Sheet Names

List visible or all sheet names from a spreadsheet and include a stable name-to-sheetId map.

googlesheets.get_sheet_names

Get Spreadsheet By Data Filter

Read spreadsheet metadata through spreadsheets.getByDataFilter and return the normalized spreadsheet payload.

googlesheets.get_spreadsheet_by_data_filter

Get Spreadsheet Info

Read spreadsheet metadata through spreadsheets.get with optional ranges and grid data flags.

googlesheets.get_spreadsheet_info

Insert Dimension

Insert rows or columns through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.insert_dimension

Lookup Spreadsheet Row

Find the first row where a cell exactly matches the query and return a stable found/rowData payload.

googlesheets.lookup_spreadsheet_row

Mutate Conditional Format Rules

Mutate conditional format rules through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.mutate_conditional_format_rules

Search Developer Metadata

Search spreadsheet developer metadata via developerMetadata:search and return matched entries only.

googlesheets.search_developer_metadata

Search Spreadsheets

Search Google Sheets files in Drive with spreadsheet-only filters and normalized summary output.

googlesheets.search_spreadsheets

Set Basic Filter

Set a basic filter through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.set_basic_filter

Set Data Validation Rule

Set or clear data validation through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.set_data_validation_rule

Spreadsheets Sheets Copy To

Copy a sheet to another spreadsheet through sheets.copyTo and return a stable copiedSheet payload.

googlesheets.spreadsheets_sheets_copy_to

Spreadsheets Values Append

Append values through values.append and flatten the nested updates payload into stable top-level fields.

googlesheets.spreadsheets_values_append

Spreadsheets Values Batch Clear

Clear multiple spreadsheet value ranges through values.batchClear and return cleared ranges only.

googlesheets.spreadsheets_values_batch_clear

Spreadsheets Values Batch Get By Data Filter

Read spreadsheet values through values:batchGetByDataFilter and return matched value ranges with their filters.

googlesheets.spreadsheets_values_batch_get_by_data_filter

Update Dimension Properties

Update row or column properties through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.update_dimension_properties

Update Sheet Properties

Update a sheet's properties through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.update_sheet_properties

Update Spreadsheet Properties

Update spreadsheet-level properties through spreadsheets.batchUpdate and return stable batch replies.

googlesheets.update_spreadsheet_properties

Update Values Batch

Write multiple spreadsheet value ranges through values.batchUpdate and return stable aggregate counters.

googlesheets.update_values_batch

Upsert Rows

Upsert rows by key while preserving uncovered columns, adding missing headers when needed, and returning stable counters.

googlesheets.upsert_rows

Values Get

Read a single spreadsheet value range and return a stable ValueRange without a wrapper envelope.

googlesheets.values_get

Values Update

Write a single spreadsheet value range through values.update and return stable update counters.

googlesheets.values_update

Work Across Apps

Share a Sales Summary in Slack

Read a sales range and send a focused recap to the team.

Share a Sales Summary in Feishu

Give the team regional sales totals and missing-data notes from a selected spreadsheet range.

Frequently Asked Questions

What should I provide for a spreadsheet task?

Provide the spreadsheet link or ID and a range that includes the worksheet name, such as Sales!A1:F100. Explain what each relevant column means and the result you want.

Can I add rows without replacing existing data?

Yes. Ask to append rows to a specified table and supply values in the intended column order. Updating an existing range is a separate operation that replaces values in that range.

Can I write formulas as well as plain values?

Yes. State whether entries should be stored literally or interpreted by Google Sheets as entered values, which can include formulas. This choice also affects how dates and numbers are interpreted.

Why can AI read a spreadsheet but not edit it?

Reading and editing require different permissions. Check that your connected account can edit the spreadsheet and that the connection has permission to write.

Connect Google Sheets

About Google Sheets ↗