miinideckmiinideck
PricingUse casesBlog
Sign in
How-to & formats

Your interactive HTML report is going into SharePoint. Two walls it will hit.

SharePoint is getting the ability to render uploaded HTML as a page. Before you route client deliverables through it: custom script is blocked by default and resets to blocked after 24 hours, and letting someone outside the tenant open it is a separate decision your admin owns.

By miinideck·August 15, 2026·6 min read
TL;DR
  • SharePoint is getting HTML pages — roadmap 569208, Targeted Release, rollout expected around October 2026. That will make "just put the report in SharePoint" a much more common suggestion.
  • Wall one: custom script is blocked by default on most sites, per Microsoft's own docs — including OneDrive, user-created sites, modern team and communication sites, and the org root. Your static layout renders. Your charts, filters and anything computed on load do not.
  • The nasty part: an admin exception expires. Microsoft: changes allowing custom script "are overridden to Not allowed within 24 hours." Your page works when you test it and is broken by the time the client opens it.
  • Wall two: the outside reader is a separate decision. External sharing is set at org and site level, "the most restrictive value always applies", and with Entra B2B a guest account is "always created" — so your client signs in rather than clicking through.
  • Neither is a defect. Both are a governance boundary working correctly — which is also why neither goes away when the feature ships.

The roadmap entry is short: create HTML with Copilot in SharePoint or upload your own, store it in the pages library, render it as a page, share it with your audience. Entry 569208, Targeted Release, expected around October 2026.

If your team makes client-facing reports as self-contained HTML — increasingly the default output when the report came out of an AI tool — that entry reads like the end of a problem. The file finally has somewhere to live that IT already blesses.

Before you route deliverables through it, two things are worth knowing. Both are documented today, both are deliberate, and neither is the kind of thing that gets fixed in a later release, because in both cases the behaviour is the feature.

Wall one: the script doesn't run, and the exception expires

SharePoint blocks custom script by default, and the default is broad. Microsoft's documentation: SharePoint "doesn't allow script on most sites that administrators create by using the SharePoint admin center and on all sites that are created by using the New-SPOSite PowerShell command", and "the same restriction also applies to OneDrive, sites that users create themselves, modern team and communication sites, and the root site for your organization."

That is not an oversight. The docs are equally clear about why: "If you allow custom script, all users who have Add and Customize Pages permission to a site or page can add any script they want." In a tenant holding everyone's documents, that is a large door, and Microsoft keeps it shut.

For an ordinary document this is invisible. For an AI-generated report it splits the artifact in half. The styled layout, the headings, the tables, the images — those are markup and they render. The chart that draws itself on load, the filter that re-sorts the table, the tabs, the little calculator your analyst was proud of — those are script, and they are the reason the deliverable is HTML instead of a PDF. You end up shipping the format's advantages minus the part that made you choose it.

Here's the part that catches people, and it's worth reading twice:

"Changes to allow custom scripts are overridden to Not allowed within 24 hours."

And per-site: "any changes to custom script settings for a specific site last for a maximum of 24 hours. After that time, the setting resets to Blocked for that specific site."

So the sequence that actually happens is: you hit the problem, you raise a ticket, an admin obliges, you test the page, it works, you send the link — and it is broken again by the time anyone reads it. Nothing in your workflow reports this. You wrote a working page, you tested a working page, and the reader got a dead one. The failure is invisible from your side, which is the worst shape a delivery failure can take.

If a document has to behave the same way for the next three weeks, a setting that self-reverts every day cannot be its foundation. That's not a criticism of the setting — a security exception that expires on its own is good design. It just isn't a delivery mechanism.

Wall two: your reader is outside the boundary

The second wall is the one people discover on the client call.

External sharing in SharePoint is configured at two levels, and Microsoft is direct about how they combine: settings exist "at both the organization level and the site level", and "if a site's external sharing option and the organization-level sharing option don't match, the most restrictive value always applies."

Where Microsoft Entra B2B integration is on, the docs say a "guest account always created" when sharing files, folders, or sites. Read that from your client's side: they are not opening a web page. They are being invited into your tenant, authenticating, and landing in a document library UI, where their capabilities are — again per the docs — "limited to basic collaboration tasks" because they have no license in your organization.

Anyone links exist and can genuinely make it one click. Whether they're available on that site isn't usually your call, and they're often restricted for a completely sound reason: the same setting governs the material where unauthenticated access would be a serious problem. Microsoft's own advice is to keep confidential content "in a site that has external sharing turned off" — which is exactly the posture a well-run tenant adopts, and exactly the posture that makes your one report awkward.

None of this is SharePoint failing. It's a compliance boundary doing its job. The thing that doesn't fit is your artifact: a report that needs to run script and open for someone with no account is close to the definition of what the boundary is built to control.

Drop the HTML file or a ZIP of the whole build and send one link. Scripts run, because the page is served as you built it — and the person you send it to opens it in a browser with no account, no guest invite, and no sign-in. Add a password or an expiry when the contents warrant it.

Get a free account

The split that actually works

Don't pick one home. Pick one per job.

SharePoint keeps the record. It's where the deliverable belongs for retention, discovery, and the audit trail — the reasons those defaults exist in the first place. Nothing here argues against that, and if your reader is internal and the report is static, SharePoint alone is fine.

A private link carries the copy that has to work. One URL, scripts intact, opens for someone with no account and no invitation. That's the same split teams already run for an HTML report going to a client, and it's why senior teams increasingly send a link rather than an attachment — not because the internal system is bad, but because the internal system's correct behaviour and an outside reader's expectations point in opposite directions.

One caveat worth stating plainly: HTML pages in SharePoint hasn't reached general availability, and how the pages library interacts with the custom script policy specifically isn't something Microsoft has documented yet. That interaction could turn out better than the current rules imply. What won't change is the second wall — the external reader is governed by external sharing settings regardless of what file type the page is. Plan around that one now, and re-check the first when the feature actually lands.

Microsoft's documented behaviour above was checked against Microsoft Learn on 2026-08-15. Platform policy changes; confirm on their docs before you build a process on it.

More in How-to & formats

Why HTML beats PDF for deliverables in 2026: interactivity, weight, and no stale copies in everyone's Downloads

PDF is built for archive and print. HTML is built for live, browser-native delivery. Where the three differences — interactivity, weight, single source of truth — actually decide which format ships.

June 1, 2026·8 min read

How do I edit a password-protected HTML page without re-encrypting it?

Client-side encryption tools turn your page into an encrypted file, so the protection and the artifact are the same object — every edit means re-running the tool and re-uploading. What that actually costs, the salt setting that decides whether your old share links survive, and when a hosted password is the better trade.

September 25, 2026·6 min read

How to share a data dashboard without giving someone a login (2026)

The person who needs your dashboard usually has no seat in your BI tool — and buying one is the wrong fix. How to ship a live, interactive dashboard to a no-login viewer, and where a live connection beats a snapshot.

September 5, 2026·6 min read

Send your own private link.

miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.

Try it free →See pricing
miinideck

HTML files, finally as links — for AI builders, agencies, and consultants. Default-noindex, default-private, default-yours.

Product

  • Pricing
  • Use cases
  • Try it free

Resources

  • Blog
  • Free tools
  • Featured on
  • Report abuse

Legal

  • Privacy
  • Terms
Listed onmiinideck listed on Product Huntmiinideck listed on Faziermiinideck listed on TheSaaSDirmiinideck listed on AIToolHuntmiinideck listed on LaunchNest
© 2026 miinideckMade for people who don't want their work indexed.