Skip to content

AdhamKhouly/daily-operational-review-power-platform-case-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Daily Operational Review (DOR) App — Power Platform Case Study

Daily Operational Review DOR App Banner

Power Apps SharePoint Power Automate Power BI


Overview

The Daily Operational Review (DOR) App is a sanitized enterprise case study of a Power Platform solution built to support daily operational review routines.

The project was developed as part of a broader Global operational excellence initiative focused on improving team visibility, task accountability, meeting discipline, attendance tracking, leave visibility, and automated operational follow-up.

This repository does not contain the production app package, internal links, tenant IDs, employee data, or confidential operational records. Instead, it presents a public, portfolio-safe version of the solution architecture, documentation, mock screenshots, and sanitized Power Fx / Power Automate logic.

The goal of this repository is to show how a real operational process can be translated into a structured Power Platform solution using:

  • Power Apps for the user-facing operational workspace
  • SharePoint Lists as the backend data layer
  • Power Automate for scheduled workflows, notifications, and archiving
  • Power BI for embedded operational reporting

What the App Solves

Daily operational review meetings can become messy when the information needed to run them is scattered across emails, spreadsheets, dashboards, chats, and separate trackers.

The DOR App brings the daily routine into one structured workspace.

It helps teams answer questions like:

  • Who is present, absent, or on leave today?
  • What tasks are open, completed, in progress, or overdue?
  • Who owns each task, and who is the backup?
  • What needs to be discussed in the daily review meeting?
  • Who is facilitating this week’s DOR?
  • Which operational links and dashboards should the team use?
  • Which records should stay active, and which should move to archive?

Key Capabilities

Area Capability
Attendance Tracking Daily team status tracking with Present, Absent, Unknown, and On Leave states.
Task Management Assign tasks with owner, backup, manager, priority, deadline, status, and comments.
Leave Management Add, edit, delete, and archive team leave records.
Guided DOR Agenda Reorder agenda items and run the meeting using a timer-based flow.
Facilitator Planning Assign weekly facilitators and automate reminder emails.
Announcements Allow managers or facilitators to add daily operational announcements.
KPI Links Store and validate operational measure and distribution links.
Power BI Embedding Surface operational dashboards inside the app.
Notifications Send task assignment, completion, overdue, and facilitator emails.
Archiving Move old records into archive lists to keep active lists clean.
Scalability Use ID-based Power Automate batching for large SharePoint Lists.
Governance Apply manager-based access, system-controlled statuses, and sanitized documentation.

System Architecture

DOR App Architecture Diagram

The solution is organized into five main layers:

Layer Purpose
Users & Roles Managers, team members, facilitators, and controlled support/admin users.
Power Apps Canvas App Main frontend experience for dashboards, tasks, leaves, agenda, links, and embedded reporting.
SharePoint Data Layer Structured backend lists for active records, logs, and archives.
Power Automate Workflow Layer Scheduled and event-driven workflows for notifications, resets, updates, and archiving.
Power BI Reporting Layer Embedded dashboards for operational visibility and confidential reporting.

Application Screens

All screenshots use mock data and sanitized visuals.

Loading Screen

DOR App Loading Screen


Dashboard

DOR App Dashboard

The Dashboard gives managers and teams a fast view of task completion, attendance status, team availability, daily announcements, and the DOR meeting agenda.


Guided Agenda

DOR App Agenda Flow

The agenda module turns the daily meeting into a guided flow. Agenda items can be reordered, then played using timers so the meeting stays structured without becoming rigid.


Facilitator Planning

DOR App Facilitator Screen

Managers can assign a weekly facilitator, connect the assignment to a week number, and rely on Power Automate to notify the facilitator.


Team Management

DOR App Team Screen

The Team tab brings together team status, leave records, task assignment, task editing, task filtering, status toggling, and comment tracking.


Measures & Distribution Links

DOR App Measures Screen

The Measures & Distribution area centralizes operational links and applies validation so submitted links are usable and secure.


Core Modules

Module Description
Dashboard Main operational overview with KPIs, attendance, task charts, announcements, and agenda controls.
Facilitator Weekly facilitator assignment and pre-meeting checklist.
Team Leave management, task assignment, task tracking, backup ownership, and comments.
Measures & Distrib. KPI and distribution link submission with HTTPS validation.
OPM Embedded operational Power BI dashboard.
Leave & Quota Confidential embedded Power BI dashboard.

SharePoint Data Architecture

The app uses SharePoint Lists as the backend.

Active lists support daily operations. Archive/history lists preserve older records and reduce performance risk.

Active List Archive / History List Purpose
TeamMember AttendanceLog Daily attendance status and historical snapshots.
TaskList ArchiveTaskList Active tasks and archived task history.
MembersOnLeave ArchiveLeaveList Active/scheduled leaves and expired leave history.
FacilitatorList Archived_Facilitator Weekly facilitator assignments and archived facilitator history.
DailyTeamAnnouncement DailyTeamAnnouncement_Archive Active announcements and archived announcements.

Detailed documentation is available here:

docs/SharePoint_List_Architecture.md

Power Automate Workflows

The automation layer keeps the operational process running without requiring constant manual follow-up.

# Workflow Schedule / Trigger Purpose
1 Adjust Team Status Daily and Populate Attendance Log Daily at 12:01 AM Logs attendance, resets statuses, and applies active leave status.
2 Email This Week’s Facilitator Sunday at 12:10 AM Sends facilitator reminder email.
3 Change Overdue Tasks Status and Daily Notifications Daily at 12:10 AM Marks overdue tasks and sends notifications.
4 Email When a New Task Was Assigned On task create / modify Sends assignment, update, and completion emails.
5 Remove and Archive Past Leaves Scheduled Moves expired leaves to archive.
6 Archive Tasks with 3-Week Old Deadlines Scheduled Archives old task records.
7 Archive Two-Week Old Announcements Scheduled Archives old announcements.
8 Archive 50-Days Old Facilitator Assignments Daily at 12:30 AM Archives facilitator records not modified for 50 days.

Detailed documentation is available here:

docs/Power_Automate_Workflows.md

Scalable Batch Processing Pattern

One of the strongest technical parts of the solution is the large-list workflow pattern.

Several Power Automate flows use ID-based batching so they can continue working even if SharePoint Lists grow significantly.

Initialize varLastID = 0
Initialize varHasMore = true
Initialize varBatchSize = 500

Do until varHasMore = false
    Get items where ID > varLastID
    Order by ID ascending
    Top count = 500

    If no items:
        Stop loop

    If items exist:
        Process each item
        Set varLastID = last returned ID

        If returned count < 500:
            Stop loop
        Else:
            Continue

    Delay

This pattern helps reduce:

  • Flow timeout risk
  • SharePoint connector pressure
  • Throttling risk
  • Large-list processing failures
  • Manual maintenance work

Detailed documentation is available here:

docs/Scalability_and_Governance.md
snippets/batch_processing_pattern.md

Power Fx Logic Highlights

The app uses Power Fx for calculations, validation, filtering, access control, comments, patching, and UI behavior.

Examples included in this repository:

Snippet Purpose
completion_rate.powerfx Calculates dashboard completion rate safely.
agenda_collection.powerfx Initializes the DOR meeting agenda.
manager_access_logic.powerfx Shows manager-based access control logic.
facilitator_filter.powerfx Filters facilitator assignments by manager/team context.
comments_reading_logic.powerfx Parses serialized task comments into gallery records.
comments_submission_logic.powerfx Appends a new task comment while preserving history.
add_task.powerfx Creates new task records with validation.
add_leave_and_update_status.powerfx Creates leave records and updates active leave status.
link_validation.powerfx Validates manager-only HTTPS link submission.
task_status_toggle.powerfx Toggles task status between active and completed states.

Detailed documentation is available here:

docs/Power_Fx_Logic.md

Why the Comments Logic Is Interesting

The app stores task comments inside the TaskList record using a structured text format.

PostedDate§§FIELD§§CommentText§§FIELD§§PostedBy§§COMMENT§§NextComment...

This design keeps comments attached to their task, simplifies archiving, and avoids creating another growing SharePoint list.

The app then uses Power Fx to split, parse, sort, and display those comments in a gallery.

This was a practical trade-off: simpler architecture and easier task-level traceability, while still preserving comment history.


Governance and Privacy

This repository is intentionally sanitized.

It does not include:

  • Real employee emails
  • Real employee names
  • Internal SharePoint links
  • Power Apps play/edit links
  • Power Automate flow links
  • Tenant IDs
  • Environment IDs
  • Real Power BI dashboards
  • Real task records
  • Real operational KPIs
  • Production app packages
  • Confidential business data

It only includes:

  • Sanitized documentation
  • Mock screenshots
  • Architecture diagrams
  • Public-safe Power Fx snippets
  • Public-safe workflow patterns
  • Portfolio-level explanation of the solution

Repository Structure

daily-operational-review-power-platform-case-study
│
├── .gitignore
├── LICENSE
├── README.md
│
├── assets
│   └── banner.png
│
├── diagrams
│   └── architecture-diagram.png
│
├── docs
│   ├── DOR_App_Case_Study.md
│   ├── Power_Automate_Workflows.md
│   ├── Power_Fx_Logic.md
│   ├── Scalability_and_Governance.md
│   └── SharePoint_List_Architecture.md
│
├── screenshots
│   ├── agenda_mock.png
│   ├── dashboard_mock.png
│   ├── facilitator_mock.png
│   ├── loading-screen.png
│   ├── measures_mock.png
│   └── team_mock.png
│
└── snippets
    ├── add_leave_and_update_status.powerfx
    ├── add_task.powerfx
    ├── agenda_collection.powerfx
    ├── batch_processing_pattern.md
    ├── comments_reading_logic.powerfx
    ├── comments_submission_logic.powerfx
    ├── completion_rate.powerfx
    ├── facilitator_filter.powerfx
    ├── link_validation.powerfx
    ├── manager_access_logic.powerfx
    └── task_status_toggle.powerfx

Documentation

Document Description
DOR_App_Case_Study.md Main end-to-end case study.
SharePoint_List_Architecture.md Detailed backend list architecture.
Power_Automate_Workflows.md Workflow inventory, schedules, and logic.
Power_Fx_Logic.md Power Fx formulas and UI/business logic.
Scalability_and_Governance.md Scalability, retention, batching, privacy, and governance.

Skills Demonstrated

This project demonstrates more than basic low-code development.

Skill Area Demonstrated Through
Power Apps Canvas app design, galleries, forms, timers, charts, custom UI, and validation.
Power Fx Filtering, patching, collections, calculations, parsing, state handling, and error handling.
SharePoint Architecture Active lists, archive lists, person fields, choice fields, and operational data modeling.
Power Automate Recurrence flows, item-triggered flows, notifications, archiving, batching, and scheduled maintenance.
Power BI Integration Embedded dashboards inside the operational app.
Governance Manager-based access, sanitized documentation, retention rules, and controlled system statuses.
Scalability ID-based batch processing and archive-first data lifecycle design.
Product Thinking Turning a recurring operational process into a structured digital workflow.
Business Analysis Mapping daily review routines into tasks, statuses, ownership, dashboards, and automation.

What Makes This Project Different

A lot of Power Platform apps stop at forms and lists.

This solution goes further by including:

  • A structured daily operating rhythm
  • Meeting agenda flow with timers
  • Task ownership with backup responsibility
  • Automated overdue detection
  • Daily status reset and attendance logging
  • Leave-driven status control
  • Facilitator scheduling
  • Archive-first data lifecycle design
  • Large-list Power Automate batching
  • Governance and privacy considerations
  • Portfolio-safe technical documentation

That combination makes it closer to an operational system than a simple app.


🧑‍💻 Author

Adham Elkhouly

  • Analytics Specialist @ Nestlé
  • Microsoft Power Platform Functional Consultant Associate
  • Developed independently as part of an internal automation initiative to improve daily operational review workflows using the Microsoft Power Platform.

Final Note

This repository is not a production export and cannot be used to access any internal system.

It is a public, sanitized case study showing how Power Apps, SharePoint, Power Automate, and Power BI can be combined to build a scalable daily operational review solution.

Releases

Packages

Contributors