
Productivity
Connect your Google Sheets so Ruby can read your spreadsheets, pull values, and answer questions about your data.
Ask Ruby
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.
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.
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 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.
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.