Skip to content
Add to Calendar Lab

Guides · Updated

Why do add-to-calendar buttons break in Outlook?

Outlook is several products. Outlook.com and Office 365 use different web addresses for their add-event links, Outlook desktop has no link format and needs an .ics file, and the mobile apps have no documented way to open a prefilled event. Most breakage comes from the wrong host, missing UTC markers, all-day end dates or malformed .ics files.

Why do add-to-calendar buttons work in Gmail but break in Outlook?

Because “Outlook” means several clients that handle calendar links differently:

Outlook client Add-event web link .ics file Notes
Outlook.com (personal) Yes, outlook.live.com Imports via Add calendar → Upload from file
Outlook on the web, Microsoft 365 (work/school) Yes, outlook.office.com Same import option Wrong host leads to a sign-in prompt for the other account type
Outlook desktop (Windows, Mac) No Yes; opening the file shows the event The link opens a browser, not the desktop app
Outlook for iOS and Android No documented scheme Varies by device; not documented by Microsoft Links open the mobile web, which has had compose bugs

A Google Calendar button only has one target. Outlook needs at least three: two web links and an .ics file.

Both use the same path and parameters on different hosts:

https://outlook.live.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent&subject=Product%20launch&startdt=2026-11-14T09:00:00Z&enddt=2026-11-14T10:00:00Z&location=Online&body=Join%20the%20live%20stream

For Office 365, swap the host for outlook.office.com. Microsoft has never published documentation for these links. The parameter list comes from community testing in the add-event-to-calendar-docs repository, last checked 2026-08-19, which marks the Office 365 host as not re-tested. A Microsoft Q&A question from January 2025 asking where the parameters are documented got no answer from Microsoft.

Because the format is undocumented, it can change. In May 2023 the outlook.office.com/calendar/0/deeplink/compose form stopped loading for many users while the outlook.live.com version kept working, according to a Microsoft Tech Community thread. Users worked around it with /calendar/action/compose, which in turn failed in mobile browsers.

Fix: offer separate “Outlook.com” and “Office 365” links, test both after any change, and keep the .ics file as a fallback.

Why does the event show at the wrong time in Outlook?

The deeplink reads startdt and enddt as UTC only when the value ends in Z. Without it, Outlook uses the signed-in user’s time zone, so an event built for New York shows at the wrong hour in London.

Fix: convert to UTC and write 2026-11-14T09:00:00Z. In .ics files, use UTC (DTSTART:20261114T090000Z) or a TZID with a matching VTIMEZONE block, which RFC 5545 section 3.2.19 requires for every TZID. Don’t rely on a client resolving a bare zone name; see time zones in .ics files.

Why are all-day events wrong in Outlook?

Two separate bugs cause this:

Why won’t Outlook open my .ics file correctly?

Most failures are formatting errors that stricter parsers reject. Check these against RFC 5545:

Problem Rule Fix
LF line endings Lines end with CRLF (section 3.1) Write \r\n
Long lines Lines should not exceed 75 octets; fold with CRLF + space Fold long DESCRIPTION values
Garbled accents or emoji Default charset is UTF-8 (section 3.1.4) Save as UTF-8 and serve Content-Type: text/calendar; charset=utf-8
Unescaped commas, semicolons, line breaks Escape with backslash; newlines as \n (section 3.3.11) Escape text values
Missing UID or DTSTAMP Both required in each VEVENT Add them; keep the UID stable
Duplicate events Same event re-imported with a new UID Reuse the original UID

Also check the server headers: serve the file as text/calendar with an .ics filename. A file served as text/plain may open in a browser tab instead of a calendar app.

METHOD:REQUEST turns the file into a scheduling request with an organizer and attendees under RFC 5546, so calendar apps can treat it as a meeting invitation. For a public event, leave METHOD out or use METHOD:PUBLISH.

Why don’t event changes show up in Outlook?

An imported .ics file is a one-time copy. Microsoft’s Outlook.com help says imported events are not refreshed, even when the owner updates them. Subscribed calendars do refresh: about every 3 hours on Outlook.com (sometimes over 24) and about every 6 hours on Outlook on the web, per the same page.

Fix: use a subscription feed for events that may change, or send a new invitation.

How do I make an add-to-calendar button that works in every Outlook?

  1. Offer separate Outlook.com and Office 365 links with UTC times.
  2. Link to a hosted, valid .ics file for Outlook desktop and mobile.
  3. Use date-only values and an exclusive end date for all-day events.
  4. Test on Outlook for Windows, Mac, web and mobile before sending.

You can build these by hand (hand-built links) or use a hosted service. The comparison table lists every service; Outlook results will be added to each review as hands-on testing is completed.

Questions

What is the Outlook add-to-calendar link format?

For personal accounts it is https://outlook.live.com/calendar/deeplink/compose?path=/calendar/action/compose&rru=addevent with subject, startdt and enddt; for work or school accounts the host is outlook.office.com. Microsoft does not document either.

Why does my Outlook link ask people to sign in?

The link probably points at the wrong host. An outlook.office.com link expects a work or school account and an outlook.live.com link expects a personal Microsoft account, so offer both.

Why is my event at the wrong time in Outlook?

A startdt without a trailing Z is read in the viewer's own time zone. Convert times to UTC and add Z, or in .ics files use UTC or a TZID with a matching VTIMEZONE.

Can a link open a prefilled event in the Outlook mobile app?

Not reliably. Microsoft documents no URL scheme for it, and a 2024 developer report found the ms-outlook:// scheme only opened the app's home screen. Offer an .ics file as the fallback.