Using WordPress? Every integration here is also available as a plugin. Browse the plugin store →

Education

Microsoft 365 components for schools, colleges and training providers

Term dates, reading lists, recordings and staff pages that come from the Microsoft 365 tenant the institution already runs — not from a second copy somebody has to remember to update.

Primary and secondary schools, multi-academy trusts, sixth-form and further-education colleges, university faculties and departments, and independent training providers.

See what the calendar reads

What it reads, what the builder controls, and the markup it produces — on one page, with no signup in the way.

Calendar A drawing of the component, not a screenshot

northgate-college.example/term-dates

The gap

The website is always the last thing anyone updates.

An institution’s calendar, its staff list and its course material are all maintained already — in a SharePoint Events list, in Entra ID, in a departmental document library — by the people whose job it is. The website holds a copy of each, maintained by somebody else, and the copy is wrong by half-term.

Every fix that adds a second place to type the same thing fails the same way. Reading the original means the term dates on the site are the term dates the office keeps.

The components

What a department publishes, and where it already lives.

Every one of these reads a source the organisation already maintains, and each is configured per instance in a builder before it goes on the page. All of them are released today.

  • Calendar

    <wpi-calendar>

    Works with Outlook user and group calendars · SharePoint Events lists · Published ICS feeds · Any JSON REST endpoint

    Term dates, open evenings, exam timetables and enrichment sessions, read from the SharePoint Events list or Outlook group calendar the office already maintains. Recurrences are expanded server-side, so a weekly session appears every week without being typed twice.

    What it does

  • Documents

    <wpi-documents>

    Works with SharePoint document libraries · OneDrive for Business

    Course handbooks, policies, prospectuses and reading lists published from the department’s own SharePoint library. Restrict the list to PDFs, keep folders browsable, and let the newest version in SharePoint be the version a student downloads.

    What it does

  • Video Gallery

    <wpi-video-gallery>

    Works with SharePoint video folders · OneDrive · YouTube · Vimeo · Direct video URLs

    Lecture captures, assemblies and open-day talks. Microsoft Stream keeps its videos in SharePoint document libraries, so a Stream recording in a SharePoint site is read as an ordinary SharePoint source — mixed, if you like, with anything already on YouTube or Vimeo.

    What it does

  • Persons

    <wpi-persons>

    Works with Entra ID directory users · Microsoft 365 group membership · SharePoint lists

    Faculty and staff directories narrowed to one department with a Graph filter, so a single source in Entra ID produces a page per department. Contact details are off by default, which is what lets an internal directory and a public staff page share one source.

    What it does

  • Bookings

    <wpi-bookings>

    Works with Microsoft Bookings · Microsoft Graph

    Open days, campus tours, parents’ evenings and tutorial slots, taken on your own site against Microsoft Bookings — with the appointment landing in the diary the admissions team already works from.

    What it does

One source, several audiences

The same calendar can be a public page and an internal one.

An institution rarely has a calendar problem. It has an audience problem: one set of events, several groups who should each see a different slice of it.

Filter before it reaches the page
Filter by category with a comma-separated list matched on OR, or pass an OData $filter, $orderby and $select straight through to Graph. One team calendar can feed a public what’s-on page and a staff page from the same source.
Choose the window, not just the view
How many days forward to fetch, whether events that have already ended are included, and how many events a day the month grid shows before a “+N more” link. A maximum-results cap stops a busy year flooding a page.
Compose the popover
Location, category, organiser, description and the online-meeting join link are individually switchable — so the internal view can carry the room and the join link while the public view carries neither.
Past and future can look different
Separate colours for events that have ended and events still to come, so a long agenda reads at a glance instead of as one uniform block. Week start, twelve or twenty-four hour time, and hiding weekends entirely are all settings.

The staff page that nobody has to maintain.

A department page assembled from Entra ID or a SharePoint list, narrowed by a Graph filter, with contact details off until you switch them on. Somebody joins the tenant and they are on the site; somebody leaves and they are not.

Recordings

Publish the lecture capture without buying a second video platform.

Recordings end up scattered — some in a SharePoint folder, some already on YouTube, some on a shared drive. The gallery gathers them instead of linking out to three different players.

Several sources, one gallery
SharePoint and OneDrive video folders, individual YouTube and Vimeo URLs, and direct links to video files can all feed the same gallery, and any source can be switched off without being deleted.
Playback happens in your page
Selecting a tile opens the video in place rather than sending a student off to SharePoint, YouTube or Vimeo — and viewers need no Microsoft account for the SharePoint ones, because access is resolved server-side.
It reads the folder, not the folder tree
A SharePoint or OneDrive source reads the folder you select and not the folders inside it. A second folder is a second source, which is a setting rather than a second widget. Thumbnails come from the source where it has them and fall back to a coloured placeholder where it does not, so a mixed gallery stays an even grid.

In figures

The limits worth knowing before you plan around them.

  • Four

    kinds of calendar source

    An Outlook user or group calendar, a SharePoint Events list, a published ICS feed, or any JSON endpoint whose fields you can map.

  • Six

    calendar arrangements

    Month, week, day and list grids, a paginated agenda, or a grid of event cards one to four columns wide.

  • Zero

    Microsoft sign-ins for a visitor

    Access is resolved server-side with the institution’s own credentials, so a parent or applicant reads the page without an account.

  • Two

    ways we reach your tenant

    Managed consent, or proxy mode where your own gateway holds the credentials and Graph traffic stays inside your network.

Reaching your tenant

Institutional IT does not have to hand Graph access to a vendor.

Every tenant runs in one of two modes and the choice belongs to your IT, not to us. Managed means we run the client-credentials flow and an administrator consents once. Proxy means you supply a base URL and an API key for your own gateway, we store that key encrypted at rest, and we never hold a Graph token at all — which is what makes this workable inside an institution whose policy forbids delegating directory access.

managed

We hold the credentials

proxy

You hold the credentials

Tell us which list the website keeps getting wrong.

The component platform is in pre-launch, so there is no signup for it yet and interest arrives as email that somebody reads. The WordPress plugin store is open today and sells the same Microsoft 365 jobs inside WordPress.

Questions

What people ask before they commit to this.

Can students or parents change the calendar?

No. The Calendar component is read-only. It renders what the source contains and never writes back, so the calendar cannot be edited from the website by anyone.

Does an ICS feed need a Microsoft connection?

No. ICS and JSON sources are fetched and parsed by our servers, so a calendar published from Outlook, Google or Apple can be displayed without connecting a Microsoft 365 tenant at all.

Is Microsoft Stream supported?

Yes, by way of SharePoint. Stream stores its videos in SharePoint document libraries, so a Stream recording held in a SharePoint site is read as an ordinary SharePoint source.

Can we publish one department’s staff without publishing everyone?

Yes. The directory source accepts a Graph filter, so filtering on department or any other user property produces a page for one team out of the whole tenant.

How do we keep pupil information off a public page?

By not pointing a component at it. The components render whichever source you configure, to everyone who reaches the page — there is no visitor sign-in, and the domain allowlist controls which sites may render the embed rather than who may read it. Persons keeps email, phone and LinkedIn off by default for this reason, but the decision about what a source contains stays yours.

Do recurring events work?

Yes. Outlook and SharePoint recurrences are expanded server-side across the window being displayed, and ICS feeds have their RRULE entries expanded when the feed is parsed.