Build a Training Request solution using the Power Platform
Published Jan 08 2023 11:53 PM 2,415 Views
Copper Contributor

Meet Phiwayinkosi Khanye DludluMeet Phiwayinkosi Khanye Dludlu


Hi, I am Phiwayinkosi Khanya Dludlu , a student at the Durban University of Technology doing a Bachelor's in Information and Communications Technology. I am an aspiring Power Apps Developer, using Power Apps to solve problems and automate business processes.


Late last year I was part of a Power Platform Bootcamp hosted by Greenlight Solutions in partnership with the Durban University of Technology and Someleze Diko, a Microsoft Cloud Advocate. As part of the Bootcamp, we were all required to create solutions for different scenarios. I was assigned to create a training request solution. The scenarios is as follows.


Problem Overview

The management of a company has been encouraging more training and development amongst employees within the organization. The company has its own training approval process but with the increase in the number of training activities taking place, the current training approval process is proving to no longer be effective enough to meet this demand. For more details about the company’s current approval process click here



The management of the company has the following requirements:

  • Electronic capture of training requests by employees/team leaders on an easy-to-use form
  • Approval of training requests by department manager and learning and development managers
  • Confirmation of training bookings, attachment of booking details, and feedback to the requestor
  • The ability to view statistics of training requests

For more detailed requirements click here.


The solution

In order to meet all requirements, I created a Canvas app with the following capabilities:

  • The ability to fill in the form 
  • The ability to save the form as a draft
  • The ability to view training requests made
  • The ability to view training requests statistics


Technologies used

In order to develop a viable solution, I used the following Power Platform services:



When an employee logins into the app, they will be taken to a home screen, shown below.

Image:Home ScreenImage:Home Screen


On this screen an employee will be able to view the number of training requests saved as drafts, rejected, approved and submitted. In order to make a new training request the user will have to click on the ‘New Request’ button, after which they will take to the form, shown below.




Here the user will fill in all required information and thereafter choose whether to submit the form or save it as a draft by turning the submit request toggle (shown in the image below) on or off.




After filling in the form and choosing to submit or save the form as a draft. If a user decides to submit the request it will trigger a Power Automate Flow which will start an approval process for the training request. 


Power Automate Flow

An email will be sent to the department manager of the employee containing the training request details on an adaptive card.

Email from requestorEmail from requestor

The department manager will either approve or reject the training request. If the training request is approved then an email will be sent to the learning development and if the request is rejected the department manager has to add reasons for rejecting. If the department manager does not add reseasons for rejecting, the response won't be sent back to the user instead an error message will be shown to them.



Image: an image showing a department manager rejecting a training request without adding reasons


Response submitted.png

 Image: an image showing a successful response by the department manager



The learning development manager has to also approve or reject the request. If the learning development approves the email then an email will be sent to the requestor and the training coordinator who will then make a booking then email the details of the booking to the requestor.


Training Coordinator.png

 Image: an image showing the training details sent to the training coordinator 


I used adaptive cards throughout the approval process as they are more efficient and allow for more user engagement. You can read more about them here.


Other App Functionalities

Users can track the progress of their requests on the view requests screen where they can view all their training requests along with their statuses. This screen has a number of functionalities such as the ability to search training Requests by either course name or training provider name. On this screen, users can also sort requests according to their status (i.e. draft, submitted, pending, approved, or rejected) as shown on the screenshots below.






Clicking on a training request will take users to the details page, where they can view details of the training requests they submitted or submit drafts. 







Requests that have been rejected or saved as drafts can be edited in the edit screen. 


On this screen a user can edit a training request and choose whether to submit or only save the changes made, keeping it as a draft.


The last screen in the app is the report screen. This is where a user can view all statistics pertaining to training requests in the organization.



I would like to thank the Durban University of Technology, Greenlight Solutions, and Someleze Diko for holding the Bootcamp where I got exposed to Microsoft Power Apps and managed to learn more about the low-code platform. I would also like to extend gratitude to my fellow boot campers who with whom with tackled this journey. 


For a similar experience and opportunity, students and educators can take a look at the Power Platform University Hub which teaches students how to solve a wide range of business problems with low-code—one of the fastest growing technologies in the job landscape today.

Version history
Last update:
‎Jan 05 2023 02:44 AM
Updated by: