Many organizations are moving towards a modern workplace. And most of the time, that does not happen overnight. It's a big change for both end-users, management, and IT staff.
I’ma big fanof self-service and believe that organizations canbenefitfrom it as well. It improves adoption and lowers helpdesk calls. Being a consultant,I'minvolved in a lot of projects around Microsoft 365, Microsoft Endpoint Manager, and AzureAD. And projects often start with pilots. Most of the time, those pilots are narrowed down to IT folks. But wouldn't it be cool if the 'regular user' could alsoparticipatein pilots, those who are eager to learn, explore and test out new features? This solution is built upon Power Apps and can serve many, many use-cases.
Thisblog postis ashowcase for a Power App around self-service.It is also a perfect example of fusion development. Microsoft made sure we have an API we can use to assign the settings we want. The Power App is already setup to use those connections, and you as a citizen developer only need to make sure the app interacts with those as youdesire, with a minimum of coding effort.
The idea behind the app
The concept of this app isstraightforward: it puts users into groups. And the best partis:they can do it themselves. Now, Microsoft 365 offers a broad set ofself-servicecapabilities already, but for some organizations, that can bereally scary. By default, users can even create their own groups and teams themselves, but this feature is often disabled byIT. It also might not be the most user-friendlyoption.
Back to theconcept ofgroups. These can be either security or Microsoft 365 groups. Using this app, you can offer self-service to your end-users, while staying in control. Next to that, you can make itauser-friendlyexperience, because you can design your own User Interface around it. So, you can putadditionalinformation in the UI, as we did in this app. Since it can be used for every group in Azure AD, this can be used within all integrated services like Office 365, Microsoft Endpoint Manager, and even security features like Azure AD Authentication policies, and Conditional Access.
Theultimate goalof this appthus isa UI where any end-user in the organization canselect what pilot programsthey want to be part of. In the demo, there are several different UI elements to help users with theirselectionranging fromtoggles tosliders.
The idea behind the slider is to bring your users in control of their modern workplace, easier put:on what paceupdateswillgetdeliveredtotheir Windows device. By choosing a different update channel, they will be assigned to a specific Windows Update for Business ring in the back-end.
The togglescan be used to let the userparticipatein different pilots or features that Microsoft 365 offers. It can also be used torequest licenses, for example,if the user needs Power-BI Pro for a specific project.Youcouldevenbuild anadditionalflowthat will ask for manager approval first, or you can make use ofAzure Active Directory Access Reviewstoreview the groups periodically.
Leveraging Azure Premium P1, we could use group-based licensing to automatically assign licenses to users based on group membership.
In the Azure portal, go to Azure Active Directory -> Licenses. Select the preferred licenses, then go to the Licensed groups blade, and click + Assign.
From the list, select the underlying services that you want to assign to the group.
As soon as the user is added to the group, the license is automatically assigned. When the user is removed,also the license willbe unassigned.
How does the app work under the hood?
The app is using Power Automate to connect to the Graph API.Inside the Power Automate flow, we use the HTTP connector to send out the API calls. Based on the parameters that we define in PowerApps,theuser is either added or removed from the group.
The flow is using the switch feature todeterminewhat action should be taken. This can be either “add”,”remove”,or “fetch”.More details on the app and flow can be found in theextended documentation on GitHub.
Power Apps in Microsoft Teams
As Power Apps can runnativelyinMicrosoftTeams,this app cando thatas well. This will make the appeasilyaccessible for end-users.
How to get started?
This demo app isavailable onGitHub and can beup and running in minutes. Reach out to this repository for detailed information and step-by-step instructions. Also,make sure tocheck outthis YouTube videofor ashort tutorial.
We hope to have provided some inspiration infacilitatingyourend userswith aself-serviceexperience using the Power Platform. Allowing your users to interact with an easy interface and requestingthe features they feel addvalue will make sure you stay in control!