SheetBrain Documentation

Everything SheetBrain does, how it does it, and how to get the most out of it. This page is the single reference — bookmark it and use the table of contents to jump around.

1. Getting started

Install: Google Workspace Marketplace listing. No credit card, no API key, works with any Google account including free Gmail™.

Your first sidebar open

Open any Google Sheet, then Extensions → SheetBrain → Open sidebar. Three things happen automatically:

  1. A short first-run tour walks you through the three tabs (Health, Review, Generate) and ends with a one-click live demo so you see the product working before you type anything.
  2. The sidebar lands on the Health tab. An auto-scan fires against the active sheet; if it finds issues, a banner appears inviting you to review them.
  3. Your free-tier usage (15 AI calls per month) is loaded — visible at the bottom of the sidebar. Sheet Check scans don't count against this; they're always free.

Two places you can drive SheetBrain

  • The sidebar — three tabs (Health, Review, Generate) with sub-tabs, buttons, and forms. The primary interface.
  • Directly in cells — six custom functions (=SHEETBRAIN_HEALTH, =SHEETBRAIN, etc.) that work in any cell without the sidebar open.

3. Sheet Check

A one-click deterministic scan for three classes of silent spreadsheet bugs. Every scan is free and unlimited — no AI call, no quota hit. Runs on the active sheet by default.

What it detects

RuleWhat triggers itExample
Broken reference A formula whose body contains #REF!, or a VLOOKUP/HLOOKUP/INDEX whose column index exceeds the referenced range's width. =VLOOKUP(A2, B:C, 3, FALSE) — the range is 2 columns wide, index 3 is out of bounds.
Mixed data types A single column contains both numeric values and number-like strings (e.g. 15000 and "15,000"), breaking SUMIFS/AVERAGE. Column G: row 2 is 15000, row 3 is "15,000" (text), row 4 is 15000.50. Aggregations under-count.
Duplicate lookup keys A column used as the source for VLOOKUP/XLOOKUP contains the same key in 2+ rows. Column A is an SKU list with SKU-001 in rows 2 and 3 — VLOOKUP will silently return the first match only.

Deterministic fixes vs. LLM fixes

When a finding has an obvious deterministic fix (e.g. "column G has mixed numeric/text — wrap in VALUE()"), SheetBrain proposes it directly. For findings where the right fix requires judgement, you can optionally click Propose fix with AI on that specific finding — only that one click counts against your AI quota.

Auto-scan on sidebar open

The first time you open the sidebar each day, Health → Check runs automatically and surfaces findings as a banner. If you dismiss or view the banner, we remember for the rest of the day and won't re-nag. Closing the sidebar without engaging doesn't count — we re-show the banner next open.

4. Schema Repair

When columns get renamed, moved, or deleted, formulas that referenced the old position silently break. Repair detects the drift and proposes a batch of safe rewrites.

How snapshots work

SheetBrain quietly snapshots your sheet's column layout every time a Generate or Debug call succeeds. A snapshot captures:

  • Column headers (row 1 text)
  • Column positions (which header is in column A, B, C, …)
  • Inferred column data types (text / number / date / mixed)

Snapshots are scoped per (workbook, sheet) pair — a workbook with five sheets has up to five independent snapshots. An LRU evicts the oldest if memory gets tight.

How drift detection runs

Click Health → Repair → Scan for drift. SheetBrain compares the current sheet layout against the last snapshot and classifies each change:

  • Rename — same column position, different header text.
  • Move — same header text, different column position.
  • Delete — header no longer present anywhere.

Every formula that references an affected column is listed in a preview dialog. Each row has a checkbox — uncheck any you don't want rewritten, then apply the batch in one click. Snapshots refresh automatically after a clean apply.

Limitations: Repair can't detect drift across workbooks (cross-file IMPORTRANGE references aren't compared). Dynamic array formulas (QUERY, ARRAYFORMULA) with complex expression bodies may be skipped. If the current sheet has more columns than the snapshot (likely added on purpose), we don't flag the additions as drift.

5. Audit reports

Run a full-workbook audit and share the results as a public URL — no login required for viewers. Great for compliance reviews, handoffs, and getting stakeholders to actually read findings.

Running an audit

Health tab → Run full audit. SheetBrain opens a consent dialog listing every sheet in the workbook with a checkbox beside each. By default all sheets are selected — uncheck any you don't want in the public report (drafts, internal helpers, PII sheets, etc.). Use Select all / Deselect all to toggle in bulk. The footer shows a running count like 9 of 12 sheets selected so you always know what's about to be published.

Click Create public link and SheetBrain scans the selected sheets, aggregates findings, and generates a shareable URL like:

https://sheetbrain.app/audits/<token>

Privacy & what viewers see

  • The report shows findings only: severity, cell references, issue types, generic explanations. No cell values, no formulas, no column headers — nothing from your data ever leaves the scan pipeline.
  • Sheets you didn't check in the consent dialog are never scanned and never appear in the report — not even their names.
  • No Google account is required to view — anyone with the URL can open it.

Managing active links

You can have multiple shared audit links live at the same time for the same workbook — for example, one sent to a compliance reviewer last week and a fresh one for today's stakeholder update. Each link is independent and fully token-scoped.

  • Once you've created a share, an Active shared links row appears on the Health tab. Click it to open a manage dialog listing every live audit for this workbook.
  • Each row shows the creation date, how many sheets were included, the URL (clickable, opens in a new tab), a copy icon, and a stop (trash) icon.
  • The stop button revokes just that one link — the others stay live. The UI stays on the dialog so you can clean up several in a row.
  • The share you just generated is highlighted with a green NEW badge so it's easy to pick out from older ones.

Expiry & revocation

  • Links auto-expire 30 days after creation. A weekly sweep (runs alongside the Sunday digest cron, 09:00 UTC) deletes expired reports from the database.
  • Revoking via the manage dialog hard-deletes the backend row immediately — the public URL returns a 404 on the next request, with an "Audit not found" page that links back to sheetbrain.app.
  • Tokens are cryptographically random — there's no way to enumerate other users' audits or guess a valid one.

6. Generate & sheet targeting

The Generate tab writes a formula from your plain-English description, using your actual column headers and data types as context. By default it reads the active sheet only, but you can widen scope with targeting modes.

Three sheet-targeting modes

ModeWhat it doesWhen to use
Auto (default) Uses the current sheet as primary context. If your query mentions data that lives on another sheet, SheetBrain includes that sheet's schema too. Most of the time. Lets SheetBrain decide.
Single Locks context to one sheet you pick — even if the active sheet changes. You want the formula to reference exactly one tab, regardless of where you're currently sitting.
Multi Combines up to 5 sheets as context. SheetBrain can produce formulas that join or aggregate across them. Cross-sheet lookups, consolidating rollups, multi-source SUMIFS.

What's sent to the LLM

SheetBrain sends: column headers, inferred data types, optionally a few sample rows (if you enable sample sharing), and named ranges. We never send the full sheet contents. Samples are opt-in and only used to improve accuracy on ambiguous queries.

History & re-apply

The sidebar keeps your last 3 formulas on the free tier or 10 on Pro. Click any history entry to re-apply to the current cell. If you try to re-apply a formula on a different sheet than where it was generated, SheetBrain warns you explicitly.

7. Custom functions

Six functions that work directly in any cell — no sidebar required. Two are free and deterministic (=SHEETBRAIN_HEALTH, =SHEETBRAIN_ISSUES). Four use AI and count 1 call per invocation.

=SHEETBRAIN_HEALTH(range, [recalc]) Free

Returns a health score + issue count for the given range, e.g. "6/10 — 14 issues". Runs the same deterministic scan as the sidebar. Pass NOW() or any volatile reference as the optional second arg to force Sheets to recompute.

Example: =SHEETBRAIN_HEALTH(A1:G20)

=SHEETBRAIN_ISSUES(range, [recalc]) Free

Spills a 2D array of every finding in the range: header row + one row per issue (severity, cell, type, explanation). Perfect for building a live health dashboard inside your own spreadsheet.

Example: =SHEETBRAIN_ISSUES(A1:G20)

=SHEETBRAIN(query) 1 AI call

Generate a formula from plain English. Reads the current sheet's headers as context (same as the Generate tab). Returns a string that Sheets interprets as a formula if the first character is =.

Example: =SHEETBRAIN("average price for Electronics")=AVERAGEIF(E:E,"Electronics",F:F)

=AI_EXPLAIN(formula) 1 AI call

Plain-English explanation of any formula, returned as a cell value. Paste a cryptic SUMPRODUCT and get a one-sentence description.

Example: =AI_EXPLAIN("=VLOOKUP(A2,B:D,3,0)")

=SHEETBRAIN_EXTRACT(text, schema) 1 AI call

Extract structured fields from unstructured text. schema is a comma-separated list of field names; output spills as a 2-row table (header row, value row).

Example: =SHEETBRAIN_EXTRACT("John, 32, NYC", "name, age, city") → spills name | age | city / John | 32 | NYC

=SHEETBRAIN_CLASSIFY(text, labels) 1 AI call

Classify text into one of a set of candidate labels you supply. Use for sentiment tagging, ticket routing, survey bucketing.

Example: =SHEETBRAIN_CLASSIFY("This is frustrating", "positive,negative,neutral")negative

Force recalc: AI custom functions cache their result across page reloads to avoid silent re-charging. To force a fresh evaluation, press ⌘⇧F9 (Mac) or Ctrl⇧F9 (Windows). The optional second arg on _HEALTH and _ISSUES (NOW(), random ref, etc.) is a per-cell alternative.

8. Keyboard shortcuts

All shortcuts work whenever the sidebar has focus.

ShortcutAction
⌘1 / Ctrl 1Switch to Health tab (restores last sub-view: Check or Repair)
⌘2 / Ctrl 2Switch to Review tab (restores last sub-view: Explain or Debug)
⌘3 / Ctrl 3Switch to Generate tab
⌘⇧F9 / Ctrl⇧F9Force all custom functions to recalculate (Google Sheets built-in; works outside the sidebar too)
EnterSubmit the current tab's form (Generate query, Explain formula, Debug formula + error)
EscDismiss banners and overlays (first-run tour, auto-scan banner, upgrade dialog)

9. Quotas & pricing

What counts against your quota

  • Counts (1 call each): Generate, Explain, Debug, Extract, Classify, =SHEETBRAIN, =AI_EXPLAIN, =SHEETBRAIN_EXTRACT, =SHEETBRAIN_CLASSIFY, and "Propose fix with AI" on a specific Check finding.
  • Never counts: Sheet Check scans (deterministic), =SHEETBRAIN_HEALTH, =SHEETBRAIN_ISSUES, Schema Repair scan (the rewrite proposal is one AI call batched for the whole set, not per-formula), viewing audit reports.

Plans

PlanAI calls / monthPriceNotes
Free 15 $0 No credit card. Unlimited Sheet Check scans. 3-entry history.
Pro 1,000 $9 / month 10-entry history. Email support. AI included — no API key needed.

Reset cadence

Quotas reset on the 1st of each month in UTC. At that moment, your count returns to 0 and the full limit is available again. No rollover.

What happens at the limit

Further AI calls return a quota_exceeded error instead of silently failing or charging. The sidebar shows an upgrade prompt. Sheet Check, =SHEETBRAIN_HEALTH, and =SHEETBRAIN_ISSUES continue to work — they don't count against the quota.

Refunds & cancellation

See the full refund & cancellation policy. Short version: cancel anytime in one click, keep Pro access until the end of the current billing period, no cancellation fees. If an AI call fails partway through (network error, backend blip), it's automatically refunded to your quota — you never pay for a failed call.

10. Troubleshooting

A custom function returns Loading… or seems stuck

Google Sheets sometimes doesn't re-evaluate custom functions until the sheet is explicitly recalculated. Force a recalc with ⌘⇧F9 (Mac) / Ctrl⇧F9 (Windows). If it still shows Loading… after 30 seconds, the backend may be cold-starting — wait another 20 seconds and recalc again.

Sheet Check says "no issues found" but I know there are bugs

Sheet Check only detects the three specific rule classes in §3 (broken refs, mixed types, duplicate lookup keys). It does not detect semantic bugs like wrong-cell references, incorrect logic, or off-by-one errors — those need Debug (in Review). If you believe we missed a real instance of one of the three rules, email support@sheetbrain.app with a sample sheet; we treat these as P1.

Schema Repair says "no drift detected" after I moved a column

Repair can only detect drift against a snapshot it previously captured. Snapshots are taken after a successful Generate or Debug call. If you've never run Generate/Debug on this sheet, there's no baseline to compare against. Fix: run one Generate call, move your column, then re-run drift detection.

My quota shows the wrong count

The sidebar lazily loads usage on open and refreshes when it regains focus (e.g. after you return from the checkout tab). If the count looks wrong, close and reopen the sidebar, or switch away and back to the Sheets tab. The backend is always the source of truth.

A shareable audit URL returns 404

Two possible causes: (a) the report is older than 30 days and was auto-expired by the weekly sweep (runs every Sunday, UTC), (b) you (or another editor on the workbook) revoked it from Health → Stop sharing. Both are permanent — you'd need to generate a new audit URL.

I'm on Pro but the sidebar still shows "15 calls" / "Upgrade"

Plan status is cached for ~1 minute. If you just upgraded, close and reopen the sidebar, or wait a minute and switch tabs. If it persists, email support@sheetbrain.app with your Google account email and we'll force-refresh your plan within a business day.

Something else

Email support@sheetbrain.app. Include your Google account email, a short description, and a screenshot if relevant. Response time: within one business day.