web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / IT Asset with Approval...
Power Apps
Unanswered

IT Asset with Approval App

(0) ShareShare
ReportReport
Posted on by 12

 Hello, i am building an IT Asset request App, that will also need an approval workflow. 
I am still in a brainstorming phase, but the following come to mind.

- First, what should i use? Lists? Dataverse ? Tables ? Entities? or otherss, kindly advice?

- Second, how do i define  Users(Employees) who can request an computer and how do i automatically detect their reporting manager ( who will be approving or not).

 

The flow is as follows

- Two kind of roles can request a laptop

        - Someone from the  HR, who requests a new laptop for a new employee

              - This Dose not need an Approval, it only needs to notify me ( who will purchase the laptop) and his/her Reporting                               manager ( And record it in the List with a pending status)

       - An exisintg employee who wants a new Laptop, and requests it through the app, which will notify me and the HR system ,                appear in the application as awaiting approval (from his/her) reporting manager, once approved, i will be notified to go                    purchase.

The list or database will also be used for record keeping and seeting status of laptops, who is using them, when they were purchased , etc...

 

Below is a Flow ,Table example and App example

Here is the flow

hassanmoukadem_0-1697861864521.png

 

Example Table

hassanmoukadem_1-1697862186083.png

 

hassanmoukadem_2-1697862444663.png

 

 

Categories:
I have the same question (0)
  • Kirkby Profile Picture
    647 Moderator on at

    Hi @hassanmoukadem 

    1) I think both ShrePoint List and dataverse would be proper for your app.

     

    2)If your company(HR team) is now managing reporting line information of employee in Active Directory, you can retrieve the information of the manager who approves a purchasing request using Office365Users.ManagerV2(email of requester).mail. However, the function returns an error when the manager's information does not exist (either the HR team does not manage the information or the information is not properly managed even though they've managed).

    confidential_hr.png

    I think it could more practical to manage list of HR team members instead of managing list of employees who can request as the number of HR will be smaller than other teams. If HR member is managed, when there is a new request. Next process is to check the requester belongs to HR and proceed with purchasing if so or proceed with approval request.

     

    if you have to manage reporting line information by each employee. that could be very time-consuming task updating whenever there is a change in organization of your company. Would it be not acceptable a requester directly selecting the approver, assuming that compliance audits about purchasing request are conducted on a regular basis?

    I am afraid that managing permissions when there is no reference information is not a simple task.

    (I think changing business rule to some degree could be another solution when there is a limitation that cannot be resolved by automation and a company accepts the changed rule.  Please don't get me wrong. I don't want my opinion sound impolite.)

     

    I think your app architecture is nice and has no issue from design perspective.

     

  • Kirkby Profile Picture
    647 Moderator on at

    If the name of the HR team is 'HR' or something to effect that, and there is no likelihood of duplication with other team names. Using the department value of Office365Users of a requester to distinguish HR could work, but it is not safe and does not guarantee correct results 100%.  it is just an idea that you can ignore. 

     

  • hassanmoukadem Profile Picture
    12 on at

    hi @Kirkby 

    thank you for the input, unfortunately we dont use any other feature in the 365 other than the email, thus just the list of the users that have the 365 account.

    Which would u suggest to be less effor

    - i manage the users and their roles inside 365 ( Manager and non manager)

    - or create 2 lists ( Users and Managers ) and do my work from there? (or it will be harder to develop?)

    many thanks in advance

  • Kirkby Profile Picture
    647 Moderator on at

    Hi @hassanmoukadem 

    1. Managing users and permissions in SPO List would be the simplest way. Of course, updating the list would be necessary on a regular basis, either by manual operation or an automated job based on a valid rule. Many people would agree that this way is the fastest way to implement the app.

     

    2. Another way to manage user groups is to use the M365 admin center (https://admin.microsoft.com/adminportal/home?#/groups)  how to use( https://learn.microsoft.com/en-us/microsoft-365/admin/create-groups/office-365-groups?view=o365-worldwide). Groups can be managed through the admin menu or an automated job using PowerShell.
    The list of Office 365 user groups is retrieved through the Graph API (Test link: https://developer.microsoft.com/en-us/graph/graph-explorer --> Groups > GET all groups I belong to). The list of groups that a user belongs to can be retrieved through the Graph API if you have proper permissions due to security reasons (https://graphpermissions.merill.net/permission/).

    In Power Apps, you can use the Office 365 Group connector to retrieve a list of users who belong to an Office 365 Group (https://learn.microsoft.com/en-us/connectors/office365groups/).

    When a user logs into the app, check whether the user belongs to an ordinary group or a manager group and proceed to the next step. The above 2nd approach seems to be able to minimise manual tasks once the automated task is settled, but it will take some time when compared with the 1st approach. I recommend implementing the app according to your initially considered rule, and then consider implementing an automated process for managing user groups step by step.

     

    The above explanation is just an example. I haven't fully implemented the process mentioned above, so there may be more things to consider.

    Take your time and approach the simplest way first. I think you can come up with a practical approach. 

  • hassanmoukadem Profile Picture
    12 on at

    ill go with SPO, and try to create a group for managers, and if manager field is from grouup of managers, he/she can approve, and the requester from office365connector.

    what do you think?

     

  • Kirkby Profile Picture
    647 Moderator on at

    How are you going to manage the relationship between team members and the manager in the groups? For example,  Michael's manager is James?  That is the more things to consider and could be a redundant task if relationships should be managed another way. 

  • hassanmoukadem Profile Picture
    12 on at

    TBH as i am still a newbie, i was thinking that anyone from the managers group can approve to anyone. 
    But i would love to know if u can advice otherwise of a more professional way

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 717 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 329 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard