We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

Kieron Dean
ServiceNow Employee

Part 1: Setup & Configuration

 


Introduction

Microsoft 365 is typically the largest SaaS spend in any organisation. SAM Pro enables you to track your M365 subscriptions and usage to determine license compliance and act on optimization opportunities — including automated license removal.

 

This is Part 1 of a 2-part series on M365 optimization with SAM Pro:

  1. Setup & Configuration (this article)
  2. Compliance, Optimization & Reclamation

This article covers everything you need to set up the M365 integration, from prerequisites through to creating your entitlements. The structure follows the Microsoft 365 Guided Setup in the Success Portal.


Guided Setup vs Manual Configuration

SAM Pro offers a Guided Setup that walks you through each step with prescriptive guidance. This is the recommended approach for most practitioners.

 

Using the Guided Setup (Recommended)

The Guided Setup takes you through three phases:

  1. Prerequisites
  2. SAM Configurations
  3. Verification (covered in Part 2)

It tracks your progress and validates each step.

To access the Guided Setup:

  1. Navigate to Workspaces → Software Asset Workspace → Success Portal
  2. Select the Product Setups tab

KieronDean_0-1770813410000.png

 

Then either:

Option A:

  1. On the Product Setups page, select Get Started on the Microsoft 365 tile

Option B:

  1. Select Set up product
  2. In the Set up product dialog box, select SaaS from the Setup type dropdown
  3. Select Microsoft 365 in the Integration profile field
  4. Select Next

 

🎥 Video: Microsoft 365 Guided Setup Overview

Detailed Configuration

The rest of this article provides the detailed steps. If you're using the Guided Setup, this serves as a reference for understanding what each step accomplishes.

 


Phase 1: Prerequisites

Complete these prerequisites before beginning the SAM configurations.

 

KieronDean_1-1770813491875.png

 

 

1.1 Install SAM Professional for Microsoft

Install the Software Asset Management Professional for Microsoft plugin (com.snc.samp.microsoft) to access the Microsoft Publisher pack features in the Software Asset Management application.

 

Plugin ID
SAM Professional for Microsoft com.snc.samp.microsoft

1.2 Install ITAM Health Check

Install the ITAM Health Check application to get an overview of your Software Asset Management configurations and receive recommendations for correcting errors.

The application is available in the ServiceNow Store.


1.3 Install SaaS License Management

Install the Software Asset Management - SaaS License Management plugin (com.sn_sam_saas_int) to create and manage integrations with your SaaS and Single Sign-On (SSO) applications. These integrations enable you to track license usage and reclaim unused licenses effectively.

Plugin ID
SaaS License Management com.sn_sam_saas_int

1.4 Install Microsoft Entra ID Spoke

Install the Microsoft Entra ID Spoke (formerly Azure AD Spoke) to enable automated integration with the Microsoft 365 Admin Center for license removal and other scenarios.

⚠️ Note: An Integration Hub subscription is required for this spoke. For more information, see Integration Hub documentation.

Without the Entra ID Spoke, reclamation workflows will identify candidates but require manual license removal in the M365 Admin Center.


1.5 Receive Latest Updates from Content Service

Update your instance with new content twice every week on a scheduled basis through Software Asset Management Content Service.

The Software Asset Management application provides automated content to simplify the normalization of software installations and subscriptions, offering enriched data such as:

  • Lifecycle information
  • Downgrade rights
  • Suite definitions

This data is essential for maintaining accurate license compliance and optimization.


1.6 Create a Success Goal

Create a success goal to track the success of Microsoft 365 configuration setup on the Software Asset Management application.

This goal helps you monitor progress through the setup phases and provides visibility for stakeholders.

💡 Note: You'll create a second success goal in Part 2 to track ongoing license management and optimization.


Phase 2: SAM Configurations

Configure your Software Asset Management application, including setting up user accounts, managing licenses, and confirming compliance with Microsoft's software usage policies.

 

KieronDean_2-1770813650939.png

 


2.1 Register Application on Microsoft Entra ID

Register an application on Microsoft Entra ID (formerly Azure Active Directory) that enables the retrieval of all subscriptions provisioned in the Microsoft 365 Admin Center.

🎥 Video: Register a Microsoft Azure AD Application

Required Access

You need Global Administrator privileges in Microsoft Entra ID.

Process

  1. Log into the Azure Portal with Global Administrator credentials
  2. Navigate to Microsoft Entra ID (Azure Active Directory) → App registrations
  3. Click New registration
  4. Enter a name (e.g., "ServiceNow M365 Integration")
  5. Select Multi-tenant for supported account types
  6. Click Register

Capture Your IDs

After registration, copy and save these values — you'll need them for ServiceNow:

Field Where to Find It
Application (client) ID Overview page
Directory (tenant) ID Overview page

 

Create a Client Secret

  1. Navigate to Manage → Certificates & secrets
  2. Click New client secret
  3. Enter a description (e.g., "ServiceNow M365 Integration")
  4. Select an expiration period (180 days, 1 year, 2 years, or never)
  5. Click Add
  6. Copy the VALUE immediately (not the Secret ID)

⚠️ Warning: Copy the Value field, not the Secret ID. The value is only shown once — if you navigate away, you'll need to create a new secret.

⚠️ Secret Expiration: If you set an expiration, you must renew before it expires or your integration jobs will fail.

Configure API Permissions

  1. Navigate to Manage → API permissions
  2. Click Add a permission
  3. Select Microsoft Graph
  4. Select Application permissions
  5. Add these permissions:
Permission Purpose
User.Read.All Download subscription assignments
Organization.Read.All Download subscription data
Reports.Read.All Pull user activity/usage data

 

For automated license removal (requires Entra ID Spoke), also add:

 

Permission Purpose
GroupMember.ReadWrite.All Manage group membership for reclamation
LicenseAssignment.ReadWrite.All Remove licenses automatically

 

  1. Click Grant admin consent (button above the permissions list)
  2. Verify all permissions show "Granted" status

⚠️ Important: Only a Global Administrator can grant admin consent. Without this step, the integration won't work.


2.2 Configure Power BI Usage

Enable service principal authentication for Power BI read-only APIs to enable your application access to Power BI service content and APIs. This access helps optimize your Microsoft 365 subscriptions, such as downgrading subscriptions from Office 365 E5 to Office 365 E3 or removing Power BI low-usage subscriptions.

🎥 Video: Enable Service Principal Authentication for Power BI

Required Access

You need:

  • Global Administrator privileges in Microsoft Entra ID
  • Power BI Administrator privileges

Create a Security Group in Azure

  1. In Azure Portal, navigate to Microsoft Entra ID → Groups → All groups
  2. Click New group
  3. Configure:
    • Group type: Security
    • Group name: (e.g., "ServiceNow M365 Integration")
    • Membership type: Assigned
  4. Click Create

Add Your Application to the Security Group

  1. Find your newly created security group
  2. Go to Manage → Members
  3. Click Add members
  4. Search for your application name
  5. Select the Enterprise application (not the group with the same name)
  6. Click Select

Enable in Power BI Admin Portal

  1. Go to Power BI Admin Portal
  2. Log in with Power BI Administrator credentials
  3. Navigate to Tenant settings
  4. Find the Admin API settings section
  5. Expand "Service principals can access read-only admin APIs"
  6. Toggle to Enabled
  7. In the security group field, add your security group
  8. Click Apply

⚠️ 15-Minute Delay: Changes take up to 15 minutes to replicate. Wait before testing the integration.

⚠️ Permission Management: After enabling this setting, Azure portal application permissions for Power BI are no longer effective. All Power BI permissions must be managed through the Power BI Admin Portal.


2.3 Prevent Anonymous User Information

By default, Microsoft hides the user names of subscribers in the Microsoft 365 Admin Center, preventing ServiceNow from accurately tracking Microsoft 365 license usage. To resolve this issue, disable this anonymization feature in the Microsoft 365 Admin Center.

🎥 Video: Configure Updates on Microsoft 365 Admin Center

Process

  1. Log into the M365 Admin Center
  2. Click Show all in the left navigation (Settings may be hidden)
  3. Navigate to Settings → Settings
  4. Scroll down and click Reports
  5. Deselect "Display concealed user, group, and site names in all reports"
  6. Click Save

⚠️ Critical: This setting is ON by default. If you don't disable it, all subscription data will show masked user IDs instead of actual names, and SAM Pro cannot determine who owns which subscription.


2.4 Set Up Microsoft 365 Integration Profile

Create a Microsoft 365 integration profile in the Software Asset Management application to import user subscription data, determine license compliance, and identify optimization opportunities. If you manage multiple tenants, create a separate integration profile for each.

🎥 Video: Create a Microsoft 365 Integration Profile

Required Roles

Action Required Role
Create integration profile Administrator, SAM Administrator, or SAM Integrator
Execute scheduled jobs manually System Administrator

 

Create the Profile

  1. Navigate to License Operations → Direct Integration Profiles
  2. Click New
  3. Select Microsoft M365 from the dropdown
  4. Click Continue
  5. Fill in the form:
Field Value
Name Microsoft 365 (or your preferred name)
Client ID (from Step 2.1)
Tenant ID (from Step 2.1)
Client Secret (the VALUE from Step 2.1)

 

  1. Click Submit
  2. Click "Publish" — don't skip this step!
  3. Refresh and verify status shows "Published"

Configure for Government Customers (If Applicable)

The ServiceNow platform supports Microsoft 365 Government plans, offering all the features of Microsoft 365 services within a government-exclusive cloud. This setup helps organisations comply with U.S. security and compliance standards.

If your organisation uses Microsoft 365 Government plans, configure the integration profile to connect to the government-exclusive cloud endpoints. Refer to ServiceNow documentation for government-specific endpoint configuration.


2.5 Configure Usage for Copilot, Visio, and Project

Microsoft doesn't provide APIs to get usage directly for Microsoft 365 subscription products such as Microsoft Visio, Microsoft Project, and Microsoft Copilot. However, you can download activity reports for these products from the Microsoft 365 Admin Center.

Microsoft 365 administrators can download these reports and SAM Admins can attach them unmodified to the integration profile in the Software Asset Management application. The scheduled jobs within ServiceNow will then process these reports and identify reclamation candidates if the usage is low.

🎥 Video: Semi-Automated Import for Visio, Project and Copilot Usage Data

Download Reports from M365 Admin Center

  1. Log into M365 Admin Center with admin privileges
  2. Navigate to Reports → Usage
  3. For each product (Copilot, Project, Visio):
    • Click on the product
    • Go to the Usage tab
    • Click Export
    • Save the CSV file

⚠️ Critical: Do NOT rename or modify the CSV files. ServiceNow expects the exact format and filename from Microsoft.

Upload to ServiceNow

  1. Navigate to Software Asset Management Workspace → License Operations → Direct Integration Profiles
  2. Select your Microsoft 365 integration profile
  3. Go to the Attachments section
  4. Upload all three CSV files
  5. Click Save

⚠️ Multiple Tenants: If you have multiple M365 tenants, attach each CSV to the correct tenant's integration profile.

Processing

A daily scheduled job processes the attached files and imports usage data. After the job runs, verify data appears in License Operations → Software Usage.

💡 Ongoing Process: Download and upload these reports regularly (e.g., monthly) to keep usage data current.


2.6 Configure Reclamation Rules

The Software Asset Management application automatically provides base system reclamation rules when you create an integration profile for Microsoft 365.

To view and configure these rules:

  1. Navigate to Software Asset → Reclamation → Reclamation Rules
  2. Filter by Publisher = Microsoft

You may see multiple rules for different optimization scenarios (low usage, downgrade, overlapping, consolidate).

 

Key Rule Parameters

Parameter What It Controls Recommended Starting Value
Last activity threshold Days since last activity before flagging 90 days (conservative start)
Days before auto reclamation Grace period after notification 14 days
Include usage from discovery Include SCCM/ACC data for Access, Publisher Yes
User notification Notify users before reclamation Yes
Manager approval Require manager sign-off Organisation-dependent

💡 Tip: Start conservative with 90-day thresholds, then tighten to 60 days as you build confidence in the data accuracy.


2.7 Configure User Resolution Rules

Resolve or match the Microsoft 365 Admin Center user to the ServiceNow user (sys_user) to determine the right license compliance and provide correct optimization recommendations.

The User Principal Name (UPN) from M365 must match ServiceNow user records. If there are mismatches, configure user resolution rules to handle them.

⚠️ Important: Sometimes licenses are assigned to non-human users such as shared email accounts. In these instances, you can skip the user resolution process as it isn't required.


2.8 Run Scheduled Jobs

The Microsoft 365 integration profile you created automatically gets subscription and usage information from the Microsoft 365 Admin Center on a scheduled basis. You can run these jobs on demand and verify they complete successfully.

Key Scheduled Jobs

Job Default Frequency Purpose
SAM - Collect Microsoft 365 Usage Daily Collects usage data from Microsoft APIs
Import 365 usage Weekly Imports subscription and usage data
SAM - Create New Reclamation Candidates for Office 365 Integration Weekly Generates reclamation candidates

 

Run Jobs Manually

  1. Navigate to System Definition → Scheduled Jobs
  2. Search for "365" or "Microsoft"
  3. Select the job you want to run
  4. Click Execute Now
  5. Wait for the job to complete and verify success

Verify Data Import

After jobs complete, check:

What to Check Where What You Should See
User Subscriptions License Operations → User Subscriptions Subscriptions appearing (filter by your profile)
Software Usage License Operations → Software Usage Usage data appearing
Software Models License Operations → Software Models Models auto-created for Microsoft products

2.9 Set Up Software Models and Entitlements

The Software Asset Management application integrates with the Microsoft 365 Admin Center to generate software models automatically based on assigned subscriptions. These models include suite components, downgrades, and lifecycle details to confirm compliance and optimize licensing.

For these automatically created software models, you need to add your entitlements.

 

Why Entitlements Matter

Entitlements serve two critical purposes:

1. Compliance: Entitlements record what you've purchased from Microsoft. SAM Pro compares your entitlements (licenses owned) against consumption from the M365 Admin Center (licenses used) to determine your compliance position — whether you're compliant, over-licensed, or under-licensed.

2. Savings Calculations: SAM Pro calculates potential and realised savings based on the unit prices in your entitlement records. Without unit prices on your entitlements, the Optimization and Savings dashboard won't show accurate cost data.

⚠️ Important: Without entitlements, you cannot determine compliance or calculate savings. Creating accurate entitlements with unit prices is essential for the full value of M365 optimization.

Automatic Software Model Creation

When the M365 integration runs, SAM Pro automatically creates software models based on the subscriptions it discovers. You don't need to create Microsoft software models manually.

💡 Tip: If you have previously set up entitlements using Publisher Part Number, the software models from that setup are used in this integration, avoiding the creation of duplicate models.

⚠️ Important: Verify that no software models are created without Discovery Maps (DMAPs) and no entitlements are created without a Publisher Part Number (PPN) for a smoother implementation.

Creating Your M365 Entitlements

For each M365/O365 subscription type you've purchased, create an entitlement with:

 

Field What to Enter
Software Model Select the appropriate M365/O365 model (e.g., Microsoft 365 Enterprise E5)
License Metric Per Named User (not per device)
Quantity Number of licenses purchased
Unit Price Your agreement price per license (enables savings calculations)
Contract Reference to your Microsoft EA or agreement
Publisher Part Number From your Microsoft invoice
License Type See table below

 

License Types

Microsoft 365 offers various subscription types. Select the appropriate license type based on your scenario:

 

Your Scenario License Type to Use
New cloud subscription Full USL
Migrating from on-prem with SA From SA USL
Evaluating cloud while keeping perpetual Add-on USL
Upgrading E3 to E5 Step-up
Planning future capacity Reserve

 

Set Up Add-on, From SA, and Step-up Entitlements

Associate an Add-on license with a perpetual Office legacy license with active Software Assurance. This is used when you're evaluating cloud features while continuing to use your on-premises perpetual license.

From SA USL is used when transitioning from on-premises perpetual licenses with active Software Assurance to cloud subscriptions.

Step-up licenses are used when upgrading from a lower tier to a higher tier (e.g., E3 to E5), allowing you to pay only the price difference.

 

Set Up License Reservations

Create Reserve entitlements for Microsoft online services to add licenses to your existing Microsoft 365 subscriptions. This is used for capacity planning when you're ordering licenses ahead of your annual true-up.

Reserve entitlements track:

  • Reservation quantity
  • Expected activation date
  • Associated subscription type

Entitlement Best Practices

1. Use Publisher Part Number (PPN)

If you set up entitlements using the Publisher Part Number from your Microsoft invoice, SAM Pro will reuse existing software models and prevent duplicates.

2. Match Entitlement to Subscription Level

 

If You Purchased Create Entitlement For
Microsoft 365 E3 Microsoft 365 E3 (not Office 365 E3 separately)
Office 365 E5 Office 365 E5
Separate O365 E3 + EMS E3 + Windows E3 Can create separately; SAM Pro handles the mapping

 

3. Include Unit Prices

Without unit prices, SAM Pro can still identify optimization candidates but cannot calculate potential or realised savings. Enter your actual agreement pricing for accurate cost analysis.

4. Create Entitlements for Each Tier

If you have a mix of E3 and E5 licenses, create separate entitlements for each tier with their respective quantities and unit prices.


Troubleshooting Common Issues

Symptom Cause Resolution
No subscriptions appearing Missing permissions or consent Verify Entra ID app permissions and admin consent status
Subscriptions but no usage data Reports.Read.All not granted or job not run Check permission; run the usage collection job
User names showing as anonymous Concealed user setting enabled Disable in M365 Admin Center → Settings → Reports
User mismatch (subscriptions not matching users) UPN doesn't match ServiceNow user Configure user resolution rules
No Power BI usage data Power BI service principal not configured Complete Step 2.2; wait 15 minutes for replication
Copilot/Visio/Project showing no usage CSV not uploaded or job not run Upload reports to integration profile; run daily job
Jobs failing after working previously Client secret expired Generate new secret in Entra ID; update integration profile
Duplicate software models Entitlements created without PPN Use Publisher Part Number when creating entitlements

What's Next?

Your M365 integration is now configured, importing data, and your entitlements are set up for accurate savings calculations. In Part 2, we'll cover:

 

  • Verifying your configuration
  • Understanding your M365 data and optimization opportunities
  • Acting on compliance and optimization recommendations
  • Ongoing operations

Continue to: Part 2: Compliance, Optimization & Reclamation


Quick Reference: Video Playlist

Topic Video
Guided Setup Overview Microsoft 365 Guided Setup
Register Entra ID App Register a Microsoft Azure AD Application
Power BI Setup Enable Service Principal Authentication for Power BI
Disable Anonymous Users Configure Updates on Microsoft 365 Admin Center
Create Integration Profile Create a Microsoft 365 Integration Profile
Copilot/Visio/Project Upload Semi-Automated Import for Visio, Project and Copilot

Questions?

Join us at SAM Office Hours — our monthly community call where you can ask questions directly to product experts. Check the Community Events calendar for the next session.


This is Part 1 of a 2-part series on M365 Optimization with SAM Pro.

Version history
Last update:
3 weeks ago
Updated by:
Contributors