Publishing the calendar

In Outlook on the web, open Settings → Calendar → Shared calendars. Under Publish a calendar, choose the calendar, choose how much detail to publish, and press Publish. You get two links: an HTML one and an ICS one. The ICS link is the one WordPress wants.

Choose Can view all details rather than availability-only, or the feed will contain busy blocks with no titles — technically a calendar, practically useless on a public website.

On a work or school account, publishing may be switched off by your administrator. It is a tenant-level policy, and no plugin can work around it; someone with admin rights has to enable calendar publishing.

What Outlook's file looks like

Outlook writes correct iCalendar, but with its own habits. It tends to include full VTIMEZONE definitions rather than relying on the reader to know what Europe/London means, which is helpful. It uses DTEND rather than a duration, which matters for events crossing a clock change. And it uses its own extension properties liberally — harmless, but they inflate the file.

Recurring meetings come through as proper recurrence rules, including the ordinal patterns Outlook is fond of: “the last Friday of every month” is a native Outlook option and it appears in the feed as a rule that a competent reader will expand correctly and a poor one will not.

The delay to expect

Published Outlook calendars do not update instantly. Microsoft regenerates the file on its own schedule, and it is not unusual for a change to take a few hours to appear in the ICS. If you need same-minute accuracy on your public page, publishing is not the mechanism for that — no plugin can pull faster than Microsoft writes.

Plan around it: publish the schedule a little ahead, and make sure whatever shows your calendar tells you when it last fetched successfully, so a stalled feed does not look like an empty week.

Watch the level of detail

The published feed contains whatever you told Outlook to publish, and “all details” means all details — including the descriptions and locations of every appointment on that calendar. Publish a dedicated calendar containing only the events you intend to show. Do not publish a personal or team calendar and rely on the website to filter it, because the feed itself is the exposure, not the page.