SharePoint deadline
SharePoint remote event receivers retirement: what stops on July 1, 2027, and what replaces it
The SharePoint remote event receivers retirement has two dates. Receivers registered through Azure Access Control Services (ACS) stopped working correctly on April 2, 2026, along with SharePoint Add-ins. Every receiver still running, including those registered with a Microsoft Entra ID app, stops on July 1, 2027. This guide covers that second, final cut-off: who it reaches, how to find your receivers, and how to choose between SharePoint webhooks and a Power Automate flow for each one.
The April 2026 deadline has its own page: our SharePoint Add-in to SPFx migration services cover rebuilding add-ins, and the receivers that went down with ACS, as a fixed-fee project. This article is about the receivers that survived April because they were moved to Entra ID, and about the decision each of them now needs. Every Microsoft statement below was checked against Microsoft’s published announcement and documentation on November 8, 2026.
What exactly stops working on July 1, 2027?
From July 1, 2027, SharePoint Online no longer calls any remote event receiver, whatever app registration it uses. Code that ran when an item was added, updated or deleted, or when a list or site changed, simply stops being invoked. The list keeps working; the side effect the receiver produced silently disappears.
Microsoft set out both dates in its Microsoft 365 Developer Blog post, Remote Event Receivers are retiring: move to SharePoint webhooks before July 1, 2027 (opens in new tab). It names SharePoint webhooks as the recommended replacement, with Microsoft Graph change notifications as an alternative. Here is how the two dates apply:
| Receiver registered with | From April 2, 2026 | From July 1, 2027 | What to do |
|---|---|---|---|
| Azure ACS (the SharePoint Add-in model) | Stopped functioning correctly, together with SharePoint Add-ins | Retired | Already broken: rebuild as part of the add-in replacement |
| Microsoft Entra ID app registration | Kept working under the extension | Stops working | Move to a webhook or a flow, or retire it deliberately |
| Synchronous “-ing” receivers (for example ItemAdding, ItemUpdating) | Depends on the registration above | Stops working | Redesign: nothing in the replacements can block or cancel a change |
| Asynchronous “-ed” receivers (for example ItemAdded, ItemUpdated) | Depends on the registration above | Stops working | Closest to a straight port: a webhook or flow fires after the change, just as these did |
Not sure which of these rows your receivers fall into? Ask a senior engineer.
Ask a question →Who is affected by the cut-off?
Any Microsoft 365 tenant where custom code reacts to SharePoint list, library or site events through a remote event receiver. That usually means a provider-hosted add-in, an older integration built by a partner, or a PnP-provisioned solution that attached receivers to lists. Out-of-the-box SharePoint features, SharePoint Rules and Power Automate flows are not remote event receivers.
The hard part is that nobody may remember the receiver is there. It was attached to a list years ago, it points at a web service someone else hosts, and it has quietly stamped a field, moved a file or updated another system ever since. The first sign of trouble on July 1, 2027 will be a business process that stops without an error message: invoice numbers not assigned, documents not filed, a downstream system no longer updated.
How do you find the remote event receivers in your tenant?
When Microsoft announced the cut-off, it had no tool to discover remote event receiver usage and said one was being worked on. Until one ships, enumerate the event receiver collections on your sites and lists with PnP PowerShell or CSOM, and look for receivers whose address points at an external web service.
- Enumerate receivers. For each site collection, read the event receivers registered on the site, its webs and every list. PnP PowerShell’s
Get-PnPEventReceiverdoes this per list or per scope; CSOM exposes the sameEventReceiverscollections. - Keep only the remote ones. A receiver with a
ReceiverUrlpointing at an https endpoint is remote. Receivers implemented in an assembly belong to SharePoint itself or to old farm solutions and are not part of this inventory. - Record the event type. Note whether each one is synchronous (“-ing”) or asynchronous (“-ed”), and on which list, library or site it fires.
- Find the code and an owner. Trace the endpoint to its hosting, its source code and the app registration it uses. A receiver nobody can explain is a candidate for retirement, but confirm with the list owner first.
- Describe what it does in one sentence. “Stamps a contract number”, “copies metadata to the ERP queue”. That sentence drives the choice below.
Should you move to webhooks or a Power Automate flow?
Choose webhooks when a developer-owned service already does the work and only the trigger has to change: the code stays, the plumbing is replaced. Choose a Power Automate flow when the receiver did something a business user could describe in a sentence, such as copying metadata, notifying a team or updating another list, and nobody wants to maintain hosted code.
| Question | SharePoint webhooks | Power Automate flow |
|---|---|---|
| What can trigger it | Changes to list items, including files in document libraries | SharePoint connector triggers on lists and libraries, such as an item being created or modified |
| What arrives when it fires | A notification with no change details; your service calls GetChanges to read them | The item’s properties, ready to use in the next action |
| Can it block or cancel a change | No, asynchronous events only | No, it runs after the change is saved |
| Ongoing upkeep | Renew each subscription before it expires (180 days at most); keep the endpoint hosted and patched | Keep the flow’s connections on a shared or service account so it survives staff changes |
| When delivery fails | Retried five times, five minutes apart, then dropped; GetChanges recovers what was missed | Failed runs show in the flow’s run history and can be resubmitted |
| Who maintains it | Developers with a hosted service and source control | An admin or maker who can read the flow in the browser |
| Best fit | Existing receiver code with real logic, integrations or volume | Simple side effects: stamp a field, notify, copy to another list |
The webhook rows come from Microsoft’s overview of SharePoint webhooks (opens in new tab), which also notes that webhooks are currently enabled only for list items. A receiver that watched site-level events has no webhook equivalent and needs its own design. Many tenants end up with a mix: a handful of webhooks for the developer-built integrations and a set of flows for the rest, plus a few receivers retired outright.
Want a second opinion on which receivers become webhooks and which become flows? Send us your list.
Get a second opinion →What happens to synchronous receivers that blocked changes?
They have no direct replacement. Webhooks and Power Automate both react after a change is saved, so neither can cancel an add, update or delete the way an ItemAdding or ItemUpdating receiver could. Rules that used to block bad input have to move to column validation, required fields, permissions or a corrective step after the fact.
Microsoft’s own guidance for this case is to use alternative approaches, such as securing the files and folders that a receiver used to protect. In practice, work through each blocking receiver and ask what it was preventing. Bad values often belong in list or column validation; “nobody may delete this” usually belongs in permissions; and some checks are acceptable as a flow that corrects or flags the item a moment later. These are design decisions, not ports, so start them first.
How does this relate to the SharePoint Add-in retirement?
The add-in retirement on April 2, 2026 took ACS-registered receivers down with it, and our SharePoint Add-in to SPFx migration services page covers that rebuild. This deadline is the later, separate one: it ends the receivers that survived April 2026 because they were registered with Entra ID, and Microsoft has announced no alternative registration route.
It is also one of several SharePoint features being retired in the same period. If the receivers you find were mostly sending emails, the same Rules-or-flow choice is set out in our guide to the SharePoint alerts retirement. Organizations that still run an on-premises farm have a separate deadline in the Office Online Server retirement; remote event receivers in SharePoint Online are not part of that change.
What should you do before July 1, 2027?
Inventory every receiver now, decide webhook, flow or retire for each one, and rebuild in a test site before touching production. Start with the synchronous receivers, which need a design change rather than a port, and switch off each old receiver only after its replacement has been proven on real changes.
- Inventory. Every site, web and list, with event type, endpoint and owner, as above.
- Decide per receiver. Webhook, flow, redesign or retire, written down with a reason.
- Rebuild in a test site. Test bulk uploads, rapid repeated edits and changes made by the new solution’s own account; those expose loops and duplicate actions.
- Cut over one receiver at a time. Remove the old receiver when its replacement goes live, so the same change is never processed twice.
- Own the result. Put webhook renewal on a schedule and flows on a service account, and document who to call when either stops.
Where flows are the answer, our Power Automate consulting practice builds and documents them in your tenant. Where webhooks are, the work sits under SharePoint consulting. Either way it is scoped and priced before anything starts, delivered by senior US-based Microsoft engineers, typically within 2–4 weeks, with 30 days of hypercare afterwards. We are based in Orange County, California, and work with businesses across the US remotely. See how the fixed-fee process works.
Want a fixed price for replacing your receivers before the cut-off? Tell us how many you have found.
Scope the replacement →Fair and square
Our promises, in plain English
One fixed price, approved before work begins
Every project gets a written proposal with one fixed price for a defined scope, and you approve it before any work starts. No hourly meter and no retainer. If the scope changes, the price changes in writing first.
You own everything, in your tenant
Reports, apps, flows, sites and documentation are built in your Microsoft tenant, under your accounts. There is no proprietary layer and no ongoing license owed to us, so nothing breaks if you never hire us again.
30 days of hypercare, included
For 30 days after handover we fix defects in what we delivered, answer your team’s questions and make small adjustments that keep it working as scoped, at no extra cost.
The engineer who scopes it builds it
A senior, US-based engineer works with you from the first call to the handover. There is no junior bench and no offshore handoff.
Straight answers. The free consultation ends with either a fixed-fee proposal or an honest recommendation that we are not the right fit.
Talk to an engineer, not a sales rep. Microsoft Made Easy is a Lightray Solutions brand, founded by Edward Pinela and headquartered in Orange County, California. Senior engineers across the Microsoft stack deliver fixed-fee projects for companies in every US state, remotely. About us
FAQ
Questions developers and admins ask about replacing receivers
No. Microsoft's webhook documentation says webhooks are currently enabled only for SharePoint list items, which covers lists and document libraries. Receivers that watched site-level events, such as a site being created or deleted, have no webhook equivalent, so they need a different design, such as a scheduled check or a change to how sites are provisioned.
No. The notification only says that something changed in a list, along with the subscription, site and list identifiers. Your service then calls the list's GetChanges API with a stored change token to read the actual changes. That extra step is also what lets it catch up on anything missed during an outage.
Yes. A SharePoint webhook subscription can last at most 180 days, so your service has to renew it on a schedule or it stops receiving notifications. Failed deliveries are retried five times, five minutes apart, then dropped. Build renewal and a GetChanges catch-up into the design from the start, not as an afterthought.
No. A flow fits receivers whose job a business user could describe in a sentence: copy a value, notify a team, update another list. It cannot block a change, and logic that relied on custom code, high volumes or tight timing is usually better served by a webhook and a hosted service your developers already own.
Replace your receivers before they go quiet
No hourly meter and no retainer. We scope the work in writing, you approve one fixed price, and the engineer who scoped it does the work.
Free consultation · Written fixed price before any work starts · Reply within one business day
Tell us what you’re trying to fix — a report, an approval process, an intranet, a Copilot rollout. We scope it as a fixed-fee project, you approve, and a senior engineer delivers in 2–4 weeks.
- Fixed-fee scope agreed before any work starts
- Senior, US-based Microsoft engineers — no handoffs
- Typical 2–4 week delivery
- 30 days of post-delivery hypercare included
Related reading
The work around this deadline
SharePoint Add-in to SPFx Migration
The April 2026 deadline: rebuilding retired add-ins, and the ACS-registered receivers that stopped with them, as a fixed-fee project.
Power Automate Consulting
Fixed-fee flows for the receivers whose job fits in a sentence, built on a service account so they survive staff changes.
SharePoint Alerts Retirement
The other SharePoint notification that went quiet this year, and how Rules and Power Automate replace it alert by alert.