How it works

One function: run the workflow in the sheet you already keep — Forms, Gmail, Drive — after a dry-run.

The canvas operators can read

Sheet Engine is a Google Sheets Editor add-on. You open it from the side rail or Extensions. Recipes live with the file. Multiple recipes can share a trigger type — acknowledgement, digest, and PDF in one spreadsheet.

W

When

Form submit, onEdit / watched columns, new row, recurring schedule, or run selected rows.

I

If

Column tests with AND/OR. Empty, equals, contains, at least — only matching rows continue.

T

Then

Gmail with {{Column}} chips, append/update/move, Doc/PDF to a folder you pick, URL write-back.

Trust controls

Dry-run first

See To, subject, body, and file names with no send. Live is a deliberate switch.

Execution log

Last runs in the sidebar. Full history on the SheetEngine_Log tab for audit.

Incremental OAuth

Sheets first. Gmail send when you add Send email. Drive/Docs when a recipe needs a folder or template.

What ships now vs later

LaneYou get
P0 / v1Form/row → Gmail; row → Doc/PDF → Drive; weekly digest; dry-run; log; gallery; multi-recipe
v2Calendar from row, Chat/Spaces, approval email, retries, sheet-to-sheet merge
v3Human-in-the-loop draft from a sentence — never auto-send

Integrations · Templates · Builder help

Product FAQ

What is When → If → Then?

A recipe is a trigger (When), optional filters (If), and sequential actions (Then). Sheet Engine keeps that canvas vertical — not a spaghetti graph.

Do emails send on install?

No. Dry-run is primary. You enable Live or run once after you preview which rows would fire.

Where does data live?

Recipe config and logs stay in the spreadsheet / your Google account. Sheet Engine does not store row payloads on Tosa servers.

Preview a recipe on your sheet

Install, pick Lead acknowledgement, dry-run, then enable Live when the sample looks right.

Marketplace listing URL is a placeholder until the add-on is public.