Your code
still calls EWS.
One free command finds every Exchange Web Services and QuickBooks call site before the shutdowns do. Local. No network calls. MIT.
DeadlineScan v0.1.0 — 6 call sites found (6 exact / 0 likely / 0 possible) App.csproj 9 Exact ews.package A reference to the EWS Managed API package (Microsoft.Exchange.WebServices) was found in this project. Mail.cs 4 Exact ews.client Code constructs an ExchangeService client to authenticate and issue EWS calls. 5 Exact ews.autodiscover Code calls EWS Autodiscover to resolve a mailbox's EWS endpoint URL before making requests. 6 Exact ews.finditems Code enumerates or searches mailbox items via EWS FindItem (or a FindItem-family call). 7 Exact ews.items.crud Code creates, reads, updates, or deletes mail, calendar, or contact items via EWS CreateItem, GetItem, UpdateItem, or DeleteItem. 7 Exact ews.publicfolders Code reads or manages public folders, or items inside public folders, via EWS public folder operations. [NO GRAPH EQUIVALENT — see runbook] …
Verbatim console output from deadlinescan scan fixtures/ews-csharp, cut at the ellipsis. What follows it on every real report is the honesty line and the two deadline lines below.
- C#
- VB.NET
- PowerShell
- Python
- Java
- + configs & manifests
-
2026 — never-opted-in tenants start getting disabled, Microsoft's own apps included
-
2027 — last day for allow-listed apps
-
2027 — final. No extensions, no exceptions. QuickBooks Reports: v2-only since Sept 1, 2026
EWS: tenants that never opted in start getting disabled Oct 1, 2026 (includes Microsoft's own apps); allow-listed apps run until Mar 31, 2027; Apr 1, 2027 is final — no exceptions.
QBO: the Reports API serves only modernized v2 responses since Sept 1, 2026; webhooks are CloudEvents since Jul 31, 2026.
Our summary of what each vendor announced, not their wording. Follow the links for the announcements themselves.
A finding count of zero means no affected call sites were FOUND — not that you're unaffected.
# when the repository goes public: $ git clone … && dotnet publish
Get the scanner: email [email protected] and you'll get the source and a Windows binary by reply. MIT licensed.
Before you email
Is my code uploaded anywhere?
No — the scanner runs entirely on your machine and this site makes zero external requests.
Why email for the binary?
The public repository is in preparation; email gets you today's build by reply. One line, no list to join.
What does “no Graph equivalent” mean?
Some EWS operations have no Microsoft Graph replacement at all, and the scanner names them instead of guessing at one.
How does “Reserve by email” work?
You email, we confirm scope and payment by reply; card checkout is coming.
Will it tell me I'm safe?
No — it reports “N found,” never “you're safe.”
Migration PR
$199 USDTen call sites from your report, human-reviewed, on your repo in 72 hours — or refunded.
Reserve by emailParity Runbook
$149 USDFor the call sites Graph never gets — public folders, archives, Group mailboxes. A plan, not a shrug.
Reserve by emailIf something is already failing
- “The requested web method is unavailable to this caller or application”
- Backups and integrations failing with EWS access denied
- EwsAllowedAppIDs: what to set, and what happens if you don't
- EWS retirement: what breaks Oct 1, 2026, what breaks Apr 1, 2027
- QuickBooks Online reports look wrong since Sept 1, 2026
- QuickBooks webhooks deliver, but the payload parses as empty
Against Microsoft's EWS Code Analyzer
Microsoft publishes OfficeDev/ews-migration-analyzer, a free Roslyn analyzer. It is a good tool from the people who own the deadline. If your EWS surface is entirely .NET and you work in an IDE, use it. Neither tool migrates anything — both assess, so run both.
| ews-migration-analyzer | DeadlineScan | |
|---|---|---|
| Form | IDE / build analyzer | Standalone CLI binary |
| Needs a loadable project and a .NET toolchain | Yes | No |
| Languages | .NET EWS SDKs | C#, VB, PowerShell, Python, Java, JavaScript (endpoint, SOAP and QuickBooks rules only), plus dependency manifests |
| Whole-repo inventory | Per project, in the IDE | Whole directory tree in one pass |
| Output | Editor diagnostics | Console, JSON, and HTML reports |
| Parity triage | Documentation links | Explicit Mappable / Partial / Gap classification |
| Tenant posture | — | deadlinescan tenant |
| QuickBooks Online | — | Yes |
Validation: 3,080 findings across five pinned public repositories — microsoft/mail2bug, dseph/EwsEditor, gscales/Powershell-Scripts, MAIF/melusine, ArkCase/ArkCase, 6,521 files — reviewed by hand. 216 Exact findings, 216 true positives, zero false Exacts. Likely tier: 2,864 findings at 99.7%. Not covered: Visual Basic has never run against real-world code, and the QuickBooks rules have never run against a real QuickBooks codebase.