/* Docs are the one layout with a fixed sidebar, and page level furniture such as the footer has to clear it. `pinned` already means "this is a docs page". */
365crafted your tenant. your tools. your data.

Notice

v2.1.0 · updated 3 august 2026

A priority banner that records who has read it, so an announcement that matters can be shown to be received rather than merely published.

plate 01before you install

Before you install

A SharePoint Online tenant and an app catalogue. Notice creates one list on the site where it is first configured and stores the read receipts there, inside your tenant, under your retention policy.

Somebody with permission to create a list on that site, for the first run only. After that, editors need nothing beyond page edit rights.

Read receipts identify the user, so treat the list as personal data and include it when you review retention. It can be cleared at any time without affecting the banner.

plate 02installing it

Installing it

  1. 01Upload the package to your app catalogue. notice_2.1.0.sppkg
  2. 02Add the web part to a page and let it create its list on first save. list: Notice receipts
  3. 03Write the announcement and set its priority and expiry. toolbox: Notice
plate 03specification

Specification

versionv2.1.0
frameworkSPFx 1.20
platformSharePoint Online, modern pages only
backendone SharePoint list, created on first run
package size118 kB
browser supportEdge, Chrome, Firefox and Safari, current versions
licence typeperpetual
plate 04questions

Questions

Where are the read receipts stored?

In a SharePoint list on your own site. Nothing leaves your tenant and there is no external service involved.

Can a banner expire on its own?

Yes. Set an expiry date and it stops rendering, so nobody has to remember to take it down.

Can somebody dismiss a banner without reading it?

A dismissal is recorded separately from a read, so the two are never confused in the figures.

What does the licence cover?

One tenant, unlimited sites and users, no expiry. The maintenance plan is optional and the product keeps working without it.