In some situations, getting a licensed application deployed on end-user computers might be challenging due to the fact many companies want to contain the cost and transform the approval process in a bureaucratic nightmare. In this post I will present an approval mechanism where approval and deployment are performed automatically

Scenario

We have the following challenge: We have 2 licensed applications, in our example Adobe Standard and Microsoft Project. Each application has one approval person. The end-user requests the software deployment in a PowerApps application. Once request has been created, the approval flow starts, and the approver is notified. If the request is approved, the user is added to an AAD groups and Intune deploys the software. If rejected, the end-user receives a rejection email. Notification is also sent if requests is approved.

Solution and Requirements

We will create an application in PowerApps with an approval flow as described in the scenario above

For this we need

  • M365 E3 or E5 subscription
  • Access to Intune

We will perform the following steps:

  • Prerequisite
  • Create the application
  • Create the flow
  • Connect the Flow to the App
  • Test the application

Prerequisite

As discussed above, we plan to install approved software based to end-user devices. Intune application deployment requires the application to be assigned to a group. Once, users are added to the group they will receive the application. In this post I am using Microsoft Project and Adobe Standard. We will not discuss here how to create the applications, nor the group assignment. Our application will only add the user to the group that supposedly already have the assignment.

Before creating the app, we need to collect some information

  • Approval UPN for each application
  • Assigned group ID for each application
  • Number of licenses – optional in this example

We need to create 2 groups, one for each application. Make a note of the groupid because we will use it later.

And the 2nd group

For this demonstration, I created one user named Chris Green … yeah! lack of imagination 😊

Let’s put the data in a format and a location that we can access from powerapps

Create an excel like the one below and format it as table:

  • Click Home -> Format as Table and select a format

New, to rename the table to something more meaningful, click one cell inside the table, then Table Design and change the name of the table

  • Save it on OneDrive

Now, with everting in place we can create the application

Application

  • Open portal.office.com and click Power Apps

In the PowerApps window, click Apps->New App and select Canvas

In the newly created window select OneDrive Phone layout

In the new window you will be invited the select your connection to the excel file on OneDrive. If you don’t have this connection already created, select new connection

Select OneDrive ( or OneDrive for Business) and click Create

Select the file you saved to OneDrive

Select the table with the name you changed before and click Connect at the bottom of the page

In the Editor, your application should already have the data you saved in excel

With the application connected to the data source ( in our case the Excel table ) now we need to create a button that will execute the approval flow

  • In Tree View Panel select DetailScreen1
  • Click +
  • Select Button and drag it to the screen
  • Change the Button Text property to Request
  • Select Action menu
  • Click Power Automate and then New Flow

We will continue in the 2nd part