All integrationsGoogle Sheets
Google Sheets logo

Google Sheets

Productivity

Connect your Google Sheets so Ruby can read your spreadsheets, pull values, and answer questions about your data.

6 toolsOAUTH2Reads by default, writes opt-inManaged auth

Ask Ruby

“What does this tool let Ruby answer?”
“Show me the most recent activity.”
“Find the record I'm asking about.”

4 read tools

Ruby reads from Google Sheets and grounds her answers in your data. Every connection starts read-only: she surfaces, summarizes, and drafts, and your team takes the action.

Get spreadsheet info

Read a spreadsheet's metadata by its spreadsheet_id: title and the list of sheets/tabs (each tab's name + sheetId). Use it FIRST to discover tab names before pulling cell values with GOOGLESHEETS_BATCH_GET. To find a spreadsheet by name, search Google Drive first (GOOGLEDRIVE_FIND_FILE with mimeType = 'application/vnd.google-apps.spreadsheet') to get its id.

Batch get

Read cell values from one or more ranges of a spreadsheet (A1 notation). Use it to pull the data out of a sheet once you have its spreadsheet_id (from GOOGLEDRIVE_FIND_FILE) and tab names (from GOOGLESHEETS_GET_SPREADSHEET_INFO). For large sheets use bounded ranges (e.g. 'Sheet1!A1:Z10000'), not unbounded 'A:Z'.

Get sheet names

List the tab (worksheet) names in a spreadsheet, exactly as written. Tab names are case-sensitive and 'Sheet1' is an unsafe guess, so call this before naming a tab in a read or a write.

Lookup spreadsheet row

Find the first row in a range whose cell matches a value exactly (a job name, address, claim number). Use it to check whether a job already has a row before adding or updating one.

2 write tools, off by default

Let Ruby add rows to your sheets and update the cells you ask it to in an existing row. It never deletes rows, and each change waits for approval unless an admin turns that off for a shared account.

An admin switches a connection to read-write in Settings > Integrations. From then on every write waits for a human’s approval before it leaves, by default, and every one lands in your audit log with what changed.

Spreadsheets values append

Append rows to the end of a table in a Google Sheet. Call GOOGLESHEETS_GET_SHEET_NAMES first and use an exact sheet name: names are case-sensitive and 'Sheet1' is an unsafe guess. Appends only add rows; nothing existing is overwritten. To change a row that is already there, use GOOGLESHEETS_UPSERT_ROWS instead.

Upsert rows

Update a row by its key, or add it when no row has that key. Matches rows on one key column (by its header name, e.g. 'Customer' or 'Claim #') and changes ONLY the columns you send, leaving every other cell in the row as it is. Read the tab first (GOOGLESHEETS_BATCH_GET) so you send real header names and a key that is unique: if two rows share the key, ask which one rather than writing. A header you send that the sheet does not have is ADDED as a new column, so never invent one.

Why connect Google Sheets to Ruby

Grounded answers

Ruby works from your actual Google Sheets data and cites what she found, so answers reflect your business rather than a stale export.

Reads by default

Every connection starts read-only. Ruby surfaces and drafts while your team takes the action; writes are opt-in per connection, human-approved by default, and always logged.

Managed, secure auth

Connect with one click. Tokens are encrypted and scoped per company; revoke access any time.

Knows restoration

Ruby understands jobs, claims, drying logs, and AR, so Google Sheets data lands in the right operational context.

Connect once, then ask in plain words.

Connect Google Sheets once in Ruby. Ask in the Ruby app, or bring the same secure connection into the assistant your team already uses.

Ruby

Ask in the Ruby app and get an answer grounded in Google Sheets and the rest of your connected stack.

Claude

Bring the same secure Google Sheets connection into Claude so it can answer with your live data.

ChatGPT

Use Google Sheets from ChatGPT with the same per-company, permissioned access Ruby uses.

Frequently asked questions

Do I need developer credentials to connect Google Sheets?

No. Google Sheets connects with a single click, Ruby handles the OAuth handshake and token refresh for you.


Can Ruby change anything in Google Sheets?

Not unless you turn it on. Every Google Sheets connection starts read-only. An admin can switch a connection to read-write in Settings > Integrations; from then on each write Ruby makes waits for a human's approval before it leaves (by default; the same admin can switch that off) and is recorded in your audit log either way.


Is my Google Sheets data secure?

Credentials are encrypted at rest and access is scoped per company. You can revoke the connection at any time from Settings > Integrations, which immediately cuts Ruby off.


Can I use Google Sheets alongside my other tools?

Yes. Ruby reasons across every tool you connect at once, so she can tie Google Sheets to your CRM, accounting, email, and documentation in a single answer.