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.
What is the correct Outlook.com and Office 365 deeplink format?
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:
- Deeplink: use date-only values with
allday=true, such asstartdt=2026-11-14&enddt=2026-11-15&allday=true. The community docs report that all-day events created this way default to “Free” rather than “Busy”. How Outlook treatsenddtfor all-day links is not documented, so test one-day and multi-day events. - .ics file:
DTENDis non-inclusive. A one-day event on 14 November needsDTSTART;VALUE=DATE:20261114andDTEND;VALUE=DATE:20261115. Setting both to the same date, or using midnight-to-midnight times instead ofVALUE=DATE, can show the event across the wrong days or as a timed event.
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?
- Offer separate Outlook.com and Office 365 links with UTC times.
- Link to a hosted, valid .ics file for Outlook desktop and mobile.
- Use date-only values and an exclusive end date for all-day events.
- 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.