Shantha Kumar T
Automating User Creation in Microsoft Entra ID using Microsoft Power Automate
In this article, we’ll explore into the process of automating user provisioning within Microsoft Entra ID utilizing the powerful combination of new Microsoft List Form for SharePoint List and Microsoft Power Automate.
Microsoft List Form Setup
Let’s kick things off by setting up a new list in SharePoint List dedicated to user creation. We’ll name this list “User Creation” and ensure it contains the following columns:
Display Name | Internal Name | Field Type | |
Username | Title | Single Line of Text | Unique: True
Required: True |
First Name | Firstname | Single Line of Text | Required: True |
Sur Name | Surname | Single Line of Text | Required: True |
Display Name | Displayname | Single Line of Text | |
Personal Mail | PersonalMail | Single Line of Text |
- Once the columns are set up, we can proceed to create a new Microsoft List Form. By appending the querystring “env=WebViewList” to the URL, we can access the form within the Microsoft Lists user experience.
https://<yourtenant>.sharepoint.com/sites/sitename/Lists/UserCreation/AllItems.aspx?env=webViewList
- Upon accessing the form, we’re presented with options to customise its appearance and functionality. Utilizing the Customize tab, we can perform the following actions step by step:
-
-
- Reorder columns as needed
- Choose to show or hide specific field according to requirements
- Modify the form’s theme and background to align with preferred style
- With in the Settings section, we can define specific messages to appear after the form is submitted.
-
- we can reorder columns, show/hide specific fields, and even modify the form’s theme and background. The Settings section allows us to define appropriate messages to be displayed after form submission.
- After customizing the form to meet our specifications, we can proceed to preview it. Following the preview, we then obtain its URL by navigating to the “Send Form” tab and selecting the “Copy link” button.
Automate User Creation process
Having configured the form, our next step involves automating the user creation process using Power Automate Flow.
- Navigating to the Power Automate Flow homepage.
- We create a new flow using the “When an item is created” trigger and name it “User Provisioning (Automated)”.
- Within the flow, select the Trigger action and specify the SharePoint site address and list name corresponding to our user creation list. Additionally, we incorporate a Compose action to dynamically generate a password adhering to Microsoft 365 Password policy requirements.
concat(substring('abcdefghijklmnopqrstuvwxyz',rand(0,25),5),substring('!@#$%^&*()?.<\>|=+:;,[-_]"',rand(0,24),2),substring('1234567890',rand(0,9),1),toUpper(substring('abcdefghijklmnopqrstuvwxyz',rand(0,25),3)))
- After adding the expression, change the action name to “Compose Generate Random Password“.
- Them add a new action called Create user, which is available in Microsoft Entra ID connector group and fill up the following parameters,
Account Enabled | Yes |
Display Name | triggerBody()?[‘DisplayName’] |
Mail Nickname | triggerBody()?[‘Title’] |
Password | outputs(‘Compose_Generate_Random_Password’) |
User Principal Name | concat(triggerBody()?[‘Title’],’@<tenant name>.com’)
ex: concat(triggerBody()?[‘Title’],’@contoso.com’) |
Given Name | triggerBody()?[‘FirstName’] |
Surname | triggerBody()?[‘SurName’] |
- This action is customised to populate user creation parameters, such as Account Enabled, Display Name, Main Nickname, User Principal Name, Given Name and Surname.
- To conclude the automation process, we add a new action called “Send an email (V2)“to notify users of their account creation. This email includes details such as the user’s personal email, username and password.
To | triggerBody()?[‘PersonalMail’] |
Subject | New user account created |
Body | Dear outputs(‘Create_user’)?[‘body/displayName’], Your account is created successfully. Use the below details to sign in, Mail ID: outputs(‘Create_user’)?[‘body/userPrincipalName’], Temporary Password: outputs(‘Compose_Generate_Random_password’)Regards, HR Team |
Importance | Normal |
By following these steps, we streamline and automate the user creation process within Microsoft Entra ID, enhancing efficiency and reducing manual effort.
Overall, this automation not only enhance efficiency but also significantly reduces manual effort, empowering organizations to focus on higher-value tasks while ensuring a smooth onboarding process for new users.