Skip to main content

Smart Filters

Smart Filters in BusyCal offer an unparalleled level of customization, making it one of the only calendar apps with this many options for dynamic calendar sets and saved searches — all accessible with a single click. Whether you need to quickly toggle between work and personal schedules or filter events based on specific criteria, Smart Filters give you complete control.

With Smart Filters, you can:

  • Instantly switch between predefined calendar sets (i.e. calendar group selections).
  • Show only events that match specific conditions, such as keywords, event types, or tags.
  • Apply custom view settings, including columns and sort order in List View.
  • Quickly switch between time zones — Save and recall different time zones for dynamic event display, ensuring a seamless experience when traveling or working across multiple regions.

To create a Smart Filter, choose Filter > New Smart Filter (or press ⌘-Control-N) and configure your preferred settings. Some examples follow.

Calendar Sets

With Calendar Sets, you can quickly switch between different groups of calendars with a single click. For instance, you might have one set that includes all your work-related calendars, another for personal appointments, and a third for family activities. By selecting a particular Calendar Set, BusyCal will display only the calendars included in that set, helping you focus on the relevant events and tasks without the distraction of unrelated calendar entries.

A calendar set can be created by enabling the "Remember visible calendars" option when setting up a new smart filter. This option then remembers and associates your currently "checked" calendars in the side panel with the new smart filter. By setting up various smart filters, you can conveniently switch between different sets of calendars with just one click.

You can disable this option if you prefer to use the smart filter as a "saved search" that should always apply to the currently selected set of calendars.

To create a new calendar set:

  1. Select the calendars you want to show or hide by checking them in the left sidebar.
  2. Choose Filter > New Smart Filter or press ⌘-Control-N.
  3. Select “Remember visible calendars,” give the filter a name, like “Work,” and click OK.
New Smart Filter

The new filter is added to the Filter bar, and clicking it displays the calendar set. If the filter bar is not showing, you can enable it from the View menu > Show Filter Bar option (or press ⌘-Control-H).

Filter Bar

The filter can also be applied by selecting its name from the Filter menu or by pressing its keyboard shortcut. The first smart filter listed is “Unfiltered” with a keyboard shortcut of ⌘-Control-1. You can think of Unfiltered as the standard or default filter. The next smart filter (Work, in this example) corresponds to ⌘-Control-2.

Filter Menu

Saving Changes

If you show or hide additional calendars by checking them in the left calendar side panel, the Filter button in the toolbar displays a * (asterisk) next to its name, indicating that the current filter / calendar set has changed. Changes are discarded if not manually saved.

Smart Filter with Changes

When your calendar selection has changed, such as after you uncheck a calendar momentarily:

  • To save the changes, choose Filter menu > Save Changes, press ⌘-Control-S, or Control-click the button in the toolbar and choose Save Changes from the contextual menu.
  • To discard the changes, press ⌘-Control-2 (the Work filter’s keyboard shortcut), ⌘-Control-R (for Revert), or Control-click the button in the toolbar and choose Revert to Saved from the contextual menu. You can also click on the same filter Work again to revert to previously saved settings.
important

BusyCal does not automatically save changes to the calendar set. This is an incredibly powerful feature as it allows you to temporarily uncheck / check a calendar only momentarily. Quitting and relaunching the app will revert to previously saved settings.

The Unfiltered is a built-in, default calendar set. When you switch to a different smart filter, your current view settings and calendar selection is automatically saved against Unfiltered. This way, when you switch back to the built-in unfiltered view, your previous calendar selection and view settings are automatically restored.

Content Matching

You can create powerful smart filters to show events that match various conditions, such tasks that contain a certain string of text and that were modified in the last 7 days.

Recent Tasks Smart Filter

To create a content-matching smart filter:

  1. Choose Filter menu > New Smart Filter or press ⌘-Control-N.
  2. Select Show events that match the following conditions, configure the settings shown above, name the filter, and click OK.
  3. A button with the smart filter’s name appears on the Filter Bar, and clicking it applies the filter. Note that the filter button appears in blue, which indicates that it is showing only events that match certain conditions.
Recent Tasks Smart Filter

You can create some pretty sophisticated smart filters for things like:

  • Due Date is in the next x days.
  • Priority is High.
  • Tag contains “Client X”
  • Modified in the last x days.
  • Location contains “Starbucks”
  • Event type is Meeting.
  • Meeting Status is Maybe.

Nested Filters

You can create nested sub-conditions by holding down Option and clicking the ellipsis (…) button, and then choosing All, Any or None for the sub-conditions.

Smart Filter with ellipsis button highlighted

For example, you could create a smart filter that matches ALL event types that are tasks, ANY tags that contain client x or client y, and NONE that have a tag containing client z.

Smart Filter advanced setup

Remember View Settings

You can customize the calendar views in BusyCal, like a 4-day Week, a 3-week Month, or a List view with a custom number of days and columns shown.

Smart Filter for View Settings

You can use smart filters for recalling these custom views with a single click, as follows:

  1. Customize the current view (e.g., change the number of days or weeks shown in the Week or Month view, or the columns displayed in List view).
  2. Choose Filter > New Smart Filter or press ⌘-Control-N, select “Remember view settings & preferences,” name the filter, and click OK.
  3. A button with the smart filter’s name appears on the Filter Bar, and clicking it displays the custom view.

Remember Time Zone

Customize and override your current time zone to dynamically display all events in a different time zone and apply it to new events you create. This is especially useful when traveling, allowing you to keep your calendar aligned without relying on the system time zone.

If you frequently switch between time zones, you can enable Remember Time Zone within a Smart Filter. This lets you save and quickly toggle between preferred time zones and related view settings, streamlining your workflow and improving productivity.

Smart Filter for View Settings

Using Combination Filters

A smart filter can include any combination of calendar set, view settings, and conditions. For example, a smart filter could combine a set of calendars with a 6-week month view. For a more sophisticated example that uses tags as a condition, see Time Tracking.

Calendar Set Syncing

As of BusyCal v2024.4.2, Smart Filter automatically sync across all your macOS devices (over iCloud). For iOS users, Calendar Sets sync exclusively between other iOS devices (and not macOS) due to deliberate and technical differences in their implementation.

This makes migrating to a new device easy. Simply install BusyCal on a new device and your existing smart filters should pull directly from iCloud.

To disable Calendar Set syncing, go to Settings > Advanced > Other > Sync Smart Filters & Calendar Sets and toggle the feature off.