Office 365 Service Health using Office 365 Service Communications API

A template to monitor Office 365 Service Health Status using Office 365 Service Communications API and Azure Application for authentication.

Results will display as below



Configure an Azure application to authenticate your tenant to the API

Follow the steps in the below link

Configure SAM to use Microsoft Graph API for Office-365 related templates

in addition to the above, ensure you add these permissions for the Office 365 Management API


In SolarWinds add credentials for your Azure Application

Username:           Client ID

Password:            Client Secret

The Tenant ID will be passed to the script via the arguments field

In the component monitor, make sure you add the Office 365 service you want to monitor and your tenant ID to the arguments field.

The script is the same for each Office 365 service so only this needs to be changed if adding additional services


I display this on my dashboard by adding a custom table widget with the settings below.

So far this is the best way I have found to display the information, although I am fairly new to SolarWinds


Hope this helps people as I couldn't find much info on retrieving service health information

Thanks to jvb as I used and modified the api authentication methods from their Microsoft Office 365 Teams template

  • We had this working just fine months ago.  When I looked recently, everything is failing and if I test an individual component, I get back 
    Exception was caught: The remote server returned an error: (500) Internal Server Error.

    Have gone through the credentials in Azure AD and Solarwinds and verified everything, but not working. Where do I look now?

  • There are many potential pitfalls that one may be faced with in the process of developing their own mobile application. One of the most common mistakes that companies make is hiring third party developers and also they can check outsourced document management and digitization to get their best services. Third party developers set up the SDK, but they do not actually develop any code, they only provide the actual code that will be used in the app.

  • After running the script manually, we were able to determine that the line 'if ($Status.status -match "PIRPublished") {$Stat = 7}' was the issue.  It seem Microsoft has updated this status to 'PostIncidentReviewPublished' instead.  Once we updated that, then we were able to get a correct status reading.  Also, some of the items are outdated (OSub, DynamicCRM).  We saw that no status would show on them, but after reviewing our O365 admin center health page, we noticed those were not there.  This module might need some minor updating.  But thanks for it nevertheless!

  • This is actually the error I'm getting as well.  Supposedly due to a missing powershell extension but haven't been able to test this.  Anyone else get past this?

  • I also see the below error on APM logs

    ERROR SolarWinds.APM.Probes.PowerShellProbe - Parse script output log:
    Scripting Error: Script does not contain the expected parameters or is improperly formatted. 'Statistic' missing.