Configure Exchange Online App-Only Authentication for ReportEx

Overview
This article explains how to configure App-Only Authentication for ReportEx using Microsoft Entra ID (Azure AD). The configuration includes:

Note: You must sign in with a Global Administrator, Application Administrator, or Privileged Role Administrator account, depending on the step being performed.

Step 1: Create an App Registration
  1. Sign in to the Microsoft Entra admin center:
     https://entra.microsoft.com/
Alternatively, you can sign in to the Azure Portal:
 https://portal.azure.com/
 


  1. Navigate to:
IdentityApplicationsApp registrations
  1. Click New registration.
 
A screenshot of a computerDescription automatically generated

  1. Enter a name for the application (for example, ReportEx).
 

  1. Under Supported account types, select:
Accounts in this organizational directory only (Single tenant)
  1. Leave the Redirect URI field empty. It is not required for certificate-based App-Only authentication.
  2. Click Register.

  1. After the application is created, copy the following information:
    • Application (Client) ID
      • This will be used in the Client ID field while creating the ReportEx instance.
    • Tenant Domain
      • Example:
         contoso.onmicrosoft.com
      • This will be used in the Tenant Name field.
 

Step 2: Assign Exchange Online and Microsoft Graph API Permissions
A. Assign Exchange Online API Permission
 
Open the App Registration created in Step 1.
  1. Navigate to:
API PermissionsAdd a permission
 


  1. Select:
APIs my organization uses
  1. Search for:
Office 365 Exchange Online

A screenshot of a computerDescription automatically generated

  1. Select Application permissions (Do not select Delegated permissions).
A screenshot of a computerDescription automatically generated

  1. Search for and enable the following permission:
Exchange.ManageAsApp
  1. Click Add permissions.

  1. After the permission has been added, click:
Grant admin consent for <Your Tenant>
  1. Confirm the action.
  2. Verify that the permission shows a green check mark indicating that Admin Consent has been granted.




B. Assign Microsoft Graph API Permissions
  1. From the same App Registration, navigate to:
API PermissionsAdd a permission
  1. Select:
Microsoft Graph

  1. Select:
Application permissions

Do not select Delegated permissions.



  1. Search for and add the following permissions:
    • User.Read.All


    • Group.Read.All


    • Reports.Read.All


    • Organization.Read.All


  1. After adding all the required permissions, verify that the following Application permissionsare listed:
    • Office 365 Exchange Online
      • Exchange.ManageAsApp
    • Microsoft Graph
      • User.Read.All
      • Group.Read.All
      • Reports.Read.All
      • Organization.Read.All
  2. Click:
Grant admin consent for <Your Tenant>
  1. Confirm the action.
  2. Verify that the permissions show a green check mark, indicating that Admin Consent has been granted.


Important: Admin consent must be granted for all the required API permissions before configuring the ReportEx Exchange Online instance.



Step 3: Assign the Exchange Administrator Role
Important
The Exchange Administrator role must be assigned to the application from the Microsoft Entra admin center.
This role assignment cannot be completed from ReportEx or by a standard user account.
The role assignment must be performed by a Global Administrator or Privileged Role Administrator.
  1. Sign in to the Microsoft Entra admin center.
  2. Navigate to:
IdentityRoles & admins
 
  1. Search for:
Exchange Administrator
  1. Open the Exchange Administrator role.
 
 
 
  1. Select the Assignments tab.
  2. Click + Add assignments.
  3. Search for the application created in Step 1 (for example, ReportEx).
 


  1. The application will appear as a Service Principal.
  2. Select the application and click Add.
  3. Verify that the assignment appears with:
  • Type: Service Principal
  • Scope: Directory
 
 
 
 
Note
Role propagation may take several minutes.
If the ReportEx connection test fails immediately after assigning the role, wait a few minutes and test the connection again.
If certain reports later return permission-related errors, your administrator can verify that the application has the required Exchange Administrator role and API permissions.

Information Required in ReportEx
After completing the above configuration, use the following values while creating the Exchange Online instance in ReportEx.
ReportEx Field
Value
Client ID
Application (Client) ID from the App Registration
Tenant Name
Your tenant domain (for example, contoso.onmicrosoft.com)
 
Need Assistance?
If you experience any issues while configuring Exchange Online for ReportEx, please contact the Hosting Controller Support Team.