Skip to main content
Microsoft 365 and Outlook

Every event you publish is a meeting request.

Subject, when, where, a body, sometimes a Teams link. Outlook already has a format for this, and Event Schedule writes it when you save an event and reads it when you edit one in Outlook.

Free on every plan Two ways, or one Teams optional Selfhost supported
Meeting request POST /me/calendars/{id}/events
Subject
Thursday Night Jazz

The event name, exactly as you typed it.

When
Thu 15 Oct 2026, 8:00 PM to 10:00 PM

The start time plus the event duration, stamped with the schedule timezone rather than yours.

Where
The Blue Room, 118 Main Street

The venue address on the event.

Body
Doors at 7:30. Two sets.

The event description, or your own calendar description template if you set one.

Sensitivity
normal

Switches to private when the event is unlisted.

Online meeting
none, this one has a venue

A Teams meeting instead, when the event has no venue and the schedule asked for one.

Answer

To Outlook From Outlook Both ways (chosen on this schedule) Off

One record One event in Event Schedule, one item on your Outlook calendar, and a mapping row that remembers they are the same thing. Every schedule starts unanswered, so nothing moves until you pick a direction.

The unit

Not two calendars. One record, two clients.

Here

The event

Name, date, duration, venue, description, visibility, tickets. The thing your audience sees on your public page.

There

The calendar item

One item on the Outlook calendar you picked, in the schedule timezone, marked private when the event is unlisted.

Between

The mapping

A row tying the Outlook item back to the event. It is the reason a second save is an edit rather than a duplicate.

Everything below is that record, read from one side or the other. See the fields

Sync direction

A request gets one answer.

Outlook answers an invitation with one choice from a short list. The answer row on the request at the top of this page is that choice, and these four are the whole list.

to

To Outlook

Events from Event Schedule appear in Outlook. Nothing in Outlook is read.

from

From Outlook

Events from Outlook appear in Event Schedule. Nothing is written back.

both

Both ways

Create, edit or delete in either place and the other side follows.

no sync

Off

The account stays connected, the sync simply does not run. Every schedule starts here, so nothing moves until you answer.

One account, per schedule

Free

The schedule owner connects the Microsoft account, and the sync runs on that account. The calendar and the direction belong to the schedule, so a second schedule can point at a different Outlook calendar entirely.

Or one event by hand

Free

Answer to Outlook or both ways and every event also carries its own Outlook panel in the editor. Push a single event across from there on demand, or take that one back out of Outlook, without changing what the schedule does with the rest.

The payload

Field by field, both ways.

No mystery mapping. This is the request Event Schedule sends, and what it takes back out of one that arrives.

How each meeting request field maps to an Event Schedule event, outbound and inbound
Request field Sent to Outlook Read back in
Subject The event name Renames the event
Start and end Start time plus duration, in the schedule timezone Start and length become start and duration
All day A whole-day item when the event has no duration A one-day item arrives with no duration, a longer one with its length
Location The venue address Matched to a venue, or added as one
Body The description, or your calendar template Converted back to Markdown
Sensitivity Private for an unlisted event, normal otherwise Not read back
Online meeting A Teams meeting when you ask for one, and its join link comes straight back to the event link field while that field is empty Not read back: a Teams link on an item somebody else made stays in Outlook

Sync is per event, not per date: a recurring event crosses as one Outlook item. Every individual date is covered by the published feed further down this page.

Microsoft Teams

The one platform we name.

An online event in Event Schedule carries a single link field, and that is deliberate: there are no streaming integrations to configure and nothing to break when a platform changes its API. Teams is the exception, and it arrives through this sync rather than through a settings page of its own.

Turn the toggle on and an online event synced to Outlook from a work or school account gets a Teams meeting created with it. The join link is written into the event link field while that field is still empty, so your public page has it too. How online events work

The exact conditions

Free
Toggle
On, per schedule

Off by default. It sits beside the sync direction on the Outlook tab.

Event
No venue

An event with a venue is a room, not a meeting, so nothing is created for it.

Account
Work or school

Personal Microsoft accounts cannot host a Teams meeting. The Outlook item is still created, just without one.

Link
Yours wins

The join link is only saved when the event has no link yet. A link you typed is never overwritten.

Microsoft Graph

Four things stand between a change and a missed change.

push

Microsoft Graph says something moved

Event Schedule holds a change-notification subscription on the calendar you picked. Outlook posts to it the moment an item changes, and Event Schedule then asks Graph what changed.

60 hrs

The subscription has a shelf life

Graph subscriptions expire. This one is created for about sixty hours and a nightly job renews it before it lapses, or recreates it if it already has.

15 min

A poll, every quarter hour

The safety net. A notification that never arrived is not a change that never lands, because the poll comes round anyway.

1 request

And the poll is cheap

Each schedule keeps a delta token, so the poll asks only for what changed since last time. A calendar with nothing new costs a single request.

Push first, poll behind it, and a token so the poll costs almost nothing. Near real time when the notification lands, and correct either way.

Deleted in Outlook

Somebody clears their calendar. Then what?

A deletion in Outlook is not automatically a decision about your public calendar, so you say once what it should mean.

ignore

Keep it

The event stays exactly as it is. Outlook was tidied, your public calendar was not.

cancel

Mark it cancelled

The event is flagged cancelled, which takes the date off your public calendar but keeps the record.

delete

Delete it

The event is removed from Event Schedule as well.

Caution

Delete means delete. The other two choices are reversible; that one removes the event from Event Schedule, so the setting is worth reading twice before you pick it.

A quieter guard

Graph also reports an item as gone when it simply moves out of the window being watched. Event Schedule checks the reason and applies your policy only to a genuine deletion, so a show pushed out to next spring is not quietly taken down.

One setting, shared with Google and CalDAV inbound sync, because it is a decision about your calendar rather than about a provider.

From Outlook

The same document, read the other way.

An item added in Outlook becomes a real event here, not a shadow copy. It is accepted on the schedule the moment it lands, named from the subject, given a URL from your own event URL pattern, and filed under your default category if you set one.

Bookings are not overwritten

Pro

An appointment booked on your booking page also lands on your Outlook calendar, but the calendar never writes back over it. A rescheduled booking cannot be dragged back to its old time by a stale sync.

Meeting request GET /me/calendarView/delta
Subject
Sound check with Marla

Becomes the event name.

When
Wed 21 Oct 2026, 4:00 PM to 6:00 PM

Start becomes the start, and the length of the item becomes the duration in whole hours.

Where
The Blue Room

Matched against the venues on your schedule, and added as one if it is new.

Body
Bring the spare cable.

Outlook's HTML body is converted back to Markdown, and only rewritten when it actually changed.

Delta The delta response only carries what changed, and the token that says where to resume next time.

The other direction

A standing invitation, for everyone else.

Graph sync connects your own account. Your audience does not need an account at all: every schedule publishes an iCal feed, and Outlook can subscribe to it from the web like any published internet calendar.

  • Public events only. Drafts, unlisted events, cancelled events and password-protected events stay out of it.
  • Recurring events are expanded, one entry per date, ninety days ahead.
  • Each event also has its own iCal download, per date, for the person who wants one show and not the season.
Published calendar text/calendar
Feed URL
your-schedule.eventschedule.com/feed/ical

Copyable from your schedule settings, alongside an RSS version of the same listing.

Calendar name
Your schedule name

Carried in the feed with your timezone, so it lands correctly labelled in the subscriber's client.

Contents
Upcoming public dates

One entry per date, each with a stable identifier so a client updates the existing entry instead of adding a second one.

Free Feeds, the iCal downloads and the embeddable calendar are all on the free plan.

Three steps

Connect once. Then forget it.

01

Sign in with Microsoft

One OAuth round trip from your account settings. Event Schedule asks for calendar read and write, never sees a password, and keeps a refresh token so the connection does not need redoing.

02

Pick the calendar and the direction

Your Outlook calendars are listed for you. Choose one, choose to, from, both or off, and optionally turn on Teams meetings and a deletion policy.

03

Save an event

Saving, editing or deleting an event goes straight out to Outlook. Anything coming the other way arrives by notification, with the fifteen-minute poll behind it.

Selfhosting it

.env

On your own server, the integration runs on your own Microsoft Entra application rather than ours: register the app, then set the client ID, client secret, redirect URI, tenant and webhook secret. Nothing calls out to us, and the change notifications come to your own domain.

Read the selfhost setup guide

Frequently asked questions

What people in Microsoft 365 ask before they connect it.

Is two-way Outlook sync available on the free plan?

Yes. Outlook Calendar sync is free on every plan, in both directions, including the optional Teams meetings and the deletion policy. There is no calendar feature behind the paywall.

Which direction does it sync?

Whichever you choose, per schedule. To Outlook pushes your events out. From Outlook pulls Outlook items in. Both ways does both, so a change in either place reaches the other. Off leaves the account connected but stops the sync.

How quickly do changes sync?

Near real time. Event Schedule holds a Microsoft Graph change-notification subscription on your calendar, so Outlook pushes the news as it happens. Behind that sits a poll every fifteen minutes, so a notification that goes missing does not cost you the change. The subscription itself lasts about sixty hours and is renewed nightly.

Does it work with personal Microsoft accounts and work accounts?

Both. Personal Microsoft accounts such as Outlook.com, Hotmail and Live work, and so do Microsoft 365 work or school accounts. The one difference is Teams: personal accounts cannot host a Teams meeting, so the event is still created in Outlook, just without one attached.

What happens if I delete an event in Outlook?

That is your call, set once per schedule: keep the event, mark it cancelled so the date leaves your public calendar, or delete it here too. The setting is shared with Google and CalDAV inbound sync. Event Schedule also checks why Graph reported the event as gone, and only applies the policy to a real deletion, so an event that merely moved out of the sync window is left alone.

Can I sync a single event rather than the whole schedule?

Yes, once the schedule is set to send events out (to Outlook, or both ways). Each event then carries its own Outlook Calendar panel in the editor: sync just that one, or remove it from Outlook again. The schedule-level direction covers everything else.

Do recurring events send every date to Outlook?

No. Outlook sync works at the event level, so a recurring event goes across as one Outlook item rather than one per date. If you want every date in a calendar, use the published iCal feed or the per-date iCal download, which do expand recurring events.

Does Outlook Calendar sync work with selfhosted Event Schedule?

Yes. Register your own application in Microsoft Entra, then set the client ID, client secret, redirect URI, tenant and webhook secret in your environment file. The selfhost guide walks through the app registration, the permission scope and the webhook endpoint.

Free on every plan

Send the first request. Both ways.

Pick a name, connect Microsoft, choose a direction. Two-way Outlook sync, Teams meetings and the published feed cost nothing on any plan.

.eventschedule.com
Get started free

No credit card required