Skip to main content

One Form, Nine Tasks: Employee Onboarding That Runs Itself in Microsoft 365

Nick Ross3 min read

TL;DR

  • A Microsoft Forms front end and a Power Automate flow can automate user creation, licensing, manager assignment, group membership, PSA ticketing, and the welcome email in Microsoft 365.
  • This build is per tenant by design: the form and flow live inside each customer's environment, not in a multi-tenant control plane.
  • A dedicated service account with the User Admin and Group Admin roles should own the flow, so nothing breaks when a technician leaves.
  • Assigning licenses through group membership keeps the flow to a single add-to-group action instead of scripting license SKUs.
  • Sending the initial password in an email encrypted by a sensitivity label is the practical middle ground between plain text and a full Temporary Access Pass setup.

Onboarding tickets are where technician hours go to disappear, and every manual step is a chance for someone to fat-finger a job title or forget a group. The fix does not require buying anything: Microsoft Forms collects the request, Power Automate does the work, and the whole thing lives inside the customer's own tenant.

Here is everything the flow handles from a single form submission:

  • Creating the user in Microsoft
  • Assigning a license to the user
  • Assigning a manager
  • Adding attributes like job title, department, mobile number, employee hire date, and location
  • Mirroring the group access of another user
  • Adding the user to groups (tied to SharePoint sites, Teams, and so on)
  • Adding the user to business systems
  • Creating a ticket in your PSA with all of the details
  • Sending the employee a welcome email with instructions for setting up Microsoft Authenticator

One thing to be clear about up front: this is a form you create on a per-tenant basis. It is not set up for multi-tenancy. If you want your PSA's self-service portal as the front end instead, we built that variant too: onboarding through HaloPSA and a webhook. A downloadable template for this build is linked at the end of the article.

New employee onboarding form built in Microsoft Forms
Onboarding form fields for attributes like job title and department
Onboarding form fields for group access and business systems

Set up the tenant before you build the flow

Four pieces of groundwork make the flow itself simple:

  • A service account to own the flow. You can build the flow under a regular user to save a license, but we recommend a dedicated service account licensed with something basic like Business Basic or Business Standard, so nothing breaks if that user leaves. The account needs the User Admin and Group Admin roles to perform the steps in the automation.
  • A shared mailbox as the sender. For the emails the automation sends, something like support@domain.com or employeelifecycle@domain.com reads better than a personal address.
  • Group-based licensing. The flow assigns the license by adding the user to a group, something like "Microsoft 365 Business Premium Users," which licenses its members automatically. Microsoft documents it here: Assign licenses to a group (opens in new tab).
  • A tidy Entra. Clean up as much as you can first, with dynamic groups for membership and SSO where possible, so the automation has fewer steps to take.

Build the form

Microsoft's guide covers form creation basics: Create a form (opens in new tab).

Creating the onboarding form in Microsoft Forms
Configuring form questions for the onboarding request

The form itself can be tailored to any business. The fields shown above are what the template absorbs; the video at the end walks through the full setup.

Import the flow template and make it yours

You can import a ready-made template into a tenant and customize from there: get the free template (opens in new tab). The full tutorial video below shows how each action is created.

Power Automate flow overview for the onboarding automation

When a user submits the form, the flow dynamically pulls out the submitted values to drive each action.

A quick note on the password specifically:

  • The flow uses a sensitivity label to encrypt the email that carries the user's password.
  • A Temporary Access Pass would be the more elegant answer, but it requires a much more advanced configuration.
  • The Twilio connector is an option if you would rather send the password to the user over SMS.
Flow actions for creating the user and sending the encrypted password email
Flow actions for assigning the manager and license group

For mirrored access, the flow checks the various group types before adding memberships, because copying them blindly causes failures.

Flow logic handling different group types for mirrored access

The switch statements are where you customize: each branch can carry its own actions for specific business systems, so the same form drives different downstream steps depending on what was selected.

Watch the full build

The complete walkthrough, from blank form to finished flow, is on video: watch the onboarding automation tutorial on YouTube (opens in new tab).

Frequently asked questions

Can this onboarding flow work across multiple tenants at once?

No. This is a per-tenant build: the form, the flow, and the service account all live inside one customer's environment. If you want a PSA-driven version where requests flow through your ticketing system, see the HaloPSA variant of this build.

How does the new user's password get delivered securely?

The flow sends it in an email encrypted with a sensitivity label. A Temporary Access Pass would be cleaner but requires a much more advanced configuration, and the Twilio connector is an alternative if you would rather deliver the password over SMS.

Why mirror another user's access instead of assigning groups directly?

Mirroring copies the group memberships of an existing employee in the same role, which is faster and less error-prone than hand-picking groups. The flow checks the various group types before adding, because blindly copying every membership type causes failures.

New users arrive configured. Do they stay that way?

Settings drift, group sprawl grows, and the clean tenant you automated quietly changes. CloudCapsule checks 250+ Microsoft 365 controls in about 60 seconds per tenant and flags what moved.

Run a free scan
Nick Ross

Written by

Nick Ross

CEO · Microsoft MVP · Founder, T-Minus 365

Nick is not just a CEO, he's a respected thought leader and influencer in the MSP space. Tens of thousands of MSPs learn through his YouTube channel, T-Minus365. Nick has been honored as a three-time Microsoft MVP for his educational content; his expertise and influence are the backbone of our mission, ensuring that you are in the best hands when it comes to security.

Nick joined Pax8 in 2017, where he would ultimately oversee product management for PSA and Microsoft integrations. Following his tenure at Pax8, Nick has continued to demonstrate his leadership prowess as an executive at various MSPs, culminating in his most recent role at Sourcepass.

Nick holds a Bachelor's Degree in Business Management from Florida State University, as well as a Minor Degree in Entrepreneurship. In his free time, Nick is an avid hiker, reader, and fitness-junkie.

Keep reading