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
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?
| 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. |
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. |
All screenshots use mock data and sanitized visuals.
The Dashboard gives managers and teams a fast view of task completion, attendance status, team availability, daily announcements, and the DOR meeting agenda.
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.
Managers can assign a weekly facilitator, connect the assignment to a week number, and rely on Power Automate to notify the facilitator.
The Team tab brings together team status, leave records, task assignment, task editing, task filtering, status toggling, and comment tracking.
The Measures & Distribution area centralizes operational links and applies validation so submitted links are usable and secure.
| 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. |
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
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
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
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
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.
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
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
| 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. |
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. |
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.
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.
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.







