Monitoring 9 min read Updated August 10, 2026

Does Microsoft Entra notify you when an App Registration secret expires?

Short answer: not proactively, and not to who you'd expect. Microsoft Entra can email you when it generates a new credential-expiry recommendation — but that email is scoped to a role, not to the app's owner, it arrives once, and it shares your inbox with several unrelated recommendations. Here's exactly what Entra sends, how to check by hand, and where a dedicated tool like Token Watch fits in.

Three ways to catch an expiring secret

1. Entra's recommendation email. Microsoft Entra can flag expiring App Registration credentials as a "recommendation" and, in preview, email a role about it — but only once, and only to whoever holds Application Administrator, not the app's actual owner.

2. Manually checking App registrations. The All applications list does show every app with a rolled-up status — but that status is per app, not per credential, so a flagged app still sends you into its Certificates & secrets tab to find out which secret is actually the problem.

3. Token Watch. A dashboard purpose-built for this: every credential in one sortable, filterable view, with a daily email report and a configurable expiration threshold instead of a fixed one-time notice.

If you don't want to read the details, here's how the three stack up:

Entra recommendation email Manual portal check Token Watch
Proactive? Only if you hold the right role — and only once No — you have to go look Yes — daily report plus a live dashboard
Status granularity Mixed in with several unrelated recommendations One rolled-up flag per app, not per credential Every credential shown individually, one screen
Reaches the app owner? No — goes to the Application Administrator role, not the app's Owner Only if that person has Entra access and remembers to check Yes, on paid plans
Expiration window Fixed at 30 days Fixed at 30 days (visual flag only) Configurable, 1–120 days
Sortable / filterable? No No — the status column can't be sorted or filtered Yes — by urgency and by status
Repeats until fixed? No — sent once, when the recommendation first appears N/A — whenever you happen to check Yes — every day until the credential is rotated

Method 1: Microsoft Entra recommendations

Microsoft Entra ID analyzes your tenant's configuration once a day and surfaces recommendations for anything that drifts from best practice. One of them is Renew expiring application credentials, and Microsoft's own documentation is specific about the trigger: an application credential counts as expiring if "it's on an application registration AND is expiring within the next 30 days." That number isn't a default you can raise or lower — it's the only threshold this feature has.

The Renew expiring application credentials recommendation in the Microsoft Entra admin center, showing the action plan and a list of impacted resources with the More Details action highlighted.
What the recommendation looks like once you open it — a list of impacted apps, no email in sight unless someone holds the right role. Screenshot: Microsoft Learn.

The recommendation itself just sits in the Entra ID > Overview > Recommendations blade until someone opens the portal and looks. What actually gets you close to a real alert is a newer, separate capability: email notifications for recommendations, currently in preview. When a new recommendation is generated, Entra emails a predetermined set of roles. For the credential-renewal recommendation specifically, that role is Application Administrator.

Application Administrator is a tenant-wide admin role — not the same thing as the Owner field on an individual app registration. A developer who owns one app but doesn't hold that role gets nothing. Microsoft's docs are explicit about this design: the recommendation is "sent to users who have the Application Administrator role," full stop.

Three things make this a weak substitute for a real alert:

  • It's not scoped to credential expiry. The same Application Administrator role is also the notification target for at least half a dozen other recommendations — unused applications, apps still calling the retiring Azure AD Graph API, apps that need migrating off AD FS, and more. Credential expiry arrives mixed in with all of it, in whatever inbox the admin happens to check.
  • It fires once, not on a schedule. The email goes out when the recommendation is first generated for your tenant. It is not a recurring digest, and Microsoft explicitly recommends "checking the recommendations regularly" yourself rather than relying on the email alone.
  • It depends on someone actually holding the role. If you use Privileged Identity Management and nobody is actively elevated into Application Administrator at the moment the recommendation fires, Microsoft's docs say plainly: "no emails are sent."

There's also a data-freshness catch that has nothing to do with email: the analysis runs on a rolling 24-hour window, and Microsoft notes that "data synchronization may extend up to 72 hours." A secret that just started expiring might not show up as a recommendation — or trigger an email — for a few days.

Method 2: manually checking App registrations

The reliable native option is to go look yourself. Open Entra ID > App registrations > All applications and every registered app is listed with a Certificates & secrets column — a status like Current, or a warning once something on that app is expiring or expired. Anyone with visibility into App registrations can see it, which is the one real advantage over the recommendation email: an individual app owner doesn't need the Application Administrator role, just read access to the app.

The App registrations All applications list in the Microsoft Entra admin center, with a Certificates & secrets column showing a Current status badge for one of the listed apps.
The Certificates & secrets column rolls every credential on an app into one badge — useful for a glance, not enough to tell you which secret needs attention. Screenshot: Microsoft Learn.

The catch is that the status is rolled up per app, not per credential. An app with three secrets and one certificate shows a single flag — it tells you something on that app needs attention, not which secret, when it actually expires, or whether you're already in the middle of rotating it. There's also no way to sort or filter the list by that column, so on a tenant with dozens of apps you're scanning the whole list by eye. Either way, you end up opening the app's own Certificates & secrets tab — where each individual credential does get its own amber-for-expiring or red-for-expired flag — to find the actual answer. It's a lookup, not a notification, and re-checking it is entirely on you.

Both native paths cap out at the same fixed 30-day window. If your team's rotation process takes longer than that — getting a new secret approved, deployed, and verified across every environment — Entra's own tooling gives you no way to see it coming any earlier.

Method 3: Token Watch

Token Watch exists specifically to close this gap. It connects to your Microsoft Entra ID tenant with read-only Microsoft Graph access, syncs every App Registration's secrets and certificates, and gives you one screen instead of one blade per app.

Token Watch dashboard showing Azure App Registration credentials with status cards for expired, expiring, healthy and untracked, plus filter tabs and a Sort: Urgency dropdown.
Every credential in one place — sortable by urgency, filterable by status, instead of one Entra blade per app.

A few differences from both native paths:

  • Per-credential detail, not a rolled-up flag. The dashboard orders applications by urgency and filters by status, and expands each app to show every secret and certificate individually — no need to open Certificates & secrets in Azure just to find out which one is actually expiring.
  • Email alerts out of the box. A daily report of everything expired or expiring — not a one-time notice when a recommendation first appears — keeps arriving until the credential is actually rotated. See the email notifications overview for the full breakdown by plan.
  • A configurable threshold. Instead of a fixed 30 days, you set the expiring window yourself, from 1 to 120 days — useful if your rotation process needs more lead time than Microsoft's default assumes.
  • Notifications to application owners, not just tenant admins — on paid plans. This is the piece Entra's recommendation email structurally can't do, since it targets a role rather than the person responsible for a given app.

Token Watch doesn't renew or rotate anything for you — it makes sure the right person knows in time to do it themselves. If you'd rather push alerts into Slack, Teams, Azure DevOps work items, or a signed webhook instead of (or alongside) email, those channels build on the same underlying monitoring.

Which one should you use?

They're not mutually exclusive, and there's no harm in leaving Entra's native recommendation running — it costs nothing. But as your only line of defense, it has three structural gaps: it's bundled with unrelated recommendations, it targets a role instead of an app owner, and it only fires once. For a single side project, the manual check might be enough.

For anything with more than a handful of app registrations, or where an expired secret failing in production means real business cost (lost revenue, a breached SLA, a support queue nobody can keep up with), you want a tool built specifically to monitor credential expiry and alert you before it happens. That's the difference between finding out before the incident and finding out from AADSTS7000222 in your error logs.

FAQ

It can, but indirectly. Entra's "Renew expiring application credentials" recommendation can trigger a preview email, but only to users holding the Application Administrator role, only once when the recommendation is first generated, and mixed in with several unrelated recommendations. There is no recurring, credential-only notification built in.

Users actively holding the Application Administrator role tenant-wide — not the individual app registration's Owner. If you use Privileged Identity Management and nobody is elevated into that role when the recommendation fires, Microsoft's own documentation confirms no email is sent at all.

A credential on an app registration that expires within the next 30 days. That window is fixed — it isn't a setting you can change in Entra ID.

Yes — the App registrations > All applications list shows every app with a rolled-up Certificates & secrets status. But that status is per app, not per credential: it won't tell you which secret is expiring, doesn't account for one you're already rotating, and can't be sorted or filtered. You still open the flagged app's own Certificates & secrets tab — where individual credentials get amber/red flags — to find the real answer.

Alongside — there's no need to turn anything off. Token Watch adds a sortable, filterable dashboard, a daily email report that repeats until a credential is rotated, a configurable 1–120 day threshold, and notifications to individual application owners on paid plans, none of which the native recommendation provides.

Not with the native recommendation — it's targeted at a role (Application Administrator), not at whoever is listed as the app's Owner. Token Watch supports per-owner notifications on paid plans, which is the more practical fit for teams where different people own different applications.

Back to all guides

Top