esc
↑↓ move↵ openesc close
Connectors · Calendar & mail

Connect Calendar

The calendars Calendar.app already shows (iCloud, Google, Exchange, subscriptions), or a calendar's secret ICS feed, in your Mac's notch.

You need
No token macOS asks for calendar access once
The form asks
  • Connector name
You can watch
  • Meetings
  • Invitations and changes
Access
Read events on this Mac or a feed, never write them
On this page

To connect your calendars to CoIsland you need nothing but the calendars Calendar.app already shows. CoIsland reads them on your Mac through macOS: no password, no sign-in, and nothing leaves the Mac. This page covers the permission, the connector form, the two Calendar monitor kinds and the messages you may meet.

Which calendars reach CoIsland

Account In CoIsland?
iCloud Yes.
Google, added in System Settings › Internet Accounts Yes. A Google Workspace admin can block third-party calendar access.
Outlook.com or Microsoft 365, added in Internet Accounts Yes, while your organization allows Exchange Web Services, which Microsoft starts turning off on October 1, 2026.
An account only the new Outlook for Mac knows No: Outlook keeps its own store. Add the account in Internet Accounts.
A calendar you subscribed to in Calendar.app Yes.

Connect Calendar in CoIsland

  1. Open Settings › Connectors, click + and choose Calendar.
  2. Keep the name mac, or type your own.
  3. Click Test connector. macOS asks “CoIsland would like to access your calendars”: click Allow. A success lists how many calendars you have, and their accounts.
  4. Click Add Connector. There is only one Calendar connector: it is this Mac’s calendars.

Only your clicks ask macOS: Test connector, or Add Connector when you skipped the test. Checks never do. If you choose Don’t Allow, turn CoIsland on later in System Settings › Privacy & Security › Calendars, with Full Access.

Connect a calendar feed

For an account Calendar.app cannot add (a work Outlook account whose organization blocks it, a Google calendar you do not want in Internet Accounts), use its secret ICS address.

  • Google Calendar: calendar.google.com › Settings › Settings for my calendars › the calendar › Integrate calendar › copy Secret address in iCal format. Reset there makes the old address stop working.
  • Outlook.com or Outlook on the web: Settings › Calendar › Shared calendars › Publish a calendar: pick the calendar and “Can view titles and locations” or more, Publish, then copy the ICS link, not the HTML one.

Then Settings › Connectors › + › Calendar, paste it in Calendar feed, keep the suggested name (google-feed) or type your own, and click Test connector: it names the calendar and its next event. Refresh every says how often the feed is fetched again (15 minutes unless you choose 5 minutes to a day). The address is a secret: it is kept in your login Keychain, never shown back and never written to a log or an alert. webcal:// addresses work; http:// ones are refused.

A feed’s monitors are the same Meetings and Invitations and changes. CoIsland reads repeating events, moved and cancelled occurrences, and time zones (Outlook’s Windows names included) itself. A feed lags behind its calendar by the provider’s own refresh, often several minutes to hours for Google.

Choose what to watch

Open Monitors, add a monitor and choose Calendar.

  • Meetings counts down to your next meeting and warns once, a few minutes before each one starts, with a Join button when the event has a video link. The alert lands within a second of the warning time, whatever the check interval.
  • Invitations and changes alerts when an event in the days ahead is added, moved or cancelled, or when an invitation arrives. An event that only comes into the window as days pass does not alert.

The form picks the calendars (none picked is all of them), the warning in minutes (Meetings), how far ahead to look, and what to leave out: all-day, declined, marked free, tentative, without a join link, without other attendees. Alert when is fixed for both kinds.

A Calendar monitor is a watch file like any other:

-- name: Meetings
-- kind: calendar.meetings
-- every: 1m
-- sound: Glass

lead:5m horizon:12h -allday -declined -free

The kinds are calendar.meetings and calendar.changes. lead: takes 0 to 60 minutes, horizon: 1 to 24 hours for meetings (12h) and 1 to 14 days for changes (7d), calendar: a calendar id and may repeat, and status:pending (changes only) keeps invitations you have not answered.

What a Calendar alert shows

Each event is a card: its calendar and account, the title, its state (in 5 min, now, moved, invited, cancelled), when, the video service, where, the organizer, who is invited and your answer. Opened, it fills in live from your calendar with every attendee’s answer and the notes. Notes can hold dial-in codes, so they are shown only there, escaped as plain text, and never written to the alert. Join Zoom (or Teams, Meet, Webex and others) opens the meeting and acknowledges the alert; Open Calendar opens Calendar.app.

Troubleshooting Calendar connector errors

  • CoIsland has not asked macOS for your calendars yet: in Connectors, choose + › Calendar and press Test connector. macOS has not been asked yet; Test asks it, even with the connector already added.
  • Calendar access is off. Turn CoIsland on in Privacy & Security › Calendars. Access was denied or turned off. Open System Settings goes there.
  • CoIsland can only add events. Switch it to Full Access in Privacy & Security › Calendars. Access was set to Add Events Only.
  • A profile on this Mac blocks calendar access. Your organization’s device management turned calendar access off; ask your administrator.
  • Calendar.app has no calendars. Add an account in System Settings › Internet Accounts, or a calendar in Calendar.app.
  • One calendar this monitor names no longer exists; the others are read. Pick the calendars again in the monitor. When none of them exist, the monitor stops with a message saying so.
  • The feed address was refused or no longer exists: it may have been reset or unpublished. Copy it again. Copy the address again from Google or Outlook and edit the connector.
  • This address returns a web page, not a calendar. Copy the ICS link, not the HTML one. Outlook shows both links.
  • The feed could not be reached; showing the copy from 2h ago. CoIsland keeps using the last copy for up to a day.
  • This event is no longer in your calendar. Shown on an alert whose event was deleted since; it can no longer be joined.

Next: Getting started, or the Calendar connector for what it watches.

Stuck? Open an issue on GitHub, or write to hello@coisland.app.

Docs