← Back to Automations

Microsoft 365 License True-Up

Customer: internal

Automate the process of identifying Microsoft 365 users who require license adjustments based on their current usage. This automation checks for users with inactive accounts, those who have left the organization, and those whose roles have changed, ensuring that licenses are allocated efficiently and cost-effectively.

Live it
azure powershell azure-runbooks hybrid-runbook-worker

Time Saved/Month

6.6h

Annual Value

$25,200

Created

June 10, 2025

Closed

November 1, 2025

Last Updated

November 1, 2025

Bradley Wyatt
Bradley Wyatt

DevOps Automation Engineer

Architecture Diagram

Microsoft 365 License True-Up architecture diagram

Documentation

Microsoft 365 License True-Up

Objective

This automation is designed to help organizations manage and optimize their Microsoft 365 license usage by identifying unused or underutilized licenses. It provides insights and recommendations for license reallocation or cancellation, ensuring cost-efficiency and compliance with licensing agreements.

Overview

The M365 License True-Up automation scans your tenant for license assignments and usage patterns, generating detailed reports to help make informed decisions about license management.

Features

  • Automated license usage analysis
  • Identification of inactive users with assigned licenses
  • Reports on underutilized service plans
  • Cost optimization recommendations
  • Compliance tracking for license agreements

Process Flow

graph TD
    A[Start Scan] --> B[Collect License Data]
    B --> C[Analyze Usage Patterns]
    C --> D[Generate Reports]
    D --> E[Provide Recommendations]
    E --> F[End Process]

Requirements

  • Global Administrator or License Administrator role
  • Microsoft Graph API permissions
  • PowerShell 7.0 or higher
  • Microsoft.Graph PowerShell module

Usage

  1. Clone this repository
  2. Configure authentication settings
  3. Run the main script
  4. Review generated reports

Output

The automation generates CSV reports containing:

  • Users with unused licenses
  • Service plan utilization metrics
  • Cost savings opportunities
  • Recommended actions

Systems & Integrations

💻 Azure
💻 Microsoft 365

Schedules

🕚

Daily

6:00 AM (America/Chicago)

Mon Tue Wed Thu Fri Sat Sun

API Keys & Credentials

Microsoft_Graph_API_Key

Valid

Microsoft 365

Expires: December 10, 2026

Directory.Read.All permission for Microsoft Graph API