Skip to main content

Sync Outlook / Office 365 Calendar

Publish your Outlook or Office 365 calendar as an ICS feed and import it into AddCal so events sync automatically.

T
Written by Tom

You can pull events from an Outlook or Office 365 calendar into an AddCal calendar. Publish your Outlook calendar as an .ics feed, then add that URL to your AddCal calendar's External Sync settings. AddCal checks the feed every hour and keeps your calendar up to date, with no manual re-import.

External calendar sync is a premium feature. If your plan does not include it, you will be prompted to upgrade when you try to add a feed.

Get your Outlook ICS feed URL

  1. Open Outlook in your web browser, go to the calendar view, and open Settings.

  2. Select Shared calendars, then choose your calendar name. In the second sharing-options dropdown, select Can view all details and click Publish.

  3. Copy the ICS link Outlook generates. The URL should end in .ics.

Add the feed to AddCal

  1. In AddCal, open the calendar you want to sync into and go to its External Sync settings.

  2. Paste the ICS feed URL into Calendar URL and give the feed a name.

  3. Save the feed. AddCal validates the URL and imports the events.

How syncing works

After you add a feed, AddCal syncs it automatically every hour, so changes in Outlook flow through without any manual work. You can also click Sync Now in External Sync to pull the latest events on demand. Imported events appear on this AddCal calendar and are visible to its subscribers.

Troubleshooting

  • Make sure the URL points to a valid iCalendar feed. AddCal checks the feed itself and rejects URLs that are not valid iCalendar data. The URL usually ends in .ics, but the feed's contents are what matter, not the file extension.

  • The feed must start with http:// or https:// and be publicly reachable. In Outlook, confirm you published the calendar with Can view all details so events include their full information.

  • If events do not appear right away, use Sync Now instead of waiting for the next hourly sync.

Did this answer your question?