BuilderVault
Build-your-own PMO blueprint

Communications and Power BI reporting

Convert PMO data into status communications, executive dashboards, operational queues, and stakeholder updates.

Finished outcome: A reporting and communications layer that turns intake, charter, gate, change, risk, and issue data into decisions.

Business problem

Executives do not need more raw project data. They need clear status, exceptions, decisions needed, and trend signals.

Core data model

  • Status Updates
  • Milestones
  • Communications
  • Report Snapshots
  • Decision Requests
  • Benefits Tracking

Portals and workflows to build

Communications Center

Prepare stakeholder updates, decision requests, meeting summaries, and portfolio digests from the PMO data model.

Power Platform build

  • status update form
  • audience-specific message templates
  • decision request queue
  • communication history

Automations

  • weekly status reminder
  • executive digest
  • decision-needed Teams alert
  • missed update escalation

Reporting

  • missing status updates
  • decisions awaiting sponsor
  • communication coverage
  • benefits review readiness

Power BI PMO Reporting Pack

Provide dashboards for portfolio health, intake demand, gate progress, change impact, risks, issues, and benefits.

Power Platform build

  • SharePoint or Dataverse semantic model
  • standard measures
  • role-based report pages
  • published app workspace

Automations

  • dataset refresh schedule
  • snapshot export
  • threshold-based alert
  • monthly benefits review reminder

Reporting

  • portfolio health
  • delivery confidence
  • stage aging
  • RAID
  • change impact
  • benefits realization

Power BI report pages

  • Executive portfolio overview
  • delivery health scorecard
  • financial and benefit tracking
  • PMO operations dashboard

Implementation roadmap

  • Standardize project status and health definitions.
  • Build status update capture.
  • Create a clean reporting model from operational lists/tables.
  • Publish executive and working-team report pages.
  • Automate reminders, alerts, and report snapshots.

Governance notes

  • Avoid dashboards that simply mirror raw lists.
  • Use definitions for red/yellow/green health so teams report consistently.
  • Separate executive reporting from working-team operations views.

Next layer down: implementation details

Table build specs

EitherStatus Updates

Weekly or monthly narrative and health record for each project.

ColumnTypeRequiredNotes
ProjectLookupYesParent project.
Reporting PeriodDate or textYesWeek ending or month label.
Overall HealthChoiceYesGreen, Yellow, Red.
Scope HealthChoiceYesGreen, Yellow, Red.
Schedule HealthChoiceYesGreen, Yellow, Red.
Budget HealthChoiceYesGreen, Yellow, Red.
Key AccomplishmentsMultiple lines textYesWhat changed since last period.
Next StepsMultiple lines textYesWhat happens next.
Decisions NeededMultiple lines textNoFeeds decision request queue.
StatusChoiceYesDraft, Submitted, Needs Revision, Published, Missed.

Relationships

  • Many Status Updates relate to one Project.
  • Decision Requests can be generated from status updates.

Recommended indexes

  • Project
  • Reporting Period
  • Overall Health
  • Status
  • Submitted Date
EitherMilestones

Tracks baseline, forecast, actual dates, and variance for portfolio reporting.

ColumnTypeRequiredNotes
ProjectLookupYesParent project.
Milestone NameSingle line textYesPlanning complete, build complete, UAT complete, launch.
Baseline DateDateYesOriginal approved date.
Forecast DateDateYesCurrent expected date.
Actual DateDateNoSet when complete.
StatusChoiceYesNot Started, On Track, At Risk, Late, Complete.

Relationships

  • Many Milestones relate to one Project.

Recommended indexes

  • Project
  • Forecast Date
  • Status

Recommended fields

  • Status Update: Project, Reporting Period, Overall Health, Scope Health, Schedule Health, Budget Health, Key Accomplishments, Next Steps, Decisions Needed, Help Needed, Submitted By, Submitted Date.
  • Milestone: Project, Milestone Name, Baseline Date, Forecast Date, Actual Date, Status, Owner, Notes.
  • Communication: Project, Audience, Message Type, Subject, Summary, Sent Date, Sent By, Channel.
  • Benefits Tracking: Project, Benefit Metric, Baseline, Target, Current Value, Measurement Date, Owner.

Screens to build

  • Weekly status update form with health ratings, accomplishments, next steps, blockers, and decisions needed.
  • Executive summary screen that rolls project updates into a portfolio narrative.
  • Milestone update screen for baseline, forecast, actual, and variance notes.
  • Benefits review screen for target, current value, evidence, and next measurement date.

Power Apps screen blueprints

Project managerWeekly Status Entry Screen

Capture consistent weekly status updates for reporting.

Layout

  • Project header
  • Health rating row
  • Narrative fields
  • Decisions and help needed
  • Submit to PMO review

Controls

  • frmStatusUpdate
  • cmbOverallHealth
  • cmbScopeHealth
  • cmbScheduleHealth
  • cmbBudgetHealth
  • txtAccomplishments
  • txtNextSteps
  • txtDecisionsNeeded
  • btnSubmitStatus

Formula notes

  • Health ratings required before submit
  • Red health requires help-needed notes
  • Submitted status locks update from project manager edits

Data sources

  • Status Updates
  • Projects
  • Decision Requests
PMO reviewerPMO Status Review Screen

Review, publish, or request revisions before executive reporting.

Layout

  • Submitted updates queue
  • Selected update preview
  • Quality checklist
  • Publish or request revision actions

Controls

  • galSubmittedUpdates
  • cntStatusPreview
  • chkNarrativeQuality
  • txtRevisionComments
  • btnPublish
  • btnRequestRevision

Formula notes

  • Publish stamps Published Date and current reporting flag
  • Revision sends comments back to PM
  • Decision-needed text can generate Decision Request row

Data sources

  • Status Updates
  • Decision Requests
  • Communication Log
Executive or PMO leadPortfolio Reporting Workspace Screen

Surface Power BI pages, decision queues, and report refresh status from one workspace.

Layout

  • Embedded report links
  • Red/yellow project queue
  • Decisions needed
  • Refresh and snapshot status

Controls

  • lnkPortfolioReport
  • galRedProjects
  • galDecisionRequests
  • lblLastRefresh
  • btnSendDigest

Formula notes

  • Red projects gallery filters current status update
  • Digest button triggers communications flow
  • Decision queue filters open sponsor decisions

Data sources

  • Status Updates
  • Projects
  • Decision Requests
  • Report Snapshots

Dataverse solution component map

Create this as BV PMO Reporting using publisher prefix bvpmorpt.

Tables

  • bv_statusupdate
  • bv_milestone
  • bv_communication
  • bv_reportsnapshot
  • bv_decisionrequest
  • bv_benefittracking

Choices

  • bv_healthrating
  • bv_statusupdatestate
  • bv_milestonestatus
  • bv_audience
  • bv_decisionpriority

Apps

  • Weekly Status Entry
  • PMO Status Review
  • Portfolio Reporting Workspace

Cloud flows

  • Reporting - Create Weekly Status Shells
  • Reporting - Missed Update Escalation
  • Reporting - Publish Digest
  • Reporting - Snapshot Month End

Security roles

  • Status Project Manager
  • Status PMO Reviewer
  • Sponsor Report Viewer
  • Executive Report Viewer

Environment variables

  • Status Due Day
  • Executive Digest Recipients
  • Power BI Workspace URL
  • Report Snapshot Library URL

Dashboards

  • Executive Portfolio Overview
  • Delivery Health Scorecard
  • Milestone Variance
  • Benefits Realization

Power Fx snippets

btnSubmitStatus.DisplayModeRequire help-needed notes for red health
Formula / code
If(
    cmbOverallHealth.Selected.Value = "Red" && IsBlank(Trim(txtHelpNeeded.Text)),
    DisplayMode.Disabled,
    DisplayMode.Edit
)

Implementation notes

  • Red status without help-needed notes creates executive noise.
  • Show a small field-level message explaining why submit is disabled.
btnSubmitStatus.OnSelectSubmit weekly status update
Formula / code
IfError(
    Patch(
        'Status Updates',
        varCurrentStatusUpdate,
        {
            'Overall Health': cmbOverallHealth.Selected,
            'Scope Health': cmbScopeHealth.Selected,
            'Schedule Health': cmbScheduleHealth.Selected,
            'Budget Health': cmbBudgetHealth.Selected,
            'Key Accomplishments': txtAccomplishments.Text,
            'Next Steps': txtNextSteps.Text,
            'Decisions Needed': txtDecisionsNeeded.Text,
            Status: { Value: "Submitted" },
            'Submitted Date': Now()
        }
    ),
    Notify("Status update could not be submitted.", NotificationType.Error),
    Notify("Status update submitted to PMO review.", NotificationType.Success)
);

Implementation notes

  • Create the status shell with a scheduled flow before the reporting period starts.
  • Publishing should happen after PMO review, not directly from the PM screen.

Power Automate flow pseudo-steps

FlowReporting - Create Weekly Status Shells

Trigger: Scheduled weekly before status updates are due.

Workflow map

List active projects. ->
Create draft Status Update for each project and reporting period if missing. ->
Email project managers with direct links. ->
Post PMO summary of missing drafts.

Useful expressions

  • formatDateTime(utcNow(), 'yyyy-\WW')
  • @equals(items('Apply_to_each_project')?['Status'], 'Active')
FlowReporting - Publish Digest

Trigger: When PMO publishes status updates or on weekly schedule.

Workflow map

List current published status updates. ->
Group red and yellow projects. ->
List decisions needed. ->
Refresh Power BI dataset. ->
Send executive digest email or Teams post.

Useful expressions

  • @equals(item()?['IsCurrent'], true)
  • join(variables('DecisionLinks'), '<br/>')

Status model

  • Not Started
  • Draft
  • Submitted
  • Needs Revision
  • Published
  • Missed

Permissions

  • Project managers create and edit their status updates.
  • PMO reviewers request revisions and publish updates.
  • Sponsors view status, decisions needed, and benefits for their projects.
  • Executives view portfolio reporting and decision requests.

Workflow map

Create reporting period shell ->
Project manager submits update ->
PMO reviews and requests revisions if needed ->
Publish portfolio status ->
Refresh Power BI dataset ->
Send stakeholder digest ->
Snapshot month-end measures

Workflow logic

  • Create status update shells at the start of each reporting period.
  • Send reminders before due dates and missed-update escalations after deadlines.
  • When an update is published, refresh Power BI and notify stakeholders.
  • If decisions are needed, create decision request records linked to the status update.

Power BI measures and calculations

  • Current Red Projects = COUNTROWS(FILTER('Status Updates', 'Status Updates'[Overall Health] = "Red" && 'Status Updates'[Is Current] = TRUE()))
  • Milestone Variance Days = DATEDIFF('Milestones'[Baseline Date], 'Milestones'[Forecast Date], DAY)
  • Missing Status Count = COUNTROWS(FILTER('Status Updates', 'Status Updates'[Status] = "Missed"))
  • Benefits Realization % = DIVIDE(SUM('Benefits Tracking'[Current Value]), SUM('Benefits Tracking'[Target]))

MVP build sequence

  • Define standard health ratings and weekly status questions.
  • Build status update capture and PMO review screens.
  • Create milestone and benefits tracking tables linked to projects.
  • Build executive Power BI pages for health, milestones, decisions, and benefits.
  • Automate reminders, escalations, dataset refresh, and stakeholder digest emails.

Starter template downloads