Wavetable

Product

A system of record that shows its work.

Five surfaces over one substrate: your customers, revenue, content, and traffic as a governed graph, with receipts on every answer and approvals on every action.

Canvas

The app each team sees.

Canvas is a workspace grid of pinned views: boards, tables, metrics, charts. Each pin is an explicit version of a view artifact, shared by the whole workspace, so what your team looks at is stable until someone approves a change. A pinned pipeline board plus a metric row is the entire CRM most small teams need. A "today strip" answers "is anything on fire?" at a glance: items needing you, new events, new entities, new facts.

Ask

Answers with receipts.

Ask anything in plain language. The edge agent translates it into a typed, read-only query and renders the answer as an ephemeral view. Under every answer sits the receipt: the exact query, the row count, the plan hash, and a human-readable trace of what the agent did. Useful answers get promoted to pinned views through the Compiler, so a good question becomes shared, governed infrastructure.

Receiptread-only · views + projections
ask>deals over $10k with no activity in 14 days SELECT d.name, d.amount, d.stage, MAX(e.at) AS last_activity FROM p_deal d LEFT JOIN p_event e ON e.deal_id = d.deal_id GROUP BY d.deal_id HAVING d.amount > 10000 AND last_activity < date('now', '-14 days')
6 rowsplan e07d311
read-onlypolicy-scoped

Records

Narrative on top, evidence underneath.

Every person, company, and deal has a record page with a written, cited narrative of the relationship. Hover (or keyboard-focus) any sentence and see the claims behind it, resolved to "attribute = value, from this source." Below it, the claims table shows every fact with provenance, confidence, and conflict indicators, separating current from superseded. Threads and messages sit on the same page, and you can reply from the record: your draft waits as an approval, with real threading.

Inbox

Five minutes a day of decisions that matter.

The Inbox is the multiplayer primitive. Four kinds of items arrive: artifact diffs with their dry-run or replay reports, merge proposals with evidence chips and a score, gated sends rendered as the actual draft, and budget escalations. Keyboard triage (j/k to move, a to approve, r to reject) makes clearing it fast. Every decision becomes an event in the log with your name on it.

Artifacts

Your business, version controlled.

Schema, views, workflows, policies, and templates live as compiled artifacts with git-like history. Diff any two versions and see exactly what a change does before approving it. Rollback restores the prior version with one button, and your claims are untouched. Under every automation, a runs ledger shows each execution with its trace and cost.

Identity

One customer, not four fragments.

The same person appears as an email address, a Stripe customer, a device id, and a phone number. Deterministic keys merge automatically. Probabilistic matches only ever produce proposals with visible evidence, because precision beats recall in a system of record. Merges are soft and reversible: unmerge re-splits the record with provenance intact.

Automations

Recurring work, compiled and governed.

Describe the work in plain language and the Compiler produces a workflow artifact with typed guards and budgets. Replay shows its counterfactual against your history before it goes live. At runtime, blast-radius limits and budgets are enforced structurally: an automation that suddenly wants to touch 500 entities is blocked pending approval, and sends stay gated until you grant otherwise. Sequences wait, re-check their guards on every resume, and stop the moment someone replies.

Connectors

Data in through one honest door.

Every connector follows one contract: emit events, propose claims, never touch projections. Provenance is never lost at the door, and connector content is wrapped as untrusted data before any model sees it. Outbound email goes through verified sender identities via Gmail or Resend, with one-click unsubscribe handled correctly.

Connector

Gmail

Email is the richest record of your relationships. Messages become events; people, companies, and threads assemble from them.

Connector

Stripe

Revenue truth with deterministic identity keys. LTV, plan, and payment history attach to the right person, automatically.

Connector

Site script

A 2KB first-party snippet. Pageviews, form fills, and campaign parameters land in the same graph as email and revenue, so attribution is a query.

Connector

Google Calendar

Meetings and attendees enrich records, and temporal co-occurrence feeds identity resolution.

Connector

Twilio

SMS in and out, because for many small businesses, texting is where the customer relationship actually lives.

Connector

CSV import

The migration on-ramp. Upload, map columns with a human check, and rows arrive as claims with the import as their source.

What it replaces

The stack it collapses.

You probably haveWhat it owns todayIn Wavetable
A CRMContacts, deals, pipeline, follow-upsThe Agency GTM pack: same opinion, on a substrate you can query and fork
A CMSPosts, editorial workflow, publishingThe Content pack, with posts served over a public content API
An analytics toolPageviews and conversions, in a siloThe site script feeds the same graph as revenue, so attribution is a view
Spreadsheets and glueEverything the other tools can't say to each otherAsk, pinned views, and automations over one graph

See your own data with receipts on it.

Connect a source, ask one real question, and judge the answer by its receipt.

Get started free

No credit card. Connect your data, get receipts in minutes.