Functional columns
Each column is a manual value, an ai.generate prompt, or a connector call like trigify.enrichProfile. Inputs template off other columns with {{name}}.
gtm grid is a programmable spreadsheet for go-to-market teams. Rows are leads, companies, posts. Columns are functions — a manual value, an AI prompt, or a connector call. Template inputs with {{Column Name}}, hit run, and watch cells fill pending → running → done.
runs on your machine — SQLite engine, QuickJS sandbox, bring your own AI key.
No glue scripts, no brittle automations. Define each column once as a function, and the grid recomputes the rows that depend on it.
Each column is a manual value, an ai.generate prompt, or a connector call like trigify.enrichProfile. Inputs template off other columns with {{name}}.
Drive your grid in plain language. Ask the built-in Claude Code / Codex agent to create a table, add columns, and run them — over MCP, live.
Enrichment and outreach providers ship as manifests. Connect a key once, then call leadmagic.findEmail from any cell.
Cells are literal: pending, running, done, or an error with its Status Code: 200. Un-run functions read —.
Give a table a unique POST endpoint. Map incoming JSON to columns, auto-run the functions, and watch deliveries arrive in real time.
AI keys and connector secrets are AES-256-GCM encrypted and never leave the device. The execution sandbox runs locally — always.
The solo tier is 100% local — a bundled SQLite engine, no caps, no account required. Upgrade for a team and only your schema and row data sync; keys and execution stay put.
what stays local
ai.key local · encrypted connector.secret local · encrypted quickjs.sandbox local table.schema sync (pro) table.rows sync (pro)
Start solo and local for free. Move to the cloud when your team needs realtime multiplayer — billed per seat.
100% local and offline. Bundled SQLite engine, QuickJS sandbox, bring your own AI key. No caps, no account.
Realtime multiplayer via Convex, shared connections, inbound webhooks. Execution always stays local on your engine.