Google Sheets logo

Integrate Google Sheets with your AI CRM

Google Sheets is a cloud-based spreadsheet tool enabling real-time collaboration, data analysis, and integration with other Google Workspace apps

Explore Triggers and Actions

Aggregate Metric Changed

Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.

TriggerpollTry it

Cell Range Values Changed

Triggers when values in a specified A1 range change in Google Sheets. This trigger monitors a specific cell or range of cells and fires when any values change.

TriggerpollTry it

Conditional Format Rule Changed

Triggers when conditional formatting rules change in a Google Spreadsheet. Detects when rules are added, updated, or removed. Uses snapshot-based diffing to detect changes between polls.

TriggerpollTry it

Data Validation Rule Changed

Triggers when data validation rules change (added/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerpollTry it

Developer Metadata Changed

Triggers when developer metadata entries change (new/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerpollTry it

Filtered Range Values Changed

Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.

TriggerpollTry it

New Rows in Google Sheet

Simple polling trigger that monitors Google Sheets for new rows. Detects when new rows are added and returns the complete row data. Perfect for triggering any workflow based on new sheet entries.

TriggerpollTry it

New Sheet Added in Google Spreadsheet

Polling trigger that detects when a new sheet is added to a Google Spreadsheet.

TriggerpollTry it

New Spreadsheet Created

Triggers when a new Google Spreadsheet is created. This trigger monitors Google Spreadsheets and fires when new spreadsheets are detected. Uses timestamp filtering to efficiently detect newly created spreadsheets.

TriggerpollTry it

Spreadsheet Metadata Changed

Polling trigger that detects when a Google Spreadsheet's metadata changes. Uses snapshot-based diffing to detect any changes in spreadsheet properties, sheets, named ranges, developer metadata, data sources, etc.

TriggerpollTry it

Spreadsheet Properties Changed

Polling trigger that detects when a Google Spreadsheet's top-level properties change. Monitors properties such as title, locale, timeZone, and autoRecalc settings.

TriggerpollTry it

Spreadsheet Row Changed

Triggers when a looked-up spreadsheet row changes. This trigger monitors a specific row (located by searching for a query value within a user-specified range) and fires when the row's values change, when the row appears, or when the row disappears.

TriggerpollTry it

Spreadsheet Search Match

Triggers when a new spreadsheet appears that matches a saved search. This trigger uses snapshot-based diffing to detect when spreadsheets matching the search criteria are newly created or become visible to the user.

TriggerpollTry it

Table Query Result Changed

Triggers when the result set of a saved table query changes in Google Sheets. Detects rows added, removed, or updated in the query output. This trigger monitors the result of a SQL query against a Google Sheets table and fires when changes are detected.

TriggerpollTry it

Table Schema Changed

Polling trigger that detects when a table's schema changes in Google Sheets. Monitors columns added/removed/renamed and inferred type/format changes. Uses snapshot-based diffing to compare schemas between polls.

TriggerpollTry it

Worksheet Names Changed

Triggers when the set of worksheet/tab names changes in a Google Spreadsheet. Detects when sheets are added, deleted, or renamed.

TriggerpollTry it

Add Sheet to Existing Spreadsheet

Add a GRID sheet with rows and columns to an existing spreadsheet. This action does not create chart-only or DATA_SOURCE sheets. Use properties to configure the GRID sheet's dimensions, tab color, position, visibility, and text direction. Notes: - Sheet names must be unique; use forceUnique=true to auto-append suffix (_2, _3) if name exists - For tab colors, use EITHER rgbColor OR themeColor, not both - Avoid 'index' when creating sheets in parallel (causes errors)

ActionTry it

Aggregate Column Data

Aggregates data from a column in a Google Sheet, either across all rows or rows matching column-value filters. Supports sum, average, count, minimum, maximum, and percentage.

ActionTry it

Append Dimension

Tool to append new rows or columns to a sheet, increasing its size. Use when you need to add empty rows or columns to an existing sheet.

ActionTry it

Append Values to Spreadsheet

Tool to append values to a spreadsheet. Use when you need to add new data to the end of an existing table in a Google Sheet.

ActionTry it

Auto-Resize Rows or Columns

Auto-fit column widths or row heights for a dimension range using batchUpdate.autoResizeDimensions. Use when you need to automatically adjust row heights or column widths to fit content after writing data.

ActionTry it

Batch Clear Spreadsheet Values

Tool to clear one or more ranges of values from a spreadsheet. Use when you need to remove data from specific cells or ranges while keeping formatting and other properties intact.

ActionTry it

Batch Clear Values By Data Filter

Clears one or more ranges of values from a spreadsheet using data filters. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept.

ActionTry it

Batch get spreadsheet

Retrieves values from specified cell ranges in a Google Spreadsheet. If ranges are omitted or empty after filtering blank entries, it retrieves data from the first sheet.

ActionTry it

Batch Get Spreadsheet Values (Deprecated)

DEPRECATED: Use GOOGLESHEETS_BATCH_GET instead. Tool to return one or more ranges of values from a spreadsheet. Use when you need to retrieve data from multiple ranges in a single request.

ActionTry it

Batch Get Spreadsheet Values by Data Filter

Retrieves one or more ranges of values from a Google Spreadsheet using data filters. Each filter specifies an A1 range or a grid range.

ActionTry it

Batch update spreadsheet (Deprecated)

Deprecated: Writes values to one range in a Google Sheet, or appends rows when no start cell is given. It may expand the sheet grid; if a recognized default sheet name is not found, it uses the first sheet instead.

ActionTry it

Batch update spreadsheet values

Tool to set values in one or more ranges of a spreadsheet. Use when you need to update multiple ranges in a single operation for better performance.

ActionTry it

Batch Update Values by Data Filter

Tool to update values in ranges matching data filters. Use when you need to update specific data in a Google Sheet based on criteria rather than fixed cell ranges.

ActionTry it

Clear Basic Filter

Tool to clear the basic filter from a sheet. Use when you need to remove an existing basic filter from a specific sheet within a Google Spreadsheet.

ActionTry it

Clear spreadsheet values

Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet; the range must correspond to an existing sheet and cells.

ActionTry it

Copy Sheet to Another Spreadsheet

Tool to copy a single sheet from a spreadsheet to another spreadsheet. Use when you need to duplicate a sheet into a different spreadsheet.

ActionTry it

Create a Google Sheet

Creates a new Google Spreadsheet in Drive with an optional title and folder ID or exact folder name. Multiple matching folders return choices before creation; if moving a created spreadsheet to the requested folder fails, the response reports partial success.

ActionTry it

Create Chart in Google Sheets

Create a chart in a Google Sheets spreadsheet using a specified data range and chart type, or an optional full chart specification. The chart type and data range are required even when supplying a chart specification.

ActionTry it

Create sheet from JSON

DEPRECATED: Creates a new Google Spreadsheet and populates its first worksheet from JSON rows; an empty list creates an empty worksheet. Headers use keys from the first row followed by additional keys found in later rows.

ActionTry it

Create spreadsheet column

Inserts a new column in a Google Spreadsheet at a specified index. Select the target sheet by numeric ID or name; if neither is provided, sheet ID 0 is used.

ActionTry it

Create spreadsheet row

Inserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above.

ActionTry it

Delete Chart from Google Sheets

Delete an existing chart from a Google Sheets spreadsheet. Use this action when you need to remove a chart that is no longer needed or needs to be replaced. This action is irreversible — once a chart is deleted, it cannot be recovered. The chart data source (the cells containing the data) remains unchanged; only the chart visualization is removed.

ActionTry it

Delete Dimension (Rows/Columns)

Tool to delete specified rows or columns from a sheet in a Google Spreadsheet. Use when you need to remove a range of rows or columns.

ActionTry it

Delete Sheet

Tool to delete a sheet (worksheet) from a spreadsheet. Use when you need to remove a specific sheet from a Google Sheet document.

ActionTry it

Execute SQL on Spreadsheet

Deprecated SQL facade for selecting, inserting, updating, and deleting data in automatically detected spreadsheet tables, including limited WITH queries; discovery reads at most 10,000 rows per sheet. For detected header-based tables, the first data row is skipped and update/delete row targeting can be offset.

ActionTry it

Export Drive Spreadsheet

Export an entire native spreadsheet as XLSX, ODS, PDF, ZIP, CSV, or TSV; use Export Sheet as PDF for print layout and range controls.

ActionTry it

Export Sheet as PDF

Render one sheet tab or rectangular range as PDF with orientation, gridline, margin, and fit-to-width controls.

ActionTry it

Find and Replace in Spreadsheet

Finds and replaces text across cells in a Google Spreadsheet, scoped to a sheet, range, or all sheets; if no scope is specified, it searches all sheets. Formula cells can be included explicitly when fixing formula references or patterns.

ActionTry it

Find worksheet by title (Deprecated)

DEPRECATED: Finds a worksheet by its case-sensitive title within a Google Spreadsheet, after trimming input whitespace and decoding Unicode escapes. Returns a found boolean and matched worksheet metadata, or indicates no match.

ActionTry it

Format cell

Formats a specified cell range in a Google Sheets worksheet. It always applies text style, font size and background color defaults unless supplied; a sheet prefix in an A1 range is ignored, so select the worksheet separately.

ActionTry it

Get conditional format rules

List conditional formatting rules for each sheet (or a selected sheet) in a normalized, easy-to-edit form. Use when you need to view, audit, or prepare to modify conditional format rules.

ActionTry it

Get Data Validation Rules

Tool to extract data validation rules from a Google Sheets spreadsheet. Use when you need to understand dropdown lists, allowed values, custom formulas, or other validation constraints for cells.

ActionTry it

Get Drive File Metadata

Get JSON metadata for one Drive file without downloading its content.

ActionTry it

Get sheet names

Lists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations.

ActionTry it

Get Spreadsheet by Data Filter

Returns the spreadsheet at the given ID, filtered by the specified data filters. Use this tool when you need to retrieve specific subsets of data from a Google Sheet based on criteria like A1 notation, developer metadata, or grid ranges. Important: This action is designed for filtered data retrieval. While it accepts empty filters and returns full metadata in that case, GOOGLESHEETS_GET_SPREADSHEET_INFO is the recommended action for unfiltered spreadsheet retrieval.

ActionTry it

Get spreadsheet info

Retrieves metadata for a Google Spreadsheet using its ID. By default, returns essential information (ID, title, sheet properties) to avoid payload size issues. Use the fields parameter for comprehensive metadata or specific fields.

ActionTry it

Get spreadsheet values

Returns a range of values from a spreadsheet. Use when you need to read data from specific cells or ranges in a Google Sheet.

ActionTry it

Get Table Schema

Deprecated: Retrieves an inferred schema for a detected table in a Google Spreadsheet, including column names and types estimated from sampled data.

ActionTry it

Insert Dimension in Google Sheet

Tool to insert new rows or columns into a sheet at a specified location. Use when you need to add empty rows or columns within an existing Google Sheet.

ActionTry it

List Charts in Google Sheets

Lists all charts in a Google Sheets spreadsheet across all sheets, returning chart_id, sheet metadata, chart type, title, and position. Use this action when you need to discover what charts exist in a spreadsheet, retrieve chart IDs for update or delete operations, or inspect chart configurations. The default field mask in GOOGLESHEETS_GET_SPREADSHEET_INFO omits chart data, making this dedicated action necessary for chart discovery.

ActionTry it

List Drive Changes

Start a Drive change monitor or list one page after an existing token.

ActionTry it

List Tables in Spreadsheet

Deprecated: Lists heuristically detected tables in a Google Spreadsheet. It scans up to the first 1,000 rows and skips sheets with more than 2,000 rows or 100 columns.

ActionTry it

Look up spreadsheet row

Finds the first row in a specified A1 range or the first sheet where a cell matches the query after Unicode and invisible-character normalization. Matching is case-insensitive and trims surrounding whitespace by default; both behaviors are configurable.

ActionTry it

Move or Resize Chart in Google Sheets

Move or resize an existing chart on a Google Sheets spreadsheet. Use this action when you need to reposition a chart to a different location on the same or different sheet, move it to a brand-new sheet, or change its size. This action wraps the updateEmbeddedObjectPosition batchUpdate request type and supports three positioning modes: moving to a new sheet, moving to an existing sheet, or repositioning via pixel-perfect overlay coordinates.

ActionTry it

Move Spreadsheet to Folder

Move an existing Google Spreadsheet to a different Google Drive folder.

ActionTry it

Mutate conditional format rules

Add, update, delete, or reorder conditional format rules on a Google Sheet. Use when you need to create, modify, or remove conditional formatting without manually building batchUpdate requests. Supports four operations: ADD (create new rule), UPDATE (replace existing rule), DELETE (remove rule), MOVE (reorder rules by changing index).

ActionTry it

Query Spreadsheet Table

Executes SQL-like SELECT queries against detected tables in a native Google spreadsheet, with filtering, sorting, and limits. Sheet names can refer to the first detected table; detection and query processing are heuristic, and results may omit rows. DEPRECATED: Use GOOGLESHEETS_VALUES_GET or GOOGLESHEETS_BATCH_GET for table reads, and GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW for row lookup or filtering.

ActionTry it

Search Developer Metadata

Tool to search for developer metadata in a spreadsheet. Use when you need to find specific metadata entries based on filters.

ActionTry it

Search Spreadsheets

Search for Google spreadsheets accessible in Drive by name, content, dates, and other filters, including starred and shared-with-me status. Results are paginated, with up to 1,000 items per page; shared drives are included by default and searches across them may be incomplete.

ActionTry it

Set Basic Filter

Tool to set a basic filter on a sheet in a Google Spreadsheet. Use when you need to filter or sort data within a specific range on a sheet.

ActionTry it

Set Data Validation Rule

Tool to set or clear data validation rules (including dropdowns) on a range in Google Sheets. Use when you need to apply dropdown lists, range-based dropdowns, or custom formula validation to cells.

ActionTry it

Sort Range

Sorts data within a specified range in a Google Sheet based on one or more sort criteria. Use this action when you need to reorder rows in a range by column values, with support for multi-level (cascading) sorts.

ActionTry it

Update Chart in Google Sheets

Updates an existing chart in a Google Sheets spreadsheet by replacing its chart specification. The specification can change its title, chart type, data ranges, colors, axes, and other visual settings without moving or resizing the chart.

ActionTry it

Update Dimension Properties (Hide/Unhide & Resize)

Tool to hide/unhide rows or columns and set row heights or column widths. Use when you need to change visibility or pixel sizing of dimensions in a Google Sheet.

ActionTry it

Update Sheet Properties

Tool to update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. Use this when you need to modify the metadata or appearance of a specific sheet.

ActionTry it

Update Spreadsheet Properties

Tool to update SPREADSHEET-LEVEL properties such as the spreadsheet's title, locale, time zone, or auto-recalculation settings. Use when you need to modify the overall configuration of a Google Spreadsheet. NOTE: To update individual SHEET properties (like renaming a specific sheet/tab), use GOOGLESHEETS_UPDATE_SHEET_PROPERTIES instead.

ActionTry it

Update spreadsheet values

Sets or overwrites values in a Google Spreadsheet range, adjusting the range to fit the supplied values and potentially expanding the sheet by default. Unmatched common default sheet names may resolve to the first sheet.

ActionTry it

Upsert Rows (Smart Update/Insert)

Upserts rows in a Google Sheet by matching a key column: updates matching rows and appends new ones. It maps columns by header name, adds missing columns, and supports partial updates.

ActionTry it

How the Google Sheets integration works

The Google Sheets integration connects your Dench AI CRM directly to Google Sheets, so agents can read and act on your Google Sheets data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

58 actions are available for agents to invoke on your behalf, and 16 triggers can start a Dench automation the moment something changes in Google Sheets. Every call runs through Google Sheets's own authorization, scoped to the account you connect.

Set up Google Sheets in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Google Sheets and click Connect — you'll authorize access through Google Sheets's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Google Sheets in chat, or wire a Google Sheets trigger into an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Google Sheets integration work with Dench?

The Dench Google Sheets integration connects your AI CRM to Google Sheets, so AI agents can work with your Google Sheets data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Google Sheets via Dench?

The Google Sheets integration currently exposes 58 actions, including Add Sheet to Existing Spreadsheet, Aggregate Column Data, Append Dimension, Append Values to Spreadsheet, Auto-Resize Rows or Columns, and Batch Clear Spreadsheet Values. Agents invoke them on your behalf from chat or from automations.

Can Dench react to events in Google Sheets automatically?

Yes. The Google Sheets integration provides 16 triggers — such as Aggregate Metric Changed, Cell Range Values Changed, Conditional Format Rule Changed, and Data Validation Rule Changed — that can start a Dench automation the moment something happens in Google Sheets.

Do I need to write code to connect Google Sheets to Dench?

No. You connect Google Sheets from your Dench workspace using Google Sheets's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Google Sheets integration secure?

Connections are authorized through Google Sheets's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Google Sheets connection from your workspace settings at any time.

Google Sheets | Dench AI CRM