Thread.bi
Studio
Onboard New Client
Client Identity
Modules
Users
Users default to all selected modules above. Uncheck to restrict per user.
Fabric Workspace
Warehouse created automatically. Ensure TailoredBI-Fabric-Query SP has Member access.
Branding
ERP Connection
Refresh Schedule
UTC 7 = 1 AM MT, UTC 18 = 12 PM MT, UTC 23 = 5 PM MT
Execute Onboarding
Client Status
Clients
Users
Refresh Schedule
Reports
Client Branding
Feature Modules
ETL Engine
Loading from Azure DevOps...
Sync Health
Cross-tenant operator view: mirror pipelines, SWA + DB reachability, agent status. Silent sync failures show up here before anyone notices stale reports.
Loading health snapshot…
DAX Engine
Run TMDL/DAX scripts against Fabric semantic models — the Tabular Editor 2 workflow, inside Studio.
Prototype
Backend wiring status
This panel is a UI scaffold. For Execute to actually update a Fabric semantic model, we need:
• A new API action on threadbi-api: /dax/execute accepting {workspaceId, modelId, tmdl}
• That action calls Fabric REST POST /workspaces/{ws}/semanticModels/{model}/updateDefinition with TMDL payload (async job)
• Polls the returned job until complete, returns status to Studio
• Auth via the existing TailoredBI-Fabric-Query service principal (already configured in Function App env vars)

Workspace + Model dropdowns populate from Fabric API directly (no backend needed) — those should work once you're logged into Studio with MSAL.
Report Engine
Auto-generate Power BI reports from templates per tenant + module.
A functional prototype of this already exists as deploy.cjs + the templates/ folder (25 visual generators, PBIR template engine). This panel will formalize it: pick tenant + module + template → generate → deploy to their Fabric workspace via git sync.

Status: panel pending — source engine runs from CLI today.
Data Model Engine
Create Fabric semantic models from a spec (tables + relationships + hierarchies + RLS).
Accepts a YAML/JSON model spec, translates to TMDL, calls Fabric's semantic model create API. Complements the DAX Engine: DAX Engine UPDATES existing models, Model Engine CREATES new ones.

Status: design only — no implementation yet.