Project: Leave Approval System
Project: Leave Approval System
A Leave Approval System is a practical Power Automate project where employees submit leave requests, managers review those requests, and the system automatically updates the request status and sends notifications. Microsoft Learn explains that Power Automate can manage approval of documents or processes across services including SharePoint, Dynamics 365, Salesforce, OneDrive for work or school, Zendesk, and WordPress. It also specifically mentions that process approval flows can approve vacation requests, overtime work, or travel plans. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
In this project, learners build a complete leave request workflow using SharePoint List as the data source, Power Automate as the approval engine, and Outlook/Teams notifications for communication. Microsoft Learn’s approval workflow example starts when someone creates a vacation request in a SharePoint Online list, adds the request to the approval center, emails it to the approver, sends an email with the approver’s decision to the requester, and updates the SharePoint Online list with the approver’s decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Project: Leave Approval System is an end-to-end automation project where employees submit leave requests, managers approve or reject them, and the system automatically updates the request status, stores comments, and notifies the employee.
Project Objective
The main objective of this project is to help learners understand how a real business approval process can be automated using Microsoft Power Platform tools. The project focuses on request submission, approval routing, decision tracking, status update, and notification.
Microsoft Learn states that to create an approval workflow, makers can add the Approvals - Start and wait for an approval action to a flow, and after adding this action, the flow can manage approval of documents or processes. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
- Build a leave request data structure.
- Create a leave request submission process.
- Trigger an approval workflow when a request is created.
- Send approval request to the manager or approver.
- Update leave request status based on approval outcome.
- Notify the employee after approval or rejection.
- Maintain leave approval history for tracking and review.
Business Problem
In many organizations, leave requests are handled manually through email, chat, or verbal communication. This can create problems such as missed requests, delayed approvals, unclear status, lack of tracking, and difficulty finding historical records.
A Leave Approval System solves this problem by creating a structured process. The employee submits a request, the manager receives an approval task, the decision is captured, and the request status is updated automatically. Microsoft Learn’s approval workflow example follows a similar pattern for vacation requests in a SharePoint Online list. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
| Manual Problem | Automated Solution | Business Benefit |
|---|---|---|
| Leave requests are sent through email or chat | Requests are stored in a SharePoint List | All requests are available in one structured place |
| Manager may miss the request | Power Automate sends an approval request | Approval becomes trackable |
| Employee does not know current status | Status column is updated automatically | Employee can see whether request is pending, approved, or rejected |
| Decision comments may be lost | Manager comments are saved in the list | Approval history becomes easier to review |
Tools Used in This Project
This project can be created using Microsoft 365 and Power Platform services. Microsoft Learn’s vacation approval example lists prerequisites including access to Power Automate, a SharePoint Online list, Office 365 Outlook, and Office 365 Users account. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
| Tool | Purpose in Leave Approval System |
|---|---|
| SharePoint List | Stores leave request data such as employee name, dates, comments, approval status, and manager comments. |
| Power Automate | Triggers the approval workflow and controls the approval logic. |
| Approvals Connector | Creates the approval task and waits for approver response. |
| Outlook | Sends email notifications to requester and approver. |
| Office 365 Users | Can be used in approval scenarios where user or manager details are needed. |
| Power Apps | Optional front-end app for employees to submit and view leave requests. |
| Microsoft Teams Approvals | Optional approval experience where approvals created through Power Automate can appear in Teams Approvals hub. |
Microsoft Teams Approvals can show approvals created through Power Automate in the Approvals hub. [2](https://support.microsoft.com/en-us/topic/6548a338-f837-4e3c-ad02-8214fc165c84)
Project Architecture
The Leave Approval System uses a simple architecture. The employee submits the request into SharePoint or Power Apps. Power Automate detects the new request, starts the approval, waits for the manager decision, updates the SharePoint list, and sends the final notification.
Employee
|
v
Leave Request Form / SharePoint List / Power Apps
|
v
SharePoint List Item Created
|
v
Power Automate Trigger
|
v
Start and Wait for Approval
|
+-- Approved → Update Status = Approved → Notify Employee
|
+-- Rejected → Update Status = Rejected → Notify Employee
Microsoft Learn’s vacation approval example follows this core flow: the process starts when someone creates a vacation request in SharePoint, adds the request to the approval center and emails it to the approver, sends the approver’s decision to the requester, and updates the SharePoint list with decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Recommended SharePoint List Design
Microsoft Learn’s vacation approval tutorial says that before creating the flow, users should create a SharePoint Online list and later use that list to request approval for vacations. It gives example columns such as Title, Start Date, End Date, Comments, Approved, and Manager Comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
For a more complete learning project, the Leave Approval System can use the following SharePoint list design.
| Column Name | Data Type | Purpose |
|---|---|---|
| Title | Single line of text | Short request title, such as “Annual Leave Request”. |
| EmployeeName | Person | Stores the employee who submitted the leave request. |
| EmployeeEmail | Single line of text | Stores employee email for notification. |
| Department | Choice | Stores employee department. |
| LeaveType | Choice | Stores type of leave such as Annual, Sick, Casual, Unpaid, or Other. |
| StartDate | Date and Time | Stores leave start date. |
| EndDate | Date and Time | Stores leave end date. |
| Reason | Multiple lines of text | Stores employee reason for leave. |
| Approver | Person | Stores manager or approver name. |
| ApprovalStatus | Choice | Stores status such as Pending, Approved, Rejected, or Cancelled. |
| ManagerComments | Multiple lines of text | Stores approver comments after decision. |
| Approved | Yes/No | Optional column to store true/false decision. |
The basic list columns are aligned with Microsoft Learn’s vacation approval tutorial, and the additional columns are suggested for a richer classroom project design. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Power Automate Flow Design
The core automation is an automated cloud flow. Microsoft Learn’s approval tutorial uses SharePoint Online as the trigger and explains that the approval flow starts when someone creates a vacation request in a SharePoint Online list. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
| Step | Flow Component | Purpose |
|---|---|---|
| Step 1 | Trigger: When an item is created | Starts the flow when a new leave request is submitted. |
| Step 2 | Initialize or prepare leave request details | Prepares data such as employee name, leave dates, leave type, and reason. |
| Step 3 | Start and wait for an approval | Sends approval request and waits for approver decision. |
| Step 4 | Condition | Checks whether the request was approved or rejected. |
| Step 5A | If Approved | Updates SharePoint item as Approved and notifies employee. |
| Step 5B | If Rejected | Updates SharePoint item as Rejected and notifies employee. |
Microsoft Learn explicitly states that the vacation approval example adds the request to the approval center, emails it to the approver, sends the approver’s decision to the requester, and updates the SharePoint list with the approver’s decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Approval Action
The most important action in this project is Start and wait for an approval. Microsoft Learn states that to create an approval workflow, makers add the Approvals - Start and wait for an approval action to any flow. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
In the Leave Approval System, this approval action should include useful information so that the approver can make a decision without searching for details elsewhere.
| Approval Field | Recommended Project Value |
|---|---|
| Approval Type | Approve/Reject – First to respond, for a single manager approval scenario. |
| Title | Leave Approval Request - Employee Name |
| Assigned To | Approver or manager email address. |
| Details | Employee name, leave type, start date, end date, reason, and SharePoint item link. |
| Item Link | Link to the SharePoint leave request item. |
The approval action design above is a project recommendation. Microsoft Learn confirms the use of Start and wait for an approval for approval workflows and confirms that vacation request approval can be managed through Power Automate. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Approval Outcome Logic
After the approval action completes, the flow should use a condition to check the approver’s response. Microsoft Learn’s “Wait for approval in Power Automate” tutorial describes adding a condition after an approval-style action and using the selected option to decide whether the request was approved or rejected. [3](https://learn.microsoft.com/en-us/power-automate/wait-for-approvals)
Approval Response
|
+-- If Outcome = Approve
| |
| +-- Update SharePoint Status = Approved
| +-- Save Manager Comments
| +-- Send Approval Email to Employee
|
+-- If Outcome = Reject
|
+-- Update SharePoint Status = Rejected
+-- Save Manager Comments
+-- Send Rejection Email to Employee
Microsoft Learn’s vacation approval example also states that the flow sends an email with the approver’s decision to the requester and updates the SharePoint Online list with the approver’s decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Employee Notification Design
Notifications are an important part of the Leave Approval System because employees need to know whether their leave request is approved or rejected. Microsoft Learn’s approval workflow example sends an email with the approver’s decision to the person who requested vacation. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
| Notification Type | When It Is Sent | Suggested Message Content |
|---|---|---|
| Submission Confirmation | After employee submits leave request | Your leave request has been submitted and is pending approval. |
| Approval Notification | After manager approves request | Your leave request has been approved. Include dates and comments. |
| Rejection Notification | After manager rejects request | Your leave request has been rejected. Include manager comments. |
| Manager Notification | When a new request is created | A new leave request is waiting for your approval. |
Optional Power Apps Front-end
The project can be built only with SharePoint and Power Automate, but a Power Apps front-end makes the system more user-friendly. Microsoft Learn explains that users can transform Microsoft Lists or SharePoint data into a mobile and web canvas app, and that the generated app connects directly to existing lists so users can view, edit, and manage data. [4](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/app-from-sharepoint)
Microsoft Learn also explains that when an app is created from a list, Power Apps Studio opens an app with three screens: a Browse screen to scroll through all items, a Details screen to show information about a single item, and an Edit screen to create or update an item. [4](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/app-from-sharepoint)
| Power Apps Screen | Purpose in Leave Approval System |
|---|---|
| Browse Screen | Employee views submitted leave requests. |
| Details Screen | Employee or manager views full request details. |
| Edit Screen | Employee creates or updates leave request information before submission. |
| Manager Dashboard | Optional custom screen to show pending approvals. |
The manager dashboard is a suggested project enhancement; the three-screen app generation is directly supported by Microsoft Learn’s canvas app from SharePoint list documentation. [4](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/app-from-sharepoint)
Optional Teams Approval Experience
Microsoft Teams Approvals provides a central place to create, view, and manage approvals. Microsoft product help states that approvals created through Power Automate will appear in the Teams Approvals hub. [2](https://support.microsoft.com/en-us/topic/6548a338-f837-4e3c-ad02-8214fc165c84)
Microsoft product help also explains that Approvals in Teams can be used to streamline requests and processes, create new approvals, view approvals sent your way, and see previous approvals in one place. It also says that request time off is one of the types of approval needs users can handle with Approvals. [5](https://support.microsoft.com/en-us/topic/a9a01c95-e0bf-4d20-9ada-f7be3fc283d3)
| Teams Approval Feature | Use in Leave Approval Project |
|---|---|
| Approvals hub | Approvers can view approvals they have sent or received. |
| Approvals card | Shows real-time summary of approval status. |
| Workflow approval | Approvals created through Power Automate appear in the Approvals app. |
Leave Approval System Workflow
The workflow should be simple enough for learners to understand but complete enough to represent a real business process.
1. Employee submits leave request
2. Request is saved in SharePoint List
3. Power Automate starts automatically
4. Approval request is sent to manager
5. Manager approves or rejects
6. SharePoint item is updated
7. Employee receives final notification
8. Request history remains available in SharePoint
This project flow is based on Microsoft Learn’s vacation approval example, where the flow starts from a SharePoint Online vacation request, sends approval to approver, sends decision email to requester, and updates the SharePoint list with approver comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Project Implementation Steps
The following implementation plan is written as a classroom-friendly project guide.
| Phase | Implementation Task | Expected Output |
|---|---|---|
| Phase 1 | Create SharePoint List for leave requests | Leave Requests list with required columns |
| Phase 2 | Create automated cloud flow | Flow starts when a new list item is created |
| Phase 3 | Add approval action | Manager receives approval request |
| Phase 4 | Add condition for approval outcome | Flow separates Approved and Rejected paths |
| Phase 5 | Update SharePoint item | Status and manager comments are saved |
| Phase 6 | Send employee notification | Employee receives approval or rejection email |
| Phase 7 | Test project with sample leave requests | System works end-to-end |
| Phase 8 | Add optional Power Apps front-end | Employees can submit and view requests through an app |
Microsoft Learn confirms the key building blocks: SharePoint list, automated cloud flow, approval action, approver decision email, and SharePoint status/comment update. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Flow Logic: Pseudo Design
The following pseudo design helps learners understand the complete logic before building the flow.
Trigger:
When an item is created in Leave Requests list
Actions:
1. Get leave request details
2. Start and wait for an approval
3. Check approval outcome
If Approved:
- Update item:
ApprovalStatus = Approved
Approved = Yes
ManagerComments = Approval comments
- Send email to employee:
Your leave request has been approved
If Rejected:
- Update item:
ApprovalStatus = Rejected
Approved = No
ManagerComments = Approval comments
- Send email to employee:
Your leave request has been rejected
Microsoft Learn states that the approval flow can send the approver’s decision to the requester and update the SharePoint list with approver decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Sample Approval Details Message
The approval request should contain enough details for the manager to decide quickly.
Leave Approval Request
Employee Name: [EmployeeName]
Department: [Department]
Leave Type: [LeaveType]
Start Date: [StartDate]
End Date: [EndDate]
Reason: [Reason]
Please approve or reject this leave request.
This approval message is a suggested project design. Microsoft Learn supports including approval details through the approval workflow pattern where the request is added to the approval center and emailed to the approver. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Sample Email Templates
Approval Email to Employee
Subject: Your Leave Request Has Been Approved
Hello [EmployeeName],
Your leave request has been approved.
Leave Type: [LeaveType]
Start Date: [StartDate]
End Date: [EndDate]
Manager Comments: [ManagerComments]
Thank you.
Rejection Email to Employee
Subject: Your Leave Request Has Been Rejected
Hello [EmployeeName],
Your leave request has been rejected.
Leave Type: [LeaveType]
Start Date: [StartDate]
End Date: [EndDate]
Manager Comments: [ManagerComments]
Please contact your manager for more details.
These email templates are project suggestions. Microsoft Learn confirms that the flow sends an email with the approver’s decision to the person who requested vacation. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Testing the Leave Approval System
Testing is important because learners must confirm that request creation, approval routing, SharePoint update, and notification all work correctly.
| Test Case | Action | Expected Result |
|---|---|---|
| Submit new leave request | Create a new item in Leave Requests list | Flow starts automatically |
| Approve request | Manager selects Approve | Status becomes Approved and employee receives approval email |
| Reject request | Manager selects Reject | Status becomes Rejected and employee receives rejection email |
| Manager comments | Approver enters comments | Comments are saved in ManagerComments column |
| Missing approver | Submit request without approver | Flow should not proceed silently; maker should handle validation or error path |
Microsoft Learn’s example includes creating and testing an approval workflow, and the flow updates the SharePoint list with approver decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Error Handling Suggestions
The Leave Approval System should not fail silently. If the approver email is missing, if the SharePoint item cannot be updated, or if notification fails, the flow owner should be able to identify the problem.
- Validate required fields such as Employee Email, Start Date, End Date, and Approver.
- Use a default status such as Pending when request is created.
- Add failure notification to flow owner for important errors.
- Log approval response and comments clearly.
- Test both approval and rejection paths before sharing the solution.
These are project design suggestions. Microsoft Learn confirms that the approval flow updates the SharePoint list with the approver’s decision comments, which supports the need for proper status/comment tracking. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Security and Permission Considerations
Microsoft Learn includes an important note for the approval workflow tutorial: always follow SharePoint security best practices and your organization’s best practices to ensure the environment is secure. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
| Security Area | Recommended Project Consideration |
|---|---|
| Employee Access | Employees should submit and view only appropriate request information based on organization policy. |
| Manager Access | Managers should be able to review requests assigned to them. |
| HR/Admin Access | HR or administrators may need access to all leave records for tracking. |
| List Permissions | SharePoint permissions should be configured according to organizational requirements. |
| Data Privacy | Leave reason and employee information should be handled carefully. |
The table contains implementation suggestions. The need to follow SharePoint and organizational security best practices is directly supported by Microsoft Learn. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Possible Enhancements
After the basic project works, learners can add enhancements to make the project more realistic.
| Enhancement | Description | Learning Value |
|---|---|---|
| Power Apps Form | Create a mobile/web app connected to the SharePoint list. | Teaches app-based data submission. |
| Calendar View | Create a calendar-style view of approved leave requests. | Helps visualize employee availability. |
| Leave Balance List | Maintain remaining leave balance in a separate list. | Teaches multi-list logic. |
| Two-level Approval | Team Lead approves first, Manager approves second. | Teaches sequential approval design. |
| Teams Approval | Use Teams Approvals hub for approval visibility. | Teaches collaboration-based approval experience. |
| Dashboard | Show total pending, approved, and rejected requests. | Teaches reporting and tracking. |
Microsoft Learn confirms that Power Apps can create a canvas app from SharePoint list data with browse, details, and edit screens, and Microsoft product help confirms that Power Automate approvals can appear in the Teams Approvals hub. [4](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/app-from-sharepoint)[2](https://support.microsoft.com/en-us/topic/6548a338-f837-4e3c-ad02-8214fc165c84)
Project Deliverables
At the end of this project, learners should have a working leave approval solution.
| Deliverable | Description |
|---|---|
| SharePoint Leave Requests List | A structured list to store employee leave request data. |
| Power Automate Approval Flow | An automated flow that starts when a new leave request is created. |
| Approval Request | A manager-facing approval task with leave request details. |
| Status Update Logic | Automated update of Approved or Rejected status. |
| Email Notifications | Employee receives decision notification. |
| Optional Power App | A user-friendly app for submitting and viewing leave requests. |
| Testing Evidence | Sample approved and rejected requests showing the flow works. |
Learning Outcomes
After completing this project, learners should be able to:
- Create a SharePoint List for a business approval process.
- Design an automated cloud flow triggered by a new SharePoint item.
- Use the Start and wait for an approval action in Power Automate.
- Apply condition logic based on approval outcome.
- Update SharePoint item status after approval or rejection.
- Send email notifications using flow actions.
- Understand how approval decisions and comments can be tracked.
- Optionally build a Power Apps front-end from SharePoint data.
- Understand how Teams Approvals can support approval visibility.
These outcomes are based on Microsoft Learn’s documented approval workflow pattern and Power Apps list-based app capabilities. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)[4](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/app-from-sharepoint)
Common Mistakes Beginners Make
- Creating the flow before finalizing the SharePoint list columns.
- Not setting a default status such as Pending.
- Forgetting to save manager comments after approval or rejection.
- Only testing the approved path and not testing the rejected path.
- Hardcoding approver email when a dynamic approver field is required.
- Sending approval request without enough details for the manager.
- Not following SharePoint and organizational security best practices.
- Not documenting the flow logic for future maintenance.
These are teaching-focused project cautions. Microsoft Learn confirms the need for a SharePoint list, approval action, decision email, list update, and security best-practice awareness in the vacation approval workflow example. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
Project Checklist
| Checklist Item | Status |
|---|---|
| SharePoint List created | To be completed |
| Required columns added | To be completed |
| Default ApprovalStatus configured as Pending | To be completed |
| Automated cloud flow created | To be completed |
| Trigger configured for new item creation | To be completed |
| Start and wait for approval action added | To be completed |
| Condition added for approval outcome | To be completed |
| Approved path updates SharePoint and sends email | To be completed |
| Rejected path updates SharePoint and sends email | To be completed |
| Flow tested with approved request | To be completed |
| Flow tested with rejected request | To be completed |
| Optional Power Apps interface created | Optional |
Simple Summary
The Leave Approval System is a real-life Power Automate project where employees submit leave requests, managers approve or reject them, and the system automatically updates the status and sends notifications.
Microsoft Learn provides a directly related vacation approval example where the flow starts when someone creates a vacation request in a SharePoint Online list, adds the request to the approval center, emails it to the approver, sends the approver’s decision to the requester, and updates the SharePoint list with decision comments. [1](https://learn.microsoft.com/en-us/power-automate/modern-approvals)
This project is ideal for beginners because it combines important Power Automate concepts such as triggers, actions, approvals, conditions, SharePoint updates, and notifications in one practical solution.
Conclusion
Project: Leave Approval System is one of the best mini projects for learning Power Automate because it represents a common business process. It teaches learners how to collect request data, route the request for approval, capture the approval decision, update the record, and notify the requester.
The project can start with a simple SharePoint List and Power Automate flow. After the basic version works, learners can improve it with Power Apps, Teams Approvals, multi-level approval, leave balance calculation, calendar view, and dashboard reporting.
By completing this project, learners understand how Power Platform can transform a manual approval process into a structured, trackable, and automated business solution. After this project, learners can move to Project: Expense Approval System or Project: Employee Onboarding Automation, where they can reuse the same approval design pattern in a different business scenario.