Microsoft 365 Client Credentials

Microsoft 365 is a cloud-based service that is designed to help meet your organization's needs for robust security, reliability, and user productivity. This integration creates a single connection to your Microsoft 365 Client Credentials subscription that includes Office 365, Dynamics 365, Power BI, Project, Visio, and any future applications added by Microsoft.

Important:This Microsoft 365 Client Credentials integration requires the authentication method OAuth2 with client credentials.

The following sections explain prerequisites, resources, and instructions for integrating with SaaS Management.

Stored Microsoft 365 Client Credentials Information
Required Minimum Permissions for Microsoft 365 Client Credentials
Authentication Method for Microsoft 365 Client Credentials
Required Credentials for Microsoft 365 Client Credentials
Microsoft 365 Client Credentials License Types
Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials
Integrating Microsoft 365 Client Credentials With SaaS Management
Auto-Populated License Information for Microsoft 365 Client Credentials
Managing Available Licenses for Microsoft 365 Client Credentials
Viewing the Hybrid Microsoft 365 Client Credentials Position
Microsoft Power BI Reporting for Microsoft 365 Client Credentials
Microsoft 365 Client Credentials API Endpoints

Stored Microsoft 365 Client Credentials Information

The following table describes the available integration tasks and stored data within [ProductName].

Available Integration Tasks

Information Stored

Application Roster

Email
First Name
Last Name
UPN (User Principal Name)
Active Date
Deactivated Date
Licenses
Block Credentials
Is MFA Turned On
Last Used M365 Application
Sign in to M365 Domain

Note:For existing Microsoft 365 integrations with SaaS Management, you need to reauthorize the integration by granting the additional UserAuthenticationMethod.Read.All permission to retrieve the multifactor authentication details for the Users tab.

Block Credentials 
Is MFA Turned On 
Last Used M365 Application 
Sign in to M365 Domain 

Important:When the AuditLog.Read.All permission is not granted, the Application Roster integration task will not fail, rather it will skip the Sign in to M365 Domain and retrieve the remaining Application Roster fields.

Application Access

Last Activity Date of the following applications:

Dynamics 365
Microsoft Exchange Server
Microsoft Teams
OneDrive
Outlook
Power BI
Project
SharePoint
Skype for Business
Visio
Yammer

Note:Consider the following:

Application Access integration task data for Microsoft Exchange Server, Microsoft Teams, OneDrive, Outlook, SharePoint, Skype for Business, and Yammer is available 3 days after the event(s) occurs. Therefore, the data in the Microsoft Portal may not match the data in SaaS Management.
When the Application Access integration task is first run, it pulls all the Microsoft 365 active users and the Outlook activity report but only the last 30 days of sign-in events for Dynamics 365, Power BI, Project, and Visio due to a Microsoft data limitation. For more information, see Microsoft’s documentation topic, How Long Does Microsoft Entra ID Store the Data? 

Important:When the AuditLog.Read.All permission is not granted, the Application Access integration task will not fail, rather it will skip the activities for the Dynamics 365, Power BI, Project, and Visio applications and retrieve the activities for the remaining Microsoft 365 applications.

License Differentiation

See Microsoft 365 Client Credentials License Types and Tracking Application Activity by License Type for License Differentiation.

License Information

License Name
License Type
Purchased Quantity

Note:The SaaS Management License Information integration task retrieves information once every 24 hours. Therefore, the data in the Microsoft Portal may not match the data in SaaS Management.

Reclamation

Reclaiming SaaS licenses affects all the users’ licenses within a SaaS integration. For example, a user has licenses for Office 365 Exchange, Outlook, and Yammer. However, the Software Asset Manager is only managing licenses for Office 365 Exchange and Outlook. Reclamation removes all three (Office 365 Exchange, Outlook, and Yammer) licenses from the user.

To reclaim Microsoft 365 Client Credentials SaaS licenses, see Reclaiming SaaS Licenses.

Note:The information stored is subject to change as enhancements are made to the SaaS application.

Required Minimum Permissions for Microsoft 365 Client Credentials

The minimum API required permissions are based on the Required Application Permissions for Microsoft 365 Client Credentials and the Required User Role for Microsoft 365 Client Credentials.

Required Application Permissions for Microsoft 365 Client Credentials

Application Permission

Description

Integration Task Name

AuditLog.Read.All

Enables you to read the user sign ins for your tenant.

Application Access 

Application Roster 

Reports.Read.All

Enables you to read the user access event details in your Microsoft account.

Application Access 

UserAuthenticationMethod.Read.All

Is required for retrieving the multifactor authentication details for the user.

Application Roster 

Directory.Read.All and

Reports.Read.All

Enables you to read the list of users in your Microsoft account.

Application Roster 

License Information 

User.ReadWrite.All

Is required for modifying the license assigned to the user.

Reclamation 

Required User Role for Microsoft 365 Client Credentials

Note:The following SaaS application user role is not applicable to Flexera One roles.

User Role

Description

Global Administrator

To grant the application permissions, the user must have Global Administrator access. For more information, see Microsoft’s documentation topic, Microsoft Entra Built-In Roles.

Authentication Method for Microsoft 365 Client Credentials

The required authentication method is OAuth 2.0 With Client Credentials. For more information, see Microsoft’s documentation topic, Microsoft Identity Platform and the OAuth 2.0 Client Credentials Flow.

Required Credentials for Microsoft 365 Client Credentials

The following credentials are required:

Application (Client) ID
Client Secrets Value
Directory (Tenant) ID.

Microsoft 365 Client Credentials License Types

To learn more about the product names and service plan identifiers for Microsoft 365 licenses, see Microsoft’s documentation topic, Product Names and Service Plan Identifiers for Licensing.

Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials

Before Integrating Microsoft 365 Client Credentials With SaaS Management, you need to obtain client credentials and the directory (tenant) ID by completing the following steps.

To obtain Client Credentials and Directory (Tenant) ID:

1. Sign in to your Microsoft Azure Portal.
2. In the Search box at the top of the page, enter App registrations and click App registrations in the search results to select it. The App registrations page opens.
3. Click New Registration. The Register an application page opens.
4. Enter a Name and choose the Accounts in this organizational directory only option.
5. Click Register.
6. On the Overview tab, copy and paste the Application (client) ID and the Directory (tenant) ID to a file. You will later enter these values in SaaS Management.
7. To generate a client secrets value, do the following:
a. Click the Certificates & secrets tab.
b. Under Client secrets, click New client secret. The Add a client secret dialog box opens.
c. In the Description field, enter a name for the new secret.
d. Under Expires, choose an expiration value.
e. Click Add.
f. Under Client secrets, copy and paste the client secret value to a file. You will later enter this value in SaaS Management.
8. Click the API permissions tab and complete the following:
a. Click Microsoft Graph. The Request API permissions panel opens.
b. Click Application permissions.

Note:Do not select Delegated permissions. Delegated permissions will not work.

c. In the Select permissions search box, enter Directory, and then click the arrow to expand Directory and select the Directory.Read.All permission checkbox.
d. In the Select permissions search box, enter Reports. Then click the arrow to expand Reports and select the Reports.Read.All permission checkbox.
e. Click Update permissions.
f. In the Select permissions search box, enter AuditLog. Click the arrow to expand AuditLog, and select the AuditLog.Read.All permission checkbox.
9. After the permissions are added, grant admin consent.

Important:If you modify any permissions in the Microsoft Azure Portal that are used to create the directory (tenant) ID and client secrets value, you need to reauthorize the Microsoft 365 Client Credentials integration in SaaS Management by completing all the steps in the Integrating Microsoft 365 Client Credentials With SaaS Management section.

10. Proceed to Integrating Microsoft 365 Client Credentials With SaaS Management.

Integrating Microsoft 365 Client Credentials With SaaS Management

To integrate Microsoft 365 Client Credentials with SaaS Management, perform the following steps.

Best Practice:Flexera recommends creating the Microsoft 365 Client Credentials integration to view your organization’s Office 365 Client Credentials, Dynamics 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, and Visio Client Credentials license usage data. Any existing Office 365 Client Credentials, Dynamics 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, and Visio Client Credentials integrations in SaaS Management will be superseded by this new Microsoft 365 Client Credentials integration. To deactivate an existing integration, see Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management.

To integrate Microsoft 365 Client Credentials with SaaS Management:

1. Complete the prerequisite steps in Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials.
2. Add the Microsoft 365 Client Credentials application in SaaS Management. For more information, see Adding an Application.
3. In the Add Application page for Microsoft 365 Client Credentials:
a. Select the Application Roster and Application Access integration tasks checkboxes.
b. Copy and paste the Application (Client) ID, Client Secrets Value, and Directory (Tenant) ID values from Obtaining Client Credentials and Directory (Tenant) ID for Microsoft 365 Client Credentials into the respective SaaS Management fields.
c. Click Authorize.

After you have successfully integrated Microsoft 365 Client Credentials with SaaS Management, the following Microsoft information is available in the Users tab.

Users Tab Column

Description

UPN

This User Principal Name (UPN) column is a user filtering option.

Licenses

This column filters discovered and assigned Microsoft licenses.

Activations

This column lists the names of the on-premises products the user has activated.

Mail Usage

This column displays the user’s mailbox storage consumption in MB.

OneDrive Usage

This column displays the user’s OneDrive for Business (OD4B) storage consumption in MB.

Windows

Is the user using a Windows desktop machine? (Yes or No is displayed.)

Mac

Is the user using a Mac device? (Yes or No is displayed.)

Mobile

Is the user using a mobile device? (Yes or No is displayed.)

Web

Has the user accessed Microsoft 365 applications via a browser? (Yes or No is displayed.)

onPremisesSync

The following deployment options are displayed:

Yes if it is an on-premises sync
No if it is a cloud sync.

Block Credentials

Are the user’s Microsoft 365 credentials blocked? (Yes or No is displayed.)

Users with blocked credentials cannot access their Microsoft 365 account, which limits their account activity. Limited account activity due to blocked credentials may inaccurately reflect license downgrading or license reclamation opportunities.

Is MFA Turned On

Has the user turned on multifactor authentication (MFA) for their Microsoft 365 account? (Yes or No is displayed.)

Users signing in to their Microsoft 365 account with multifactor authentication or single sign-on (SSO) should not have their licenses reclaimed.

Last Used M365 Application

Displays the Microsoft 365 application that was last used by the user. This application is based on the user activities retrieved by the Microsoft 365 integration with SaaS Management.

If users are not using a more expensive application within a Microsoft 365 license, there may be opportunities to downgrade user licenses.

Sign in to M365 Domain

Displays a timestamp for the last time users signed in to their Microsoft 365 account.

Infrequent user sign ins may provide license downgrading or license reclamation opportunities.

Note:It is possible that the date in the Sign In to M365 Domain column may differ from the date in the Last Activity column. The Last Activity date refers to the last time users accessed a specific Microsoft 365 product such as Teams or Outlook. It is also possible for users to have a Sign In to M365 Domain value while never having used a Microsoft 365 application. These users would appear as Never under Last Activity.

Days Since Last Activity

This is the number of days since the user’s last activity.

Guest

Is the user a Guest (that is, not a permanent employee such as a contractor)? (Yes or No is displayed.)

Title

The job title of the user is provided by Active Directory.

Country

This is the geographical location of the user.

Account Created Date

This is the date the user’s Microsoft 365 account was created within the Microsoft portal.

Note:Consider the following:

Application Roster data such as Mail Usage, OneDrive Usage, Activations, Windows, Mac, Mobile, and Web is available 3 days after the event(s) occurs. Therefore, the data in the Microsoft Portal may not match the data in SaaS Management for these Users tab columns, which are part of the Application Roster.
Flexera captures only the last 90 days of data for the following Users tab columns: Activations, Mail Usage, OneDrive Usage, Windows, Mac, Mobile, and Web.
Due to the current behavior of the Microsoft report API, if users have not activated any applications (Microsoft 365 apps for enterprise, Microsoft Project Online desktop client, Microsoft Visio desktop app, and Office Mobile apps for Office 365) 90 days from the date of the integration setup: the Activations column will be blank and display a "-" and for any new activations on day 91, the count will reflect on the Microsoft report API 3 days after the activation and will be retained in the report for the next 90 days.
Flexera obtains Activations data only when we activate the following Office 365 subscriptions such as Microsoft 365 apps for enterprise, Microsoft Project Online desktop client, Microsoft Visio desktop app, and Office Mobile apps for Office 365 across Windows and Mac machines (For more information, see Microsoft’s documentation topic, Microsoft 365 Reports in the Admin Center - Microsoft Office Activations).
Flexera obtains Yes values for the Windows, Mac, Mobile, and Web columns only when users perform activities in the following applications: Outlook, Word, Excel, PowerPoint, OneNote, and Teams (For more information, see Microsoft’s documentation topic, Microsoft 365 Reports in the Admin center - Microsoft 365 Apps Usage).

For further information on managing and optimizing your organization’s Microsoft 365 Client Credentials licenses, see:

Auto-Populated License Information for Microsoft 365 Client Credentials
Managing Available Licenses for Microsoft 365 Client Credentials
Viewing the Hybrid Microsoft 365 Client Credentials Position
Microsoft Power BI Reporting for Microsoft 365 Client Credentials
Tracking Application Activity by License Type for License Differentiation
Reclaiming SaaS Licenses.

Auto-Populated License Information for Microsoft 365 Client Credentials

The SaaS Management integration with Microsoft 365 Client Credentials offers a License Information integration task that automatically retrieves every 24 hours the name of the Microsoft 365 plan, license type, and total allowed number of licenses. This auto-populated Microsoft 365 Client Credentials license information provides a more complete view of your Microsoft SaaS entitlements and component usage by displaying:

Assigned entitlements.
User’s license activity (based on the user’s last login)
An 11 Services filter in the Microsoft 365 Client Credentials Activity tab, which helps you narrow the focus of your organization’s Microsoft 365 license activity.

Important:If you enable the License Information integration task, you need to enter and keep up to date the following Licenses Tab information. The License Information integration task does not pull in this information. The SaaS application’s annual spend calculation relies on entered and accurate license effective and ending dates.

Amount 
Currency 
Effective Date 
Payment Frequency 
Ending Date 

To auto-populate Microsoft 365 Client Credentials license information, see Auto-Populating SaaS Application License Information. When the License Information integration task is enabled, the License type, Name, and # of Items Allowed fields in the Microsoft 365 Client Credentials Licenses tab are disabled as this information is automatically populated. The active and inactive ingested license data from Microsoft can be compared against the Subscriptions data from the Licenses menu of the Microsoft 365 Admin Center.

Managing Available Licenses for Microsoft 365 Client Credentials

After the License Information integration task for Auto-Populated License Information for Microsoft 365 Client Credentials is enabled, you can add or remove the Microsoft 365 Client Credentials product licenses you wish to manage within SaaS Management. To manage available Microsoft 365 Client Credentials licenses, see Managing Available SaaS Application Licenses.

Note:Unselected licenses are not shown in SaaS Management and are filtered out from all calculations. When a Microsoft 365 Client Credentials license is not selected to be managed in SaaS Management, the license will also not appear in IT Asset Management when Viewing the Hybrid Microsoft 365 Client Credentials Position. For further filtering details, see What happens when a SaaS application’s license is filtered out?

Viewing the Hybrid Microsoft 365 Client Credentials Position

While Microsoft 365 Client Credentials licenses are assigned and managed in the Cloud, many of the applications and functionality in the Microsoft licensing portal are locally installed on users’ devices. Due to the hybrid nature of Microsoft 365 Client Credentials licenses, it is beneficial to integrate Flexera One’s SaaS Management with IT Asset Management in order to manage the Cloud licenses and local installations.

In SaaS Management, at the top of the Microsoft 365 Client Credentials Overview tab, click the View the hybrid Microsoft 365 position link to open Flexera One’s IT Asset Management License Summary page. This page is automatically filtered to Publisher name is Microsoft. Together, Flexera One’s SaaS Management and IT Asset Management applications provide a complete view of your organization’s Microsoft online and traditional desktop usage.

When SaaS purchase order data is synchronized with Flexera One’s IT Asset Management to display the hybrid Microsoft position, you only need to manage your Microsoft purchases in Flexera One’s SaaS Management. You may wish to include the additional SaaS purchase order details in IT Asset Management. However, these IT Asset Management purchases for Microsoft will not impact a SaaS Management-created Microsoft Named User license in Flexera One’s IT Asset Management.

Best Practice:To avoid confusion and potential license duplication, Flexera recommends that any licenses created in IT Asset Management for Project Client Credentials / Visio Client Credentials / Dynamics 365 Client Credentials be deleted as the new SaaS Management Microsoft 365 Client Credentials integration also creates these licenses with imported entitlement and consumption. For more information, see Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management.

Avoiding Duplicate Microsoft 365 Client Credentials Licenses between SaaS Management and IT Asset Management

To synchronize existing Microsoft 365 Client Credentials licenses between Flexera One’s SaaS Management and IT Asset Management All Licenses page, which feeds to the License Summary page, ensure the Flexera SaaS Manager integration is enabled in the IT Asset Management Integrations tab. For more information, see Flexera One’s IT Asset Management documentation topic, IT Asset Management Settings: Integrations Tab.

Complete the following steps to avoid duplicating Microsoft 365 Client Credentials licenses between Flexera One’s SaaS Management and IT Asset Management.

To remove Microsoft 365 Client Credentials licenses created in SaaS Management (and integrated with IT Asset Management) from IT Asset Management:

1. In SaaS Management:
a. Disable the existing separate Office 365 Client Credentials, Power BI Client Credentials, Project Client Credentials, Visio Client Credentials, or Dynamics 365 Client Credentials integrations to delete the license information. To disable the integration, go to the SaaS menu and click Managed SaaS Applications. The Managed SaaS Applications page opens.
b. On the Managed SaaS Applications page, select the appropriate application’s instance link. The instance’s Overview tab opens by default.
c. On the upper-right side of the Overview tab, click the Application Details link to open the Application Details window. In the Application Details window, click Deactivate.
2. In IT Asset Management:
a. Ensure the Flexera SaaS Manager integration is enabled in the IT Asset Management Integrations tab. For more information, see Flexera One’s IT Asset Management documentation topic, IT Asset Management Settings: Integrations Tab. The Import Inventory job is executed overnight.
b. After the Import Inventory job is executed the next day, delete the Microsoft licenses now marked as “Retired” in IT Asset Management.

Note:Any purchases managed in IT Asset Management and associated to the now retired/deleted licenses will return an “Unprocessed purchase” response.

c. After the Import Inventory job is executed in IT Asset Management the next day, the Flexera SaaS Manager integration creates all the Microsoft 365 licenses with purchase counts and consumption counts.

Note:Because the Microsoft purchase counts come from SaaS Management, any IT Asset Management purchases linked to the Microsoft license will not be reflected against the IT Management license totals for Microsoft Named User licenses (created from the SaaS Management integration) in the IT Asset Management All Licenses or License Summary page.

3. In SaaS Management, set up the Microsoft 365 Client Credentials integration per Integrating Microsoft 365 Client Credentials With SaaS Management.

Microsoft Power BI Reporting for Microsoft 365 Client Credentials

SaaS Management’s Microsoft Power BI report, which uses the SaaS Management API, provides the insights that enable improved governance and license management processes for complex Microsoft 365 environments. The Microsoft Power BI report insights can be shared with contacts within your organization who do not use SaaS Management.

To create the Microsoft Power BI report, see the Microsoft 365 Power BI Reporting for Flexera One's SaaS Management Knowledge Base article.

Microsoft 365 Client Credentials API Endpoints

Application Roster

https://graph.microsoft.com/v1.0/users

 

https://graph.microsoft.com/beta/users

 

https://graph.microsoft.com/v1.0/subscribedSkus

 

https://graph.microsoft.com/beta/reports/getOffice365ActivationsUserDetail

 

https://graph.microsoft.com/beta/reports/getM365AppUserDetail

 

https://graph.microsoft.com/beta/reports/getOneDriveUsageAccountDetail

 

https://graph.microsoft.com/beta/reports/getMailboxUsageDetail

 

https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails

Application Access

https://graph.microsoft.com/v1.0/users

 

https://graph.microsoft.com/beta/reports/getOffice365ActiveUserDetail

 

https://graph.microsoft.com/beta/reports/getEmailActivityUserDetail

 

https://graph.microsoft.com/v1.0/auditLogs/signIns

License Information:

https://graph.microsoft.com/v1.0/subscribedSkus

Reclamation

https://graph.microsoft.com/v1.0/users{id | userPrincipalName}/assignLicense