Reporting
GTM dashboards: one funnel from first touch to closed won
The Monday question is whether the motion is working. One curated view answers it, and every figure traces back to the primitive that produced it instead of to a spreadsheet.
Most early teams answer the pipeline question with a sheet somebody updates on Sunday. The numbers are stale, nobody quite agrees what counts as a reply, and the answer lands after the week it could have changed. The curated view is opinionated instead: touches, replies, positive replies, meetings, deals, won, and what needs a person today.
It is a pure projection and causes nothing: no sends, no writes. Touches and replies come from Sequences, positive replies from Messages, and meetings, deals, and won from Records, so read the conversion rates as direction, not a cohort. The terminal, the web view, and the widget all read one API.
Example searches
Ask for it the way you'd say it
Each example is a request in plain words, with what it returns underneath.
The Monday question
is the motion working this month, and which channel is carrying it
The funnel returns counts per stage with a channel split and the revenue booked inside the period you asked for.
What needs me today
what is waiting on a human right now, unread replies and failed sends included
Triage counts unread replies, positive email replies waiting, failed sends, cold deals, and paused mailboxes, each linked to where you clear it.
Explain a number I distrust
where did this reply count come from and which conversations sit behind it
Each stage counts one primitive. The Replies page splits replies by channel and links to the Unibox, where the conversations live.
Plays
Three motions you can run this week
Each one is a chain of OXYGEN primitives: the same hosted objects your workspace already has, composed.
Run the week from one view
A founder answers the pipeline question in a minute, without assembling a report first.
- 1Read the funnel summary for the period and note where the drop actually is.
- 2Work the needs-action queue before opening any other surface.
oxygen dashboards summaryCompare channels honestly
Email, LinkedIn, and messaging get judged on the same funnel rather than on separate vanity screens.
- 1Read persisted sequence status separately from current operational state.
- 2Compare per-channel replies against sends before shifting any budget.
oxygen sequences analyticsFind the cost behind the result
The credits that produced this month's meetings become visible next to the meetings themselves.
- 1List recent provider calls with their status, provider, and estimated and actual credits.
- 2Trace the expensive ones back to the column or workflow that queued them.
oxygen observability events
Capabilities
What you get
A funnel that ships configured
Touches, replies, positive replies, meetings, deals, and won are defined for you, so the first week produces a number instead of a configuration project. Reading it is unmetered on every tier, free included, because the view makes no provider call.
Traceable figures
Every metric resolves to a query over a named primitive. A number nobody can explain is treated as a defect here, not as a quirk of the reporting layer.
A needs-action queue
Unread replies, positive email replies waiting, failed sends, cold deals, and paused mailboxes. The triage strip counts what is blocked on a person, not everything open.
Same answer on every surface
The web dashboard, the terminal summary, and the widget read one API, so a number quoted in chat matches the one on screen without anyone reconciling them.
Boundaries
What Dashboards does not own
Dashboards project and never act. Run timelines, costs, retries, and provider errors belong to Observability, which this only summarizes. A threshold that should trigger something is a Workflow subscribing to Signals rather than a dashboard feature.
Data sources
Data sources and CRM connections
- PredictLeads
A live-source widget on your own dashboard can show a read-only PredictLeads lookup, refreshed only when you ask and capped per refresh.
- WhatsApp
Your connected WhatsApp number: its sequence messages count as touches in the channel split, and its replies count in the reply stage.
- RBRB2B
Once support connects RB2B, a bound feed lands each website visit it names as a free table row that a chart on your own dashboard can count.
Use managed credits where available, or connect a supported provider key on an eligible paid plan. Your provider bills its calls; OXYGEN adds a per-call platform fee. Signed-in CRM connections such as HubSpot have no per-call fee. Connected sending accounts reserve monthly credits. See pricing and supported integrations.
Limits
Where this stops
- The curated funnel is fixed on purpose and answers what an early revenue team asks every week. Build anything else as your own dashboard in the CRM.
- A funnel is only as honest as the data under it. Unlinked conversations and un-promoted rows do not appear, which is an argument for tidy identity resolution rather than for distrusting the view.
FAQ
Questions people ask first
Can I build my own dashboard?
Where do the numbers actually come from?
What counts as a touch or a positive reply?
Is the terminal answer the same as the web one?
Can it alert me when something moves?
What exactly is needs-action triage?
Try Dashboards in your own workspace
Sign up, get a working workspace with a one-time credit grant, and run the first play from the web app, the CLI, or your AI assistant over MCP.