---
title: "Automate Employee Onboarding with Microsoft PowerAutomate"
description: "Save time with Microsoft PowerAutomate by building an employee onboarding automation workflow in Azure. Streamline your HR processes."
canonical: "https://adamtheautomator.com/microsoft-powerautomate/"
---

# Automate Employee Onboarding with Microsoft PowerAutomate

> Save time with Microsoft PowerAutomate by building an employee onboarding automation workflow in Azure. Streamline your HR processes.

Source: https://adamtheautomator.com/microsoft-powerautomate/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![Automate Employee Onboarding with Microsoft PowerAutomate](https://adamtheautomator.com/wp-content/uploads/2020/01/cat-984097_1280.jpg)

# Automate Employee Onboarding with Microsoft PowerAutomate

[![](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)Adam Bertram](https://adamtheautomator.com/author/adam-bertram/)28 January 20208 min. read

Categories: [Cloud](/category/cloud/)

Tags:[Azure Automation](/tag/azure-automation/)[Microsoft Excel](/tag/microsoft-excel/)[Microsoft PowerAutomate](/tag/microsoft-powerautomate/)[Microsoft Teams](/tag/microsoft-teams/)[PowerShell](/tag/powershell/)

Table of Contents

*   [Tutorial Overview](#tutorial-overview)
*   [Prerequisites](#prerequisites)
*   [Creating the Trigger Excel Spreadsheet](#creating-the-trigger-excel-spreadsheet)
*   [Creating Azure Automation Runbooks to Invoke PowerShell](#creating-azure-automation-runbooks-to-invoke-powershell)
*   [Setting up Connections](#setting-up-connections)
*   [Importing the Flow](#importing-the-flow)
*   [Running the Flow](#running-the-flow)
*   [Monitoring the Flow](#monitoring-the-flow)
*   [Approving Access](#approving-access)
*   [Summary](#summary)

Do you have a clunky, old onboard automation workflow with a confusing interface and probably requires Java that your HR team hates to use? If so, it’s time to learn how to rid yourself of your “onboarding solution” altogether with Microsoft [PowerAutomate](https://flow.microsoft.com/en-us/).

The employee onboarding experience is one that’s ripe for automation of some kind. Why? Because it follows the same pattern and is frequently repeated (if an organization is hiring often).

Typically, onboarding tasks follow the same flow. Examples may look like:

*   Create a user account
*   Get approval from a department manager for access
*   Add accounts to various Active Directory groups
*   ….and so on

You need a system. You need an onboarding automation system so that HR management and management employees don’t have to deal with the logistics.

Whether you’re in a small business or enterprise, organizations of all sizes can save time and money by onboarding new employees with automation.

We’re going to get technical. You’re going to learn one example of building onboarding tools to collect data, process that data and ultimately save a ton of time with Microsoft PowerAutomate.

## Tutorial Overview

In this article, you’re going to learn one instance of many Microsoft PowerAutomate examples. Remember this is only a single use-case for employee onboarding with Microsoft PowerAutomate. Power Automate has thousands of connectors that enable you to perform hundreds of tasks. The onboarding tasks will all depend on your particular environment.

For this particular use case, you will build an onboarding automation workflow to see an entire flow of tasks run based on a single row in an Excel document. This Excel document will contain a row containing an example employee with the department as shown below.

![Excel document will contain a row containing an example employee with the department](/wp-content/uploads/2020/01/image-59.png)

Excel document will contain a row containing an example employee with the department

Based on the Excel worksheet row, the flow you’ll build will:

1.  Generate a [random password](https://adamtheautomator.com/random-password-generator/ "random password") for an Azure Active Directory (AAD) user account.
2.  Create an AAD user based on the first/last name of the emp
3.  Add the AAD user to a specific group based on the Excel document row.
4.  Look up the manager for the department.
5.  Assign a manager to the AAD user.
6.  Send out an email to the department manager asking for access approval to a fictional system.
7.  Wait for approval.
8.  Grant access to the fictional system.
9.  Notify the new employee’s team in Microsoft Teams they have a new team member.

## Prerequisites

If you plan to follow along with building this exact example flow in Microsoft PowerAutomate, be sure you have these items in place before you start:

*   An Office 365 subscription
*   An [Azure Active Directory](https://azure.microsoft.com/en-us/services/active-directory/) tenant linked to an Office 365 account
*   An Azure AD group called _Accounting_
*   An Azure AD user called Alice Bertram assigned as the [group owner](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-accessmanagement-managing-group-owners) of the Account Azure AD group.
*   An [Azure Automation account](https://docs.microsoft.com/en-us/azure/automation/automation-create-standalone-account)
*   An Azure Automation credential called _Azure AD Admin_ containing a username and password of an Azure AD user account with permission to read and create Azure AD resources
*   A [Microsoft Teams account](https://www.microsoft.com/en-US/microsoft-teams/group-chat-software)
*   Have the [Microsoft Excel Flow Office-Addin](https://carldesouza.com/installing-microsoft-flow-addin-excel-selected-row-email/) installed

Related: [Get Microsoft Azure Free: Your Goto Guide](https://adamtheautomator.com/azure-free/)

> _At the time of this writing, the Flow Office add-in is a little buggy. There were times when it wouldn’t sign in immediately for me. Or, when it would sign in, it would show a white screen where the flow is supposed to show up. Your mileage may vary._

## Creating the Trigger Excel Spreadsheet

Since in this tutorial, you’ll be using an Excel spreadsheet as a trigger, first ensure you’ve got one created. If you’re following along with the tutorial, you’ll need to create the spreadsheet up exactly how the below instructions are expecting it.

Related:[PowerShell and Excel: Seize the Power!](https://adamtheautomator.com/powershell-excel/)

1.  In [Excel Online](https://login.microsoftonline.com/common/oauth2/authorize?client_id=4345a7b9-9a63-4910-a426-35363201d503&redirect_uri=https%3A%2F%2Fwww.office.com%2Flanding&response_type=code%20id_token&scope=openid%20profile&response_mode=form_post&nonce=637667821383007463.NDZiYWQyZDQtZDdlMS00N2MwLTg2Y2QtMGRhNGYwNjQ1NjczY2ZhOTA5ZDktMmU1OC00ZjY1LTlmYmEtNzMwY2RkZGUyMzdj&ui_locales=en-US&mkt=en-US&state=GOt8nYDU4F5cPb4jKMgKZDeQ6x-y6wk31fEun37mZHns0J_nvfzWWCzZXxRCNbF70Guly7fq8ujxeI5H7xhv2y85aTx54SXPSr673rcA1Yuh8fDS1NzvpdxFUaIsfJynsWJLVUbQmZM9XoY6yHXw2zwDBlL2oBmgsY-f6W69yKiAfvagljvWiRiTKYZedFpWbLb-LLoTelZ02Sn0ElFvkzr_v3gAIwzjXpOB3NYXnWVf81UaFOyZPw4o7eVScHbDRmYDSZcOENPAy7NFxE9QEhOW5BqskPAMBARPlW8qUWoMClF-sIx0fhCIKg3jOAN4HQekl24oihHucxssnRzrZg&x-client-SKU=ID_NETSTANDARD2_0&x-client-ver=6.11.0.0), create a spreadsheet called _NewEmployees.xlsx_. Be sure to save it to a OneDrive account.
2.  Create a row with headers called _First Name_, _Last Name_ and _Department_.
3.  Provide a first name, last name and example department in the second row.
4.  Highlight the first and second row’s data and click on **Insert** and then on **Table**. You should be prompted to create table. Check the **My table has headers** box. You must create a table to let Microsoft PowerAutomate understand what data to pass to the flow.

![Creating an Excel table](/wp-content/uploads/2020/01/image-60.png)

Creating an Excel table

## Creating Azure Automation Runbooks to Invoke PowerShell

Unfortunately, Microsoft PowerAutomate will probably not contain actions for every step you need to take in a flow. For example, PowerAutomate has Azure AD actions to create a user. As you can see below though, the action requires a password.

![Create user Microsoft PowerAutomate task](/wp-content/uploads/2020/01/image-61.png)

Create user Microsoft PowerAutomate task

But chances are you don’t want to assign the same password for every Azure AD user you create. You need to create a random password.

There is no “create random password” step in PowerAutomate. You must create your own. You need some “filler” actions. A great way to create these ad-hoc actions is with PowerShell. Unfortunately, though, PowerAutomate doesn’t have a direct way to invoke PowerShell code.

To invoke PowerShell code from Microsoft PowerAutomate, you must create an “interim” service using Azure Automation runbooks. Since Power Automate natively supports invoking and reading Azure Automation runbooks output, they’re a great way to invoke ad-hoc PowerShell code.

To follow in the employee onboarding example in this tutorial, you’ll need to create three Azure Automation runbooks. Click on each link below to download an export of each one.

*   _[generate\_random\_password.ps1](https://www.dropbox.com/s/ga4m47ey2glxw9r/generate-random-password.ps1?dl=1)_
*   _[get\_azure\_ad\_dept\_manager.ps1](https://www.microsoft.com/en-US/microsoft-teams/group-chat-software)_
*   _[get\_azure\_ad\_group.ps1](https://www.dropbox.com/s/hf4p51tb329d7q7/get-azure-ad-group.ps1?dl=1)_

Once you’ve downloaded them, then [import them into Azure Automation](https://docs.microsoft.com/en-us/azure/automation/manage-runbooks#import-a-runbook). When they are imported, be sure to then [publish them](https://docs.microsoft.com/en-us/azure/automation/manage-runbooks#publish-a-runbook) to make the workbooks available to Microsoft PowerAutomate.

> _Important: Be sure to replace the tenant ID in each runbook to your own!_

## Setting up Connections

One crucial component of Power Automate is a concept called _connectors_. Connectors are objects inside of Power Automate that let it authenticate to various services. Instances of those connectors are called _connections_. Think of a connection as a credential for a particular service.

You can create these connections while you’re creating a flow. But if you know what connectors you need ahead of time, it’s easier to create all of them at once. For this tutorial, you’ll need to create five of them:

*   Approvals
*   Azure AD
*   Azure Automation
*   Excel Online (Business)
*   Microsoft Teams

Below you’ll see each of the connections you’ll need to configure under **Data** —> **Connections** in the Power Automate dashboard.

![Microsoft PowerAutomate connections](/wp-content/uploads/2020/01/image-62.png)

Microsoft PowerAutomate connections

To limit the length of this tutorial, we’re not going to cover how to create connections. To set up connections, be sure to check out the [Manage connections in Power Automate Microsoft documentation](https://docs.microsoft.com/en-us/power-automate/add-manage-connections).

## Importing the Flow

To save you tons of time building your own onboarding automation workflow, download the prebuilt flow for this tutorial [here](https://www.microsoft.com/en-US/microsoft-teams/group-chat-software). Power Automate allows you to easily [import and export flows](https://flow.microsoft.com/en-us/blog/import-export-bap-packages/) at will. Sharing export packages is a great way to share flows.

To import the flow in the Microsft PowerAutomate dashboard:

1.  Click on **My flows** and then on **Import** as shown below.

![Microsoft PowerAutomate Import button](/wp-content/uploads/2020/01/image-63.png)

Microsoft PowerAutomate Import button

2\.  On the **Import package** screen, click on the **Upload** button.

![Uploading package](/wp-content/uploads/2020/01/image-64.png)

Uploading package

3\.  Select [the package](https://www.microsoft.com/en-US/microsoft-teams/group-chat-software) you’ve downloaded. Once it’s uploaded, you’ll then be presented with a few configuration options to set as shown below. Since my connections won’t be the same as yours, you must now replace each connection from the example package with your connections.

Click on **Select during import** for each **Related resource**. When the **Import setup** window comes up, click on the connection you should have created earlier. The connection should show up under the **Create new** link.

If hadn’t created the connections ahead of time, you can create a new connection by clicking on it.

![Creating a new connection](/wp-content/uploads/2020/01/image-65.png)

Creating a new connection

4\.  Once you’ve mapped all of the resources in the example package to your own, click on **Import**. The package should then begin importing. Once done, you should see a message like below.

![Package imported successfully](/wp-content/uploads/2020/01/image-66.png)

Package imported successfully

5\.  Click on **Open flow** to inspect the imported flow. Here you will see each step in this pre-configured flow.

![Inspect the imported flow](/wp-content/uploads/2020/01/image-67.png)

Inspect the imported flow

6\.  Now click on the following steps and modify them to match your own environment:

*   The Excel Online trigger
*   **_Find Azure AD Group ID – Start Job_**
*   **_Find Azure AD Group ID – Get Output_**
*   **_Get Employee Department Manager – Start Job_**
*   **_Generate Random User Password_**
*   **_Get Random User Password_**
*   **_Get Department Group ID – Start Job_**
*   **_Get Department Group ID – Get Output_**
*   The email under **_Account System Approval_** in the **_Send approval to dept manager and wait for approval_** step.
*   **_Notify the Team_**

## Running the Flow

Once you’ve modified each step to match your own connections and Azure Automation runbooks, it’s time to test out the flow!

1.  Assuming you’ve already [installed the Flow Office Add-in](https://carldesouza.com/installing-microsoft-flow-addin-excel-selected-row-email/), in Excel Online, click on the **Data** tab and then click on **Flow**.

![The flow menu item in Excel](/wp-content/uploads/2020/01/image-68.png)

The flow menu item in Excel

2\.  Ensure an employee is in the first row of the table with a department. Click anywhere in the row and then click on the play button to the right of the _New Employee Onboarding_ flow. You can see an example of what this looks like below.

![Playing the New Employee Onboarding flow](/wp-content/uploads/2020/01/image-69.png)

Playing the New Employee Onboarding flow

3\.  If this is the first time you’re running this flow from Excel, you may see the following confirmation step. If so, click **Continue**.

![Inspecting the flow](/wp-content/uploads/2020/01/image-70.png)

Inspecting the flow

4\.  When the **Run now** button appears, click on that to start the flow. Microsoft Power Automate will read the row you’ve selected, pass that information to the flow and begin the sequence of steps.

![Run flow button](/wp-content/uploads/2020/01/image-71.png)

Run flow button

5\.  When started, click on the **Flow Runs Page** to now monitor the flow’s execution.

![Flow Runs page link](/wp-content/uploads/2020/01/image-72.png)

Flow Runs page link

## Monitoring the Flow

Once you’ve kicked off the flow, Microsoft Power Automate creates a job on the Flow Runs page as you can see below.

![Run hstory](/wp-content/uploads/2020/01/image-73.png)

Run hstory

If you click on the job link, you should then see the job is running and notice each step as it progresses.

![Your flow is running status](/wp-content/uploads/2020/01/image-74.png)

Your flow is running status

Since the flow had a manual approval step, you should see that the workflow is paused. It should be paused on the _Send approval to dept manager and wait for approval_ step. At this step, Microsoft Power Automate has sent an email to the fictional department manager Alice Bertram.

Alice needs to manually approve access to a fictional line of business application.

![Stopped at approval step](/wp-content/uploads/2020/01/image-75.png)

Stopped at approval step

This flow will pause in this state until Alice approves this request.

## Approving Access

Since the flow has an [approval step](https://docs.microsoft.com/en-us/power-automate/modern-approvals) in the flow, the department manager, Alice, has gotten an email. That email looks something like the below.

![Approval email](/wp-content/uploads/2020/01/image-76.png)

Approval email

Alice must click on the **Approve** button (link) to approve this request. When she does, she will be taken to the flow page with an approval window as shown below. Let’s say Alice is good with this approval, ensures the dropdown is set to **Approve,** and clicks on the **Confirm** button.

![Approving a request](/wp-content/uploads/2020/01/image-77.png)

Approving a request

Alice’s approval will be recorded.

![Approval response received](/wp-content/uploads/2020/01/image-78.png)

Approval response received

Now go back to the flow’s run history by clicking on **My flows**, clicking the vertical dots to the right of the flow name, and then click on **Run history**.

![Run history](/wp-content/uploads/2020/01/image-79.png)

Run history

Click on this flow and you should then see the approval step has a green checkmark. The green checkmark indicates it has run and was successful.

![Successful run](/wp-content/uploads/2020/01/image-80.png)

Successful run

Finally, the remaining Microsoft Teams step would announce to the department’s team a new employee has joined.

## Summary

You’ve learned how to create an employee onboarding flow with Microsoft PowerAutomate. The example provided in this tutorial is just that – an example. You can create and link together a near endless amount of tasks with Microsoft PowerAutomate. Employee onboarding is just a single example of what’s possible with automation.

Use this tutorial’s outcome for yourself, tweak it to match your environment, and start automating all the things!

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Fmicrosoft-powerautomate%2F&text=Automate%20Employee%20Onboarding%20with%20Microsoft%20PowerAutomate)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Fmicrosoft-powerautomate%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Fmicrosoft-powerautomate%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2026/08/featured_image-3.webp)

### [Build an Azure Home Lab for Certs Without Overspending](/azure-home-lab-certification-practice/)

Build a nested Azure Hyper-V home lab with budget alerts, a domain controller, and Azure Arc mapped to AZ-900, AZ-104, and AZ-305 exams.

![](https://adamtheautomator.com/wp-content/uploads/2026/04/featured_image-10.webp)

### [Automate SOC 2 Compliance with PowerShell and Azure](/automate-soc-2-compliance-powershell-azure/)

Learn how to use Azure Policy, the EPAC framework, and PowerShell to automate SOC 2 compliance evidence collection, enforce controls across subscriptions, and build a continuous audit trail.

![](https://adamtheautomator.com/wp-content/uploads/2026/04/featured_image-16.webp)

### [Microsoft 365 E7: Is the $99/User Price Tag Worth It?](/microsoft-365-e7-99user-price-tag-worth-it/)

Evaluate whether Microsoft 365 E7’s $99 price justifies Agent 365 governance using PowerShell scripts to assess Copilot usage and automation risk exposure.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
