BusyCal: what it does and where it breaks down

A Mac calendar setup usually starts simple and then grows sideways. A personal Google account, a family iCloud calendar, the office Microsoft 365 calendar, a client's shared project calendar. The built-in Calendar app shows all of them, but it does not bend much, and at some point the question becomes whether a more configurable app would help. BusyCal comes up often in that search. This guide explains what BusyCal is, how it is built, what it does well, and where people tend to get stuck, drawing on the developer's own documentation and store pages as of September 2026.

Where BusyCal comes from

BusyCal was created in 2007 by Dave Riggle and John Chaffee. In the early 1990s, long before Apple shipped iCal, the same two developers had built Now Up-to-Date, a networked calendar for Mac OS 7. BusyCal 1.0 won a Macworld Editors' Choice award in 2009, with reviewers pointing to Google Calendar sync, shared calendars on a local network, list views, and embedded weather.

Ownership has changed since then. According to the developer's About page, the founders passed the product on in 2017. It is now run by Beehive Innovations FZE, led by Fahad Gilani, who also created the 2Do task manager. The Mac App Store lists the seller as Busy Apps FZE.

The business model has changed too. BusyCal 1, 2, and 3 were each sold as paid upgrades. The developer has since dropped numbered major versions in favor of year based version numbers such as 2025.4.4, paired with a perpetual license that includes 18 months of updates. On the Mac App Store, the old paid BusyCal 3 was discontinued and replaced with a free download plus a premium subscription, and a Free Edition for non-subscribers was added in August 2024.

Four questions are worth asking about any calendar app before committing to it:

  • Discontinued? No end of service is announced on the official site.
  • New sign-ups stopped? No. The direct store, the Mac App Store, and Setapp all sell it, and Setapp distributes version 2026.3.1.
  • Company changed? Yes, in 2017, as described above.
  • Pricing revised? Yes. Licensing moved to the 18-month model, and the App Store version moved to a subscription with a free tier.

How it connects: straight to the server

Most third party calendar apps on the Mac read the accounts already set up in macOS through EventKit, the framework Apple provides for calendar data. BusyCal mostly does not. It talks to each service directly: CalDAV for iCloud and Google, Exchange or Microsoft Graph for Microsoft accounts, and WebDAV for subscribed calendars.

The developer's stated reason is that EventKit cannot carry much of what BusyCal does, including meeting scheduling and attendee management, custom alarms, time blocking across calendars, smart filters, travel time alerts, and tags.

That choice has a visible cost on the first day. BusyCal does not pick up accounts from System Settings. Every iCloud, Google, and Microsoft account has to be added again inside the app, one at a time.

There is a fallback for workplaces that do not allow adding accounts to outside apps. Since version 2024.1.2, BusyCal can connect to Apple Calendar as a read-only source.

BusyCal now supports direct syncing with Apple Calendar in read-only mode for those instances where adding your account directly to BusyCal is not feasible. Source: busymac.com

Events that arrive this way cannot be edited, and invitations cannot be answered through that connection. The developer describes it as a workaround and recommends adding accounts directly wherever that is allowed.

What it does well

The feature list is long. Grouped by the problem each part addresses, it becomes easier to judge.

Seeing the right slice of time

Week view can show anywhere from 2 to 14 days through the View menu, and settings extend it to 31 days, six weeks, or 90 days counted from today. Month view can show from 1 to 12 weeks. Calendar sets, built on smart filters, save a group of visible calendars and recall it with a keyboard shortcut. A smart filter can also remember a saved search, view settings, and a time zone.

Protecting time

Travel time works out how long it takes to reach an event's location, blocks that time out, and raises an alarm at the moment to leave. The starting point is taken from another event up to three hours earlier, or from the home or work address on the Me card. Cross-calendar blocking copies a personal event onto a work calendar as busy time, either one event at a time or automatically, with up to three rules per calendar.

Entering events quickly

Quick Entry turns a typed sentence into an event or task, picking out the title, date, time, location, alarms, and attendees. The official site lists English, French, German, Spanish, Italian, Dutch, Simplified Chinese, and Korean, and a recent release added Japanese.

The rest

Tasks sync with Apple Reminders and carry forward until completed. A menu bar app shows the day even when the main window is closed. An availability viewer lines up attendees' free and busy time. Automatic backups run every 24 hours and keep the last 10. AppleScript support handles automation, and since version 2026.1.3 the same engine backs an MCP extension that lets an AI assistant search, create, and update calendar items.

Where it breaks down: getting connected

Trials often end before anyone reaches the features, because the connection step stalls. The developer's help pages flag these points:

  • iCloud requires an app-specific password generated on the Apple Account site. The normal password does not work.
  • The iCloud login must use the primary address, not an alias, and older @mac.com addresses should be entered as @icloud.com.
  • Google shows a long list of permissions during sign in. All of them must be granted. Unticking any one breaks sync.
  • Both fail if the Mac's date and time are not set automatically.
  • "On My Mac" calendars in Apple Calendar are not imported. They have to be exported and imported by hand.
  • "On My Mac" calendars never reach an iPhone, since BusyCal syncs with iOS only through a server.

None of these are hard once known. They simply stack up for anyone with four or five accounts, and they all land on the first day of a trial, when patience is lowest.

Where it breaks down: Google tasks and event fields

Heavy Google Calendar users run into limits that the developer attributes to Google's API rather than to BusyCal itself:

  • Google Tasks sync only a title, a due date without a time, and notes. Due times, recurrence, priority, and alarms do not reach Google.
  • File attachments are not supported on Google events, and the URL field is hidden because Google does not sync it.
  • Sound alarms are replaced with message-only alarms on Google.
  • Separate start and end time zones cannot be created from BusyCal on Google events.

BusyCal's Extended Sync can pass the extra task properties between BusyCal installs on different devices, but they do not appear in Google Calendar on the web or on Android. In a team that shares work through Google Tasks, that means one person sees due times and priorities that nobody else does. Separately, Google accounts can be switched to push sync in account settings, available since version 2022.3.1.

Where it breaks down: shared calendars and duplicates

Sharing brings a third set of snags.

The availability viewer works with Exchange, Office 365, Google, Fastmail, and several other servers, but not with iCloud. A family or small team coordinating on iCloud has to find meeting slots some other way.

Duplicates appear when an event genuinely exists twice: an invitation delivered to both a work and a personal account, or a shared calendar holding the same event as a personal one. BusyCal is faithfully syncing both copies. The fix is View > Combine Identical Events, which collapses the copies while keeping them reachable from the Info Panel.

Microsoft accounts add a permission layer of their own. When a calendar is shared through Exchange from inside BusyCal, the owner picks a level: Availability only, Availability with title and location, Read Only, Read & Create, Read & Write, or Delegate, which also lets the other person respond to meeting requests on the owner's behalf. The help page adds a condition that trips people up: to share a secondary calendar with someone, the primary calendar has to be shared with that person too, with at least Availability access.

Blocking events are refreshed from the original on the Mac where they were created. Editing a blocking copy by hand gets overwritten the next time the original changes. Calendar sets follow their own rule: ticking or unticking a calendar after choosing a set marks it with an asterisk, and the change is discarded unless saved. Local network sharing over Bonjour works only between BusyCal installs on Macs, not with the iOS Calendar app or BusyCal for iOS.

How it behaves across a Mac, an iPhone, and a second Mac

Because BusyCal keeps no calendar data of its own in the cloud, everything that crosses devices goes through the servers already in use. That shapes what appears where.

On an iPhone or iPad, events from BusyCal show up in the built-in Calendar app and tasks show up in Reminders, as long as the device is signed in to the same iCloud, Google, or Exchange account. BusyCal for iOS is optional and sold separately as a one-time $9.99 purchase on the App Store. One Google detail catches people out: shared Google calendars are not synced to iOS by default, and have to be selected on Google's own sync settings page before they appear on the phone.

A second Mac is smoother than a first. BusyCal syncs its account list, preferences, tags, and smart filters between Macs over iCloud, controlled by a Sync Accounts setting that is on by default and needs iCloud Drive enabled. Passwords and tokens are deliberately left out and stay in each Mac's Keychain, so every account asks for a fresh sign in once. Local "On My Mac" calendars do not travel this way and need a manual backup and restore.

The practical upshot is that the choice of server matters more than the choice of app. A calendar kept on iCloud behaves the same whether it is opened in BusyCal, the built-in Calendar, or a phone.

Who it tends to fit

Situation What decides the fit
Ten or more calendars across Google, iCloud, and Microsoft Calendar sets cut switching time; each account is connected by hand once
Personal commitments need to show as busy at work Automatic blocking rules match the need directly
Work tasks are shared through Google Tasks Due times and priority stay inside BusyCal
The employer blocks adding accounts to outside apps Only the read-only Apple Calendar connection is available
Family schedules on iCloud, with meeting slots to find No availability viewer for iCloud
Two calendars and a light schedule Little practical difference from the built-in Calendar

The top two rows describe the situations BusyCal was designed around. The rest describe constraints that come from where the calendars live and who shares them, not from the quality of the app. The same person can move between rows over a year, for example when a new job brings a locked down Microsoft 365 account.

What to change first

Before installing anything, write down which server holds each calendar and who else uses it, because that list predicts most of the friction above. If entering events is the slow part of the day, compare entry methods as well, including how Caltimate turns typed or spoken plans into events. The comparison page sets several calendar apps side by side on sync services and pricing.

Frequently asked questions

Is BusyCal available for Windows or Android?

The official store sells BusyCal for macOS and for iPhone, iPad, and Apple Watch only. Because events live on iCloud, Google, or Exchange servers, the same schedule is still visible in Outlook on Windows or in an Android calendar through those accounts.

Why does BusyCal ask for accounts that are already set up in macOS?

BusyCal connects to each service directly instead of reading macOS accounts through EventKit, which the developer says cannot support many of its features. Each account is added once in BusyCal Settings, and iCloud needs an app-specific password.

Which macOS version does BusyCal need?

The official site lists macOS 12.0 or later. The Mac App Store and Setapp listings state macOS 12.4 or later. The iPhone and iPad app requires iOS 15.0 or later.

Why do some events show up twice in BusyCal?

Usually the event really exists on two calendars, for example an invitation sent to both a work and a personal account. Turning on View > Combine Identical Events shows one copy and keeps the others reachable from the Info Panel.

Back to all posts