Skip to content

Subscription Renewal & Trial Calendar

The question it answers: Which subscriptions renew, expire, enter suspension or get deleted next, and which trials are about to lapse?

Which subscriptions renew, expire, enter suspension or get deleted next - and which trials are about to lapse. A subscription that expires unnoticed takes its licences, and the users’ access, with it.

Where in the appLicensing › Subscription Calendar
WorkloadLicensing
KindTable · dashboard tile
DataBuilt from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once.
LicenceNo extra licence needed.
Report id (API and MCP)entra.licensing.subscription-calendar
ColumnKeyType
ProductProductNameText
StatusStatusStatus
Next eventNextEventText
DateNextLifecycleDateTimeDate
DaysDaysToNextLifecycleText
TrialIsTrialYesNo
LicencesTotalLicensesText
Assigned (SKU)AssignedLicensesText
SKUSkuPartNumberText
FilterKey (API)On when the page opens
Only subscriptions changing state within 90 days, suspended, or in warningattentionYes

Licence: No extra licence needed.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
Organization.Read.AllMicrosoft GraphRead organization information
User.Read.AllMicrosoft GraphRead all users’ full profiles
User-LifeCycleInfo.Read.AllMicrosoft GraphRead all users’ lifecycle information
Data sources it reads
  • GET /v1.0/directory/subscriptions
  • GET /v1.0/subscribedSkus
GET /ir-api/v1/reports/entra.licensing.subscription-calendar?size=100
GET /ir-api/v1/reports/entra.licensing.subscription-calendar?filter=attention

An AI assistant reads it with the MCP tool get_report and the id entra.licensing.subscription-calendar. The client needs the Read grant for Licensing. See Using the API.