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.
At a glance
Section titled “At a glance”| Where in the app | Licensing › Subscription Calendar |
| Workload | Licensing |
| Kind | Table · dashboard tile |
| Data | Built from the tenant data IntensiveReports keeps in memory and refreshes in the background, so it opens at once. |
| Licence | No extra licence needed. |
| Report id (API and MCP) | entra.licensing.subscription-calendar |
Columns
Section titled “Columns”| Column | Key | Type |
|---|---|---|
| Product | ProductName | Text |
| Status | Status | Status |
| Next event | NextEvent | Text |
| Date | NextLifecycleDateTime | Date |
| Days | DaysToNextLifecycle | Text |
| Trial | IsTrial | YesNo |
| Licences | TotalLicenses | Text |
| Assigned (SKU) | AssignedLicenses | Text |
| SKU | SkuPartNumber | Text |
Filters
Section titled “Filters”| Filter | Key (API) | On when the page opens |
|---|---|---|
| Only subscriptions changing state within 90 days, suspended, or in warning | attention | Yes |
What it needs
Section titled “What it needs”Licence: No extra licence needed.
Application permissions on the IntensiveReports app registration (all permissions):
| Permission | API | What it allows | Note |
|---|---|---|---|
Organization.Read.All | Microsoft Graph | Read organization information | |
User.Read.All | Microsoft Graph | Read all users’ full profiles | |
User-LifeCycleInfo.Read.All | Microsoft Graph | Read all users’ lifecycle information |
Data sources it reads
GET /v1.0/directory/subscriptionsGET /v1.0/subscribedSkus
Through the API and MCP
Section titled “Through the API and MCP”GET /ir-api/v1/reports/entra.licensing.subscription-calendar?size=100GET /ir-api/v1/reports/entra.licensing.subscription-calendar?filter=attentionAn 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.