The Command Center
Daily operations dashboard for ops teams: jobs ready to schedule, this week's installs, and at-risk projects in one view.
One screen for ops. What's ready to schedule, what's on the calendar this week, what's about to slip. Updated continuously.
What you'll learn
- What the three Command Center widgets show
- Who has access (and who doesn't)
- How to act on each widget
Where to find it
Sidebar → Command Center (or /dashboard/[teamId]/command-center).
Who can see it
This page is operations-only. The following roles have access:
- Owner
- Admin
- Member (with the
OPS_DASHBOARD_VIEWpermission, the default)
Sales roles (sales_manager, sales_agent) and viewer roles see a friendly "no access" message — the link is still navigable but the page itself is gated. If you should have access and don't, ask your owner to confirm your role.
The three widgets
The page is a three-column grid. Each widget loads independently, so a slow query in one doesn't block the others.
1. Jobs Ready to Schedule
Every project that's cleared its prerequisites (permit approved, paperwork complete, customer reachable) but hasn't been booked for install yet. Sorted by how long it's been ready — oldest first, because those are the ones most likely to slip.
What to do here:
- Pick a job near the top of the list
- Click through to the project to confirm the readiness flags are still green
- Book the install from the project's Schedule tab (or let Cal propose a slot)
2. Jobs Scheduled This Week
A 7-day forward look at every install on the calendar. Shows date, crew, address, system size, and whether all photos / docs / inventory are confirmed.
What to do here:
- Spot any installs missing crew assignments and assign them
- Cross-check the install pack for completeness
- Flag conflicts (two installs on the same day for the same crew) — Cal usually catches these via its
schedule-conflict-scannerskill, but the human gut check is the safety net
3. Jobs at Risk
Projects flagged by the Buddies' risk skills — permits stalled past AHJ median (Pip), deals stuck mid-cycle (Sam), data gaps that will bite on install day (Quinn). Each row links to the underlying inbox item.
What to do here:
- Open the highest-confidence flags first
- Approve, dismiss, or suppress the Buddy's draft action
- For "data gap" flags, route the task to whoever owns the field
How data refreshes
Each widget queries fresh on every page load. There's no polling — re-open the page or hit refresh to repull. The KPIs are all read-only on this page; actions happen on the linked project pages.
Verify it worked
- The three widgets render in a row at the top of the page
- Each widget shows a count and a short list of project rows
- Clicking a row navigates to that project's detail page
- If you're on a sales role, you see the no-access message instead
Troubleshooting
"I see the page but the widgets are empty." — Either you have no projects in any of these states (good!), or your team has no projects yet. If you expected data, check that the projects table has rows for your team.
"I get a 'no access' message even though I'm an admin." — The permission check reads team_members.role_keys. If your role row is on the legacy member_roles table only, ask an owner to migrate you. Admins should always have OPS_DASHBOARD_VIEW.