Features
Dashboard & analytics
The Dashboard is the Financial Brain of OpsDash — the module that turns raw CRM and project data into revenue intelligence. It answers the question every agency owner asks: “Is the business healthy right now?”
| Module | Purpose | Time orientation |
|---|---|---|
| Dashboard | Real-time operational health: KPIs, activity feed, insights | Present — what needs attention today |
| Analytics | Trends over time: revenue trajectory, activity volume, YoY comparison | Backward — how you've been flying |
| Reports | Operational snapshots: pipeline health, project burn-down, forecasting | Forward — where you're going |
Dashboard
The first screen users see after login. Surfaces the most important operational signals in a single view without requiring navigation.
- Free: Basic KPIs (total revenue, pipeline value, win rate, activity count) + activity feed
- Sales: Full KPIs (+ expected revenue, team stats, revenue delta) + activity feed (
dashboard:kpis-full,dashboard:activity) - Studio: Insights card (deterministic rule-based alerts — no model call, no AI Pack;
dashboard:insights)
KPI cards
| KPI | What it shows | Tier |
|---|---|---|
| Won Revenue | Total value of deals closed as Won in the selected period | Free |
| Pipeline Value | Total value of open deals (not Won or Lost) | Free |
| Win Rate | % of closed deals that were Won | Free |
| Activity Trend | % change in CRM activity volume (first half vs. second half of period) | Free |
| Expected Revenue | Sum of (deal value × probability) for open deals — weighted pipeline | Free |
The dashboard has no date-range picker — the deal-flow KPIs are locked to a rolling last-30-days window (the header shows a “KPIs · last 30 days” caption). Ranged exploration (7D / 30D / 90D / YTD / All / custom) lives on the Reports and Analytics pages. Won-Revenue, Contacts, and Deals show a year-over-year trend arrow when historical data exists.
Insights
The Insights card (getInsights) surfaces four types of actionable alerts. These are deterministic rule evaluations over live data — no LLM, no model call, no narrative, no confidence score, and no API key required. It is a normal Studio-plate feature (dashboard:insights) — it renders independently of the AI master switch and is not counted as AI usage.
| Insight | Criteria |
|---|---|
| Deals at risk | No activity for 7+ days (open deals only) |
| Tasks due soon | Due date within next 3 days |
| Overdue tasks | Due date is past, status not done |
| SLA breach | sla_due_at is past, status not resolved |
Analytics
Route: /org/[slug]/analytics. Always visible on Free with basic overview charts (analytics:basic-charts). The Revenue / Traffic / AR / AP tabs and revenue-trend analysis unlock at Full Loop (analytics:revenue-trends); full year-over-year comparison rides analytics:yoy (Full Loop + the advanced-analytics add-on). Date-range presets (7D / 30D / 90D / 12M / YTD / All + custom) are available on this page.
- Revenue trend: area chart of won deal values over time vs. previous year
- Activity volume: bar chart of CRM activity counts per period
- Win rate trend: deal conversion rate over time
- Team performance: activity count per team member
Reports
Route: /org/[slug]/reports. Forward-looking snapshots for pipeline analysis and forecasting. Full Loop feature (reports:page).
- Pipeline by stage: deal count and value per stage with conversion rates
- Deal conversion funnel: how deals progress through stages
- Revenue forecast: weighted pipeline projection for the next 90 days
- Project burn-down: actual hours logged vs. estimated hours per project
Technical reference
| Item | Detail |
|---|---|
| Server action | getDashboardStats(orgSlug, options?) in actions/dashboard.ts |
| Server action | getInsights(orgSlug, locale?) in actions/dashboard.ts |
| Feature flags | dashboard:page (Free), dashboard:kpis-basic (Free), dashboard:kpis-full (Sales), dashboard:activity (Sales), dashboard:insights (Studio) |
| Planned (reserved key, no UI) | dashboard:ai-copilot — natural-language query bar (Studio + ai-pack) |
| Migration | 00034_dashboard_reports_feature_flags.sql (seeds flags) |