Skip to content
C MakeCalendarLink

Add to Outlook calendar link

Outlook is really three different products wearing the same name, and each one wants something slightly different. Outlook.com for personal accounts, Outlook on the web for work and school accounts, and the desktop app. Here is what works where.

Rather not build the URL by hand? The generator does all of this, including the encoding.

Generate a link

Outlook.com, for personal accounts

https://outlook.live.com/calendar/0/deeplink/compose
  ?path=/calendar/action/compose
  &rru=addevent
  &subject=Q4+product+webinar
  &startdt=2026-09-10T12:00:00Z
  &enddt=2026-09-10T13:00:00Z
  &body=A+45+minute+session
  &location=https%3A%2F%2Fmeet.example.com%2Fabc

Note the parameter names: subject rather than title, body rather than description. They come from the mail composer the calendar shares its plumbing with.

Outlook 365, for work and school accounts

Identical parameters, different host:

https://outlook.office.com/calendar/0/deeplink/compose?...

The two are not interchangeable. A personal account clicking an outlook.office.com link gets an error page, and a work account clicking an outlook.live.com link gets asked to create a personal Microsoft account. There is no reliable way to detect which one a visitor has, so offer both. Label them plainly, something like "Outlook.com" and "Outlook (work)".

Which time format to send

Outlook accepts an ISO 8601 timestamp in startdt and enddt. UTC with a trailing Z is the most reliable choice, because Outlook renders the event in the viewer's own timezone and does not need to be told which zone you meant.

An explicit offset such as 2026-09-10T14:00:00+02:00 also works, though it has been flakier across Microsoft's routing changes over the years. If you only support one format, support UTC.

For an all-day event, send plain dates and add allday=true. The end date is exclusive here too.

&startdt=2026-09-10&enddt=2026-09-13&allday=true

Desktop Outlook

There is no URL scheme that reliably prefills the installed Outlook app. What works is an .ics file: Windows associates text/calendar with Outlook by default, so the file opens straight into the event window with everything filled in.

So for desktop users, the answer is not a deeplink at all. Serve the file with the right headers and let the operating system route it:

Content-Type: text/calendar; charset=utf-8
Content-Disposition: attachment; filename="webinar.ics"

Why Microsoft links break more often than the others

Microsoft has changed the deeplink route several times: /calendar/action/compose, /calendar/0/deeplink/compose, and /calendar/0/action/compose have all been the recommended form at some point. Sending both path=/calendar/action/compose and rru=addevent alongside the deeplink/compose route covers the widest range, which is what this tool does.

If you hard-code Outlook links yourself, test them once a quarter. It is the one provider where a format that worked last year may quietly stop working.

Add to Outlook calendar link: questions

Why does my Outlook link open a blank calendar? +
Usually a mismatch between account type and host, or a stale deeplink route. Try the same parameters against the other host, and make sure rru=addevent is present.
Can one link cover both personal and work Outlook? +
No. Offer both, or offer an .ics file, which works for every Outlook variant including the desktop app.
Does Outlook support recurring events through a URL? +
Not reliably. Use an .ics file with an RRULE for recurring events on Outlook.

Other calendars