Azure Administrator Project 1: Automating Employee Onboarding with Azure Logic Apps

ibirogba abimbola
4 min readJun 11, 2024

--

Overview

In this project, I will walk you through the process of automating the employee onboarding process using Azure Logic Apps. This project aims to streamline and automate the process of onboarding a new employee into Azure AD and assigning necessary Azure resources. This approach ensures efficiency and consistency in handling new hires.

What is an Azure Logic App?

Azure Logic Apps is a cloud service that helps you schedule, automate, and orchestrate tasks, business processes, and workflows when integrating apps, data, systems, and services across enterprises or organizations. With Azure Logic Apps, you can create complex workflows that automate various processes, from simple tasks like sending an email to complex processes involving multiple systems and conditions.

Project Overview

  • Trigger and Initialize Variables
  • Parsing Email Content
  • Creating a User in Entra ID
  • Conditional Logic for Group Assignment
  • Adding User to Groups
  • Provisioning Resources using ARM
  • Sending Welcome Email
  • Monitoring and Review

Step-by-Step Implementation

1. Trigger and Initialize Variables

Objective: Trigger the workflow when an email indicating a new hire is received and initialize variables to store the email body content.

Action:

  • Configure the email trigger to activate upon receiving a new hire email.
  • Initialize variables to store the email body content.

2. Parsing Email Content

Objective: Parse the email content to extract the first name, last name, email, job position, and department.

Action:

  • Use the Compose action to manipulate and extract the necessary information from the email body.

3. Creating a User in Entra ID

Objective: Create a new user in Entra ID using the parsed information.

Action:

  • Use the Entra ID connector to create a new user with the extracted details.

4. Conditional Logic for Group Assignment

Objective: Assign the user to the appropriate group based on their job position.

Action:

  • Use conditional logic to determine the user’s group based on the job position.
  • Use the Entra ID connector to add the user to the appropriate group based on the conditional logic.

Provisioning Resources using ARM

Objective: Provision necessary Azure resources for the new hire.

Action:

  • Use an HTTP action to call ARM API for provisioning resources.

7. Sending Welcome Email

Objective: Send a welcome email to the new hire with their login credentials and instructions.

Action:

  • Use the Outlook connector to send the email.

Testing the Logic App

Challenges Faced

During the development of this project, several challenges were encountered and overcome:

Email Content Parsing

Challenge: Azure Logic Apps reads email content as HTML, making it difficult to parse and extract information directly.

Solution: Used the Compose action to manipulate and extract the necessary information from the HTML-formatted email body. This involved using string functions to clean up and parse the content correctly.

User Role Assignment

Challenge: Ensuring new users are assigned the correct roles and groups based on their job position.

Solution: Implemented conditional logic to evaluate the job position and assign users to the appropriate groups accordingly.

Resource Provisioning Permissions

Challenge: Assigning roles and permissions to new users required careful handling of Azure Resource Manager (ARM) and permissions.

Solution: We used an HTTP action to call ARM APIs and assign roles, ensuring that the Logic App had the necessary permissions to perform these actions.

Managing Credentials and Tokens

Challenge: Handling authentication tokens and ensuring secure API calls.

Solution: Configured the Logic App to securely retrieve and use authentication tokens for API calls to Entra ID and ARM

Conclusion

This project showcases a streamlined approach to automating the employee onboarding process using Azure Logic Apps. By automating user creation, role assignments, and resource provisioning, we ensure a consistent and efficient onboarding experience for new hires.

Feel free to check out the complete implementation on my GitHub repository.

--

--