Azure Monitor: OTP Verification Issue with Action Group Email Receivers — Persistent Failure

JGG671-9551 0 Reputation points
2026-09-10T18:55:57.27+00:00

Azure Monitor Action Group email OTP verification consistently failsSince September 6, 2026, I have been unable to verify new email receivers for an Azure Monitor Action Group using the OTP verification process.The Action Group is using West US regional processing. Verification emails are delivered successfully, but every OTP redemption attempt returns:Verification failed``An error occurred while verifying your code. Please try again later.I have reproduced this with:the original verification email,a Resend-triggered verification email, anda freshly issued verification email after removing and re-adding one receiver.In each case, the OTP was entered promptly after receipt and failed with the same error.The Action Group configuration has been validated and the one-receiver remove/re-add test did not change the outcome.I also captured the browser-side verification transaction. In my environment, the verification flow uses Microsoft’s Azure email-notification verification service rather than a management.azure.com/.../verifyReceiver XHR call. The SubmitVerification request returns HTTP 200 OK, but the returned HTML renders the verification-failed message above.Has anyone else encountered this with the new/progressive Azure Monitor Action Group email OTP verification rollout? Is there a known service issue, regional issue, or supported workaround?I have an active Microsoft support case and can provide detailed traces privately, but I am not posting tenant IDs, subscription IDs, resource IDs, email addresses, OTPs, tokens, signatures, or session information publicly.

Azure Monitor
Azure Monitor

An Azure service that is used to collect, analyze, and act on telemetry data from Azure and on-premises environments.


3 answers

Sort by: Most helpful
  1. Muhammad Bilal Khan 85 Reputation points
    2026-09-14T07:15:52.4666667+00:00

    Hello @JGG671-9551 ,

    Based on the testing you've already done, I would also suspect a service-side issue in the Action Group email verification flow rather than a problem with the receiver configuration.

    A few points stand out:

    • Microsoft documents that standard email receivers must be verified using a one-time passcode within 30 minutes, and that verification persists for the tenant.

    • You've reproduced the failure with multiple newly generated OTPs, including after removing/re-adding the receiver, so this doesn't look like an expired or reused code.

    • The fact that the verification request itself returns HTTP 200, but the returned page says Verification failed, suggests the failure may be occurring in the backend verification transaction rather than at the browser/request level.

    • Since the Action Group is using West US regional processing, I'd include the region explicitly in the support case. Microsoft supports regional Action Group processing and lists West US as one of the available regions.

    I wouldn't recommend trying to manipulate the Action Group through ARM/CLI to bypass the verification requirement. The documented CLI/PowerShell interfaces can manage or enable email receivers, but they don't provide a supported way to mark an unverified email receiver as verified.

    One useful diagnostic would be to test a different receiver email in the same tenant and same Action Group region. If multiple unrelated addresses fail OTP verification, that would make the service-side/regional hypothesis much stronger.

    Since you already have an active Microsoft support case, I would give them the RequestId, exact failure timestamp in UTC, West US region, and the fact that SubmitVerification returns 200 while the response renders the verification failure. That is much more useful than providing the OTP or session data publicly.

    I don't see a documented Microsoft workaround that bypasses OTP verification for normal email receivers, so I would treat this as an Azure Monitor service issue until Microsoft confirms otherwise.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

  2. Alex Burlachenko 25,290 Reputation points MVP Volunteer Moderator
    2026-09-14T07:10:54.5866667+00:00

    Hi JGG671-9551 & thx for join me at Q&A platform,

    this looks like a service-side verification failure rather than an Action Group configuration issue. The important detail is that the verification email is delivered successfully and the SubmitVerification request returns HTTP 200, but the service still renders the verification-failed result. That means the request is reaching the verification backend; it isn’t simply being blocked by the browser, network, or mail delivery path. Because u reproduced it with the original message, a resend, and a newly re-added receiver, stale OTPs are unlikely to be the cause. If the same behavior started around September 6 and affects newly issued codes consistently, I’d treat this as an Azure Monitor notification verification backend issue or rollout regression.

    There isn’t a meaningful customer-side workaround if fresh OTPs are being rejected by the verification service itself. Keep the existing support case open and ask for escalation to the Azure Monitor Action Groups/notifications engineering team. Provide the exact UTC timestamps, Action Group region, the browser trace showing SubmitVerification returning 200, and the resulting verification-failed page. I also wouldn’t spend more time recreating the Action Group or receivers unless Microsoft specifically asks for it. The evidence already points beyond the Action Group configuration and into the OTP validation service.

    rgds,

    Alex

    Was this answer helpful?

    0 comments No comments

  3. Bharath Y P 10,610 Reputation points Microsoft External Staff Moderator
    2026-09-10T20:29:09.96+00:00

     Hello jgg671-9551,

    Thank you for posting your query on Microsoft Q&A platform.

    We understand that your Action Group email receiver OTP verification consistently fails after a successful delivery of the verification email, that usually points to a verification-code validation.

    Your SubmitVerification observation is correct, and that's the key thing to settle first: the Azure Monitor action group email OTP is redeemed on a Microsoft-hosted verification page opened by the link in the verification email. There is no management.azure.com/.../verifyReceiver XHR in this flow, so its absence in your capture is expected you're on the supported path.

    That reframes your evidence usefully. HTTP 200 OK with a rendered "Verification failed" body means the page served correctly and the verification service rejected the redemption at the application layer. That's a server-side outcome, not a browser or client problem.

    On the OTP lifetime: the documented behavior is 30 minutes, not 10 "Email addresses must be verified through a one-time passcode (OTP) within 30 minutes of saving the action group… If the passcode expires, open the action group and select Resend." Since you entered each code promptly, expiry is not your cause.

    Three more points that matter for your scenario:

    • Verification is tenant-scoped and does not expire: once an address verifies anywhere in your tenant, it isn't asked again for other action groups there.
    • Addresses configured before 23 July 2026 are grandfathered and unaffected.
    • Removing and re-adding an address starts a fresh verification: so your remove/re-add test was valid, and its failure is meaningful rather than stale-state noise.

    To answer your actual question: yes, this pattern has come up alongside the progressive regional rollout, and a service-side condition affecting the West US verification path in the window covering your 6 September onset is a credible lead. I won't overstate it that isn't confirmed as your root cause, and confirming it needs transaction-level correlation. What I can say is that your side is exhausted: config validated, receiver refreshed, fresh code, clean profile, prompt entry. There's nothing left for you to reconfigure.

    Three things worth doing:

    1. Read the receiver's actual verification state. Portal > action group > JSON View, API version 2026-03-01-preview, so emailReceivers[] exposes status (Verified / VerificationPending / LegacyAllowed). Verify: the affected receiver shows a status field. No field = the API version didn't apply. Why: separates "the redemption never committed" from "it committed and the portal is stale" different causes entirely.
    2. Capture one clean failing transaction. Record the exact UTC timestamp (to the second), the correlation / request / activity ID from the response headers, and the sanitized request path. Keep withholding the OTP, signed payload, tokenized URL parameters, cookies, and session material you're right to, and none of it is needed to trace this server-side. Verify: you hold a correlation ID and a timestamp from the same attempt. Why: this is what lets the product team isolate your specific transaction and read the backend rejection reason instead of inferring it from a time window. Highest-value item you can produce.
    3. Rule out session-context loss it's a five-minute test. Redeem once in a single ordinary (non-InPrivate) browser session, no proxy or TLS-inspection hop between reading the mail and submitting the code. Verify: same error = session continuity ruled out, fault is server-side. Success = your redemption path is sensitive to session context. Why: in comparable Microsoft OTP flows a valid, in-window code is rejected when the redeeming session isn't the one that requested it, usually because cookies were dropped or rewritten in transit.

    On a workaround: there is no self-serve bypass. Through your existing support case, the product team can mark the address as verified on the backend manual, per-address. That will deploy your emergency-access control, but it's a workaround, not a fix: it doesn't repair the redemption failure. Ask for it in parallel with the escalation, not instead of it.

    References

    Thanks

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.