Leo LogoHelloLeo
IntegrationsTemplatesPricingCommunity
Book a demoSign InGet Started
Leo LogoHelloLeo

The AI developer that builds the apps your ERP doesn't have — internal tools, portals and dashboards, running in production on top of NetSuite, Odoo, Salesforce and more.

Applications

  • HelloLeo for NetSuite
  • HelloLeo for Odoo
  • HR & Employees
  • Inventory
  • Accounting & Procurement

Integrations

  • Shopify integration
  • HubSpot integration
  • WhatsApp Business integration
  • Salesforce integration
  • Stripe integration
  • Google Sheets integration
  • Outlook integration
  • QuickBooks integration
  • All integrations

Product

  • Pricing
  • Templates
  • vs AI coding tools

Company

  • Contact

Resources

  • Documentation
  • Help Center
  • Community

Legal

  • Trust Center
  • Security
  • Status
  • Privacy Policy
  • Terms of Service
  • DPA
Google Sheets logo
Integration

Connect Google Sheets to your ERP

Use Google Sheets to create and edit online spreadsheets. Get insights together with secure sharing in real-time and from any device.

Productivity
Browse all integrations

What Leo can do with Google Sheets

38 actions Leo can use in the apps and agents it builds for you: 10 that read Google Sheets data, 28 that create or update it.

reads data writes data deletes data

Read from Google Sheets · 10

  • Read Rows

    Read rows from a Google Sheets worksheet. Returns data as objects (keys = column headers from row 1) by default, or as raw arrays. Use Get Spreadsheet Info first to discover worksheet names. Optionally specify a range in A1 notation (e.g., A2:D10) to read a subset. For searching rows by value, use Find Rows instead.

  • List Spreadsheets

    List Google Spreadsheets accessible to the authenticated user. Optionally search by name with query. Returns an array of { spreadsheetId, name, url } whose IDs can be used with all other tools. Returns up to limit results (default 20); when more may exist the summary says so — raise limit to fetch them.

    Docs ↗
  • Get Spreadsheet Info

    Get the structure of a Google Spreadsheet — worksheet names, column headers (first row of each sheet), and row counts. Call this first before reading or writing data, so you know the worksheet names and column headers. The column headers are used as keys when writing data with Add Rows or Update Rows. The spreadsheet ID is the long string in the Google Sheets URL: https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit.

  • Find Rows

    Search for rows matching a value in a specific column. Use Get Spreadsheet Info to discover column header names. Returns matching rows as objects with row numbers (useful for subsequent Update Rows calls). For simple reads without filtering, use Read Rows instead.

  • List Worksheets

    Get a list of all worksheets in a spreadsheet.

    Docs ↗
  • Get Values in Range

    Get all values or values from a range of cells using A1 notation.

    Docs ↗
  • Get Spreadsheet by ID

    Returns the spreadsheet at the given ID. See the documentation for more information

  • Get Current User

    Retrieve Google Sheets account metadata for the authenticated user by calling Drive's about.get, returning the user profile (display name, email, permission ID) and storage quota information. Helpful when you need to verify which Google account is active, tailor sheet operations to available storage, or give an LLM clear context about the user identity before composing read/write actions. See the Drive API documentation.

  • Get Cell

    Fetch the contents of a specific cell in a spreadsheet.

    Docs ↗
  • Find Row

    Find one or more rows by a column and value.

    Docs ↗

Write to Google Sheets · 28

  • Update Row

    Overwrite cells in an existing row of a Google Sheet. Provide row (the 1-based row number — use Find Rows or Read Rows to get it from a row's _rowNumber) and myColumnData, a positional array of values starting at column A (e.g. ["Alice","[email protected]","Engineering"]). Values are written left-to-right from column A, so include the current value of every column up to the one you're changing (read them first via Get Spreadsheet Info / Read Rows); columns after your last value are left unchanged, not cleared. To add a new row instead of overwriting one, use Add Single Row.

    Docs ↗
  • Update Multiple Rows

    Overwrite a contiguous block of cells in a Google Sheet, defined by an A1 range. Provide range WITHOUT the worksheet name — just the cells, e.g. A2:C3 (the tool prepends the worksheet automatically; passing Sheet1!A2:C3 will fail). Provide rows as a JSON array of arrays matching the range, each inner array a row in column order (e.g. range A2:C3 with [["Alice","[email protected]","Active"],["Bob","[email protected]","Active"]]). Use Read Rows to see current values and Get Spreadsheet Info for the column order. This overwrites the range in place; to insert rows and shift others down, use Add Single Row.

    Docs ↗
  • New Spreadsheet

    Create a new Google Spreadsheet with an optional worksheet name and column headers. Returns the spreadsheet ID and URL. Use the spreadsheet ID with other tools to read/write data.

  • Add Worksheet

    Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers. Use Get Spreadsheet Info to see existing worksheets before creating.

  • Add Single Row

    Add a single row to a Google Sheet. By default the row is appended to the end. To INSERT the row at a specific position instead — pushing the rows at and below that position DOWN without overwriting them — set Row Index (e.g. Row Index 2 inserts directly below a header row). Use this tool (not Update Row or Update Multiple Rows) whenever the goal is to insert a row between existing rows or add a row while keeping every current row: the Update tools overwrite cells in place and do NOT shift rows down.

    Docs ↗
  • Add Rows

    Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array. Preferred format: array of objects with column header keys (e.g., [{"Name": "Alice", "Email": "[email protected]"}]). Use Get Spreadsheet Info first to discover the exact column header names — keys must match headers exactly (case-sensitive). Alternatively, pass rows as arrays of positional values matching column order. New rows are appended after the last row with data.

  • Add Multiple Rows

    Append multiple rows to a Google Sheet in one call. Provide rows as a JSON array of arrays — each inner array is one row, with cell values in column order (e.g. [["Alice","[email protected]","Engineering"],["Bob","[email protected]","Paleontology"]]). Use Get Spreadsheet Info first to see the column order. Rows are appended after the last row with data. To add a single row, or to insert at a specific position, use Add Single Row instead.

    Docs ↗
  • Upsert Row

    Upsert a row of data in a Google Sheet.

    Docs ↗
  • Update Formatting

    Update the formatting of a cell in a spreadsheet.

    Docs ↗
  • Update Conditional Format Rule

    Modify existing conditional formatting rule.

    Docs ↗
  • Update Cell

    Update a cell in a spreadsheet.

    Docs ↗
  • Set Data Validation

    Add data validation rules to cells (dropdowns, checkboxes, date/number validation).

    Docs ↗
  • Move Dimension

    Move a dimension in a spreadsheet.

    Docs ↗
  • Merge Cells

    Merge a range of cells into a single cell.

    Docs ↗
  • Insert Dimension

    Insert a dimension into a spreadsheet.

    Docs ↗
  • Insert Comment

    Insert a comment into a spreadsheet.

    Docs ↗
  • Insert an Anchored Note

    Insert a note on a spreadsheet cell.

    Docs ↗
  • Delete Worksheet

    Delete a specific worksheet.

    Docs ↗
  • Delete Rows

    Deletes the specified rows from a spreadsheet.

    Docs ↗
  • Delete Conditional Format Rule

    Remove conditional formatting rule by index.

    Docs ↗
  • Create Worksheet

    Create a blank worksheet with a title.

    Docs ↗
  • Create Spreadsheet

    Create a blank spreadsheet or duplicate an existing spreadsheet.

    Docs ↗
  • Copy Worksheet

    Copy an existing worksheet to another Google Sheets file.

    Docs ↗
  • Clear Rows

    Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows.

    Docs ↗
  • Clear Cell

    Delete the content of a specific cell in a spreadsheet.

    Docs ↗
  • Add Protected Range

    Add edit protection to cell range with permissions.

    Docs ↗
  • Add Conditional Format Rule

    Create conditional formatting with color scales or custom formulas.

    Docs ↗
  • Create Column

    Create a new column in a spreadsheet.

    Docs ↗

Pair Google Sheets with your ERP

Leo connects Google Sheets to the ERP your business already runs on: the records it reads in Google Sheets land in your ERP, and what changes in the ERP flows back.

Odoo logo
Google Sheets + Odoo
See Odoo →
NetSuite logo
Google Sheets + NetSuite
See NetSuite →

How it works

  1. 01
    Connect Google Sheets

    Authorize Google Sheets once, in a couple of clicks. Leo only gets the permissions you grant.

  2. 02
    Describe what you need

    In plain language: the dashboard, portal or agent you want across Google Sheets and your ERP. No code, no mapping spreadsheets.

  3. 03
    Run it

    Leo builds it, you review, it goes live. Agents run on a schedule or on events, under the guardrails you set.

Google Sheets integration: questions

What can Leo do in Google Sheets?
Leo has 38 Google Sheets actions available: 10 read data and 28 create or update it. Any of them can be combined with your ERP data in an app or an agent.
Which ERPs does the Google Sheets integration work with?
Odoo and NetSuite today, through connectors we build and maintain ourselves. Google Sheets connects through our connector network, so the same app or agent can use both sides.
Is my data safe?
You authorize Google Sheets yourself and choose the permissions. Leo acts within them, every action is logged, and you can revoke the connection at any time.

More productivity integrations

  • Notion logoNotion
  • Google Calendar logoGoogle Calendar
  • Airtable logoAirtable
  • Trello logoTrello
  • Jira logoJira
  • Asana logoAsana
  • Calendly logoCalendly
  • Microsoft Excel logoMicrosoft Excel