Custom Dashboards & Reporting
Every quarter you rebuild the same report by hand, because the CRM can't see the technical evaluation and the analytics queue is weeks long. Build the view once in Opine, or just ask for it in plain language. It re-runs itself every time you open it. Every number on it opens into the deals underneath.
trusted by the world's
highest performing revenue teams
The report gets built once
This is the Custom Dashboards area. Build the widget or describe it, save it to a board, and decide who else sees it.
The chart builder works over curated datasets, and the presales math is already written: win rate, tech-win rate, sales-cycle days, dollars per hour, and average hours per deal are one-click metric functions. Draw it as a line, bar, stacked bar, donut, table, or a single KPI tile.
The report gets built once
This is the Custom Dashboards area. Build the widget or describe it, save it to a board, and decide who else sees it.
- 01
Pick a dataset, a dimension, a metric
The chart builder works over curated datasets, and the presales math is already written: win rate, tech-win rate, sales-cycle days, dollars per hour, and average hours per deal are one-click metric functions. Draw it as a line, bar, stacked bar, donut, table, or a single KPI tile.
- 02
Or skip the building and ask
Describe the report you want in plain language. Opine SQL AI writes the query and validates it against your catalog of tables, functions, and property definitions, and you save what comes back to a dashboard from the editor or straight from the chat.
- 03
It lands live, not as a snapshot
The widget runs its query every time the dashboard is opened, so the board is current without anyone refreshing anything. Reopen a SQL widget later to edit the query, re-run it, and draw it a different way.
- 04
Private until you decide otherwise
A new dashboard is visible only to you. Flip it to the whole organization when the view is ready to be what the team runs on. Sharing with one team rather than everyone isn't supported yet.
A chart is only worth the context underneath it
Paste a pipeline export into any capable model and you'll get a chart back. Ask it the same question tomorrow and you may get a different number, and there is nothing to check, because the answer was written rather than computed. Opine's charts are computed. Every widget runs as Opine SQL: read-only, isolated to your tenant at the language level, and validated against a catalog of tables, functions, and property definitions. Ask twice and it matches. What makes that possible is the context underneath it: one normalized record per opportunity, carrying the evaluation, the meetings, the requests, and the hours. A query about tech-win rate counts the same thing your team means by it, because the record already knows what a technical win was on that deal. It is also why the chart doesn't dead-end. Any bar opens the deals it counted, and any of those opens the deal.
The views your team runs on, without the ticket
Four things decide whether a dashboard is worth keeping: how long it takes to build, whether the math is already there, whether it's still true tomorrow, and who gets to see it.
Build it, or just describe it
Pick a dataset, a dimension, and a metric in the chart builder. Or type the report you want in plain language and save what comes back.
Presales math, already written
Win rate, tech-win rate, sales-cycle days, dollars per hour, and average hours per deal are one-click metric functions, not formulas somebody on your team has to maintain.
Current every time it's opened
Widgets run their query at view time, so nobody refreshes anything and nothing goes stale between QBRs. Reopen a SQL widget to edit the query or draw it a different way.
Private by default, shared in a click
A new dashboard is yours alone. Flip it to org-wide when the view is the one everyone should be running on, and it stops being your spreadsheet and starts being the team's.
What changes once the view is yours to build
A report that needs three people to produce gets produced three times a year. This changes who can make one.
Presales stops arriving as a ticket
The questions your team was queueing for are answered by the people asking them, against a read-only query language scoped to your own tenant. Nobody hands out warehouse access to do it, and the reports that used to sit in a backlog stop competing with the rest of the roadmap.
A view of their own, not just yours
Every user can build a dashboard, and a new one is private to its creator, so an SE can keep a working view of their own deals without publishing it to anyone. Opine SQL authoring stays governed by role, so an admin still decides who writes queries.
The QBR stops being a rebuild
The numbers you present are the numbers the board has been carrying all quarter, not a deck assembled the night before from four exports. When someone challenges one of them, you open the bar and the deals behind it are right there, while the room is still looking at it.
Asked in real demos
What comes up once a team starts building its own reporting rather than requesting it.
Have one we didn’t cover? Bring it to the demo →
SavingCan I save the SQL reports I build into dashboards so they can be quickly referenced?
That's the core flow. Build a query in the Opine SQL editor, or ask the AI for it in chat, and save it to a dashboard as a widget. The widget re-runs the query each time the dashboard is viewed, and you can reopen and edit the query later.
AccessIs this leadership-only, or can an individual contributor build their own dashboard?
Every user can build one. New dashboards start private to their creator, so anyone can keep their own views. Opine SQL access itself is role-governed: it's on by default, and admins decide per role whether users can author their own queries.
AccuracyWill the numbers be right, or is it a model's best guess?
They're database answers. Every widget runs as Opine SQL, a read-only query language isolated to your tenant at the language level and validated against a catalog of tables, functions, and property definitions. The same question returns the same number, which is the difference from pasting your pipeline into a chatbot.
FiltersIf I want to filter a dashboard, do I have to do it on every chart?
Today, yes. Filters live on each widget, and the chart builder's filters include relative date ranges, so a view rolls forward on its own rather than needing to be re-pointed each quarter. Dashboard-level controls, where one date picker or input re-filters every widget, are in progress and not released.
SharingCan I share a dashboard with just my team, not the whole company?
Not yet. Visibility today is private to you or shared with the full organization, and team-level visibility is planned. In practice leaders keep drafts private and share org-wide the views the team actually runs on.
Drill-downIf someone challenges a number in the room, can I show my work?
Click the bar. Any bar or segment opens the exact deals it counted, and any of those opens the full deal: the calls, the evaluation record, the requests, and the technical hours booked to it. The number and its evidence are the same object.
AutomationCan dashboards be assembled for us rather than by hand?
Yes, programmatically. Opine's agents and the MCP server can create dashboards and add widgets, so a board that has to exist every quarter can be built by an automation. What it produces is the same widget you'd have built yourself, running the same query.
Proven in the field
Technical sales teams run their reporting on Opine. The results are public.
“I’ve used countless presales tools over the years, and I can confirm that not a single one comes close to what Opine is doing. Because of their platform, win rates are up, SEs are more efficient, and leadership has access to never-before-seen pipeline intelligence. It’s amazing.”

Shaun Dolan
Director of Solutions Engineering at Orca Security


