Google Calendar filter conditions
Filter Google Calendar events by title, calendar, color, type, visibility, attendees, and more. Includes AND/OR logic, Notion property filters, and real examples
Google Calendar automations in 2sync support 12 filter conditions across four categories: text, toggle, dropdown, and Notion property. Combine conditions with AND or OR logic to sync only the events you need. Notion property filters control the reverse direction: what goes from Notion back to Google Calendar. For general filter concepts, see the filters overview. For the full Google Calendar setup, see the Google Calendar sync guide.
How do Google Calendar filters work?
Filters evaluate each Google Calendar event on every sync cycle. An event must match your conditions to sync to Notion. Events that don't match are skipped entirely.
Without filters, every event from your selected calendars syncs to Notion. Once you add filters, only matching events create or update Notion pages.
Events that don't match are marked "Ignored" in 2sync. They stay in Google Calendar untouched but don't appear in Notion. If you later change your filters and the event matches again, it syncs on the next cycle.
Map the Sync Status field to a Notion property to see which events are Synced, Ignored, or Removed at a glance.
How do I set up filters?
- Open your automation in the 2sync dashboard
- Scroll to the Filters section
- Choose a filter strategy: No filtering, All conditions (AND), or Any condition (OR)
- Click + Add Condition
- Pick a field, an operator, and a value
- Add more conditions as needed
- Save your automation
What filter strategies can I use?
No filtering
Every event from your selected calendars syncs to Notion. Use this when you want a complete mirror of your calendar.
All conditions (AND)
Every condition must match for an event to sync. Use this to narrow results precisely.
Strategy: All conditions (AND)
- Event Calendar Name contains "Work"
- No attendees is No
Result: Only work calendar events that have attendees sync to Notion.
Any condition (OR)
At least one condition must match for an event to sync. Use this to cast a wider net.
Strategy: Any condition (OR)
- Event Color is Peacock
- Event Color is Tomato
Result: Events with either Peacock or Tomato color sync.
You cannot mix AND and OR in one automation. For complex logic, create multiple automations targeting the same database: one with AND conditions, another with OR conditions.
What can I filter by?
Google Calendar offers 12 filter conditions organized into four categories.
Text filters
Text filters match against string values. All text matching is case-insensitive. Four operators are available: contains, not contains, empty, and not empty.
Event Title checks the event name. Use it to sync events with specific keywords.
Example: Event Title contains "Standup" syncs events like "Daily Standup" and "Team Standup Call."
Event Calendar Name checks which Google Calendar the event belongs to. Essential when syncing multiple calendars into one Notion database.
Example: Event Calendar Name contains "Work" matches calendars named "Work", "Work - Client Meetings", and any other calendar with "Work" in the name.
"Contains" does partial matching. If you have calendars named "Work" and "Work - Client", both match the string "Work." Use a more specific string like "Work - Client" to target only one.
Event Description checks the body text of the event. Use it to create tag-based workflows.
Example: Event Description contains "#sync" syncs only events where you've added "#sync" to the description, giving you opt-in control over what reaches Notion.
Event Location checks the location field.
Example: Event Location contains "Office" syncs only in-person meetings at locations that include "Office."
Event Attendees List checks attendee email addresses, not display names.
Example: Event Attendees List contains "client@company.com" syncs only meetings where that person is invited.
The attendees list stores email addresses. Use the person's email address, not their display name, when setting up attendee filters.
Toggle filters
Toggle filters are yes/no switches for event properties.
All-Day events: Set to Yes to sync only all-day events. Set to No to exclude them.
Example: All-Day events is No keeps only timed events, excluding holidays, vacation blocks, and day-long reminders.
Recurring events: Set to Yes to sync only recurring events. Set to No to exclude them.
Example: Recurring events is No removes weekly standups, daily reminders, and repeating one-on-ones. See recurring events for details on how recurring instances sync.
No attendees: Set to Yes to sync solo events (events with no other people). Set to No to sync only events that have attendees.
"No attendees" can be confusing. Think of it as answering the question: "Is it true this event has no attendees?" Setting it to No means "sync events that DO have attendees." Setting it to Yes means "sync events with NO attendees (solo events)."
Dropdown filters
Dropdown filters match against predefined Google Calendar values.
Event Free/Busy: Options: Busy, Free.
Example: Event Free-busy is Busy syncs only time-blocking events, excluding informational "Free" events that don't occupy your calendar.
Event Type: Options: Default, Birthday, From Gmail, Out of Office, Working Location, Focus Time.
What each type means:
- Default: Regular events you create manually or receive as invites
- Birthday: Auto-generated from Google Contacts birthday data
- From Gmail: Auto-created from flight bookings, hotel reservations, package deliveries, and similar emails
- Out of Office: OOO blocks you set in Google Calendar
- Working Location: Home/office location declarations
- Focus Time: Focus time blocks that auto-decline meetings
Example: Event Type is Default syncs only regular events, filtering out all auto-generated noise.
Event Type is Default is the single most effective filter for removing clutter. One condition eliminates birthdays, Gmail events, out-of-office blocks, working location entries, and focus time in a single step.
Event Color: 11 Google Calendar colors: Lavender, Sage, Grape, Flamingo, Banana, Tangerine, Peacock, Graphite, Blueberry, Basil, Tomato.
Events without a manually assigned color do NOT match any color filter. Only events with an explicitly set color are filterable. If you rely on color filtering, make sure to assign colors to the events you want to sync.
Event Visibility: Options: Public, Private, Default.
Example: Event Visibility is not Private syncs only non-private events. Useful when sending events to a shared team workspace in Notion.
Notion property filters
Google Calendar event filters control what comes INTO Notion. Notion property filters control the reverse: what goes from Notion back OUT to Google Calendar.
Available operators depend on the Notion property type:
- Text properties: contains, not contains, empty, not empty
- Select properties: is, is not
- Checkbox properties: checked, not checked
Example: Notion property "Sync to Calendar" is Checked
Only Notion pages with that checkbox checked push changes back to Google Calendar. Pages without it checked stay in Notion but don't create or update Google Calendar events.
Google Calendar event filters and Notion property filters work independently. You can use both in the same automation. Event filters control inbound sync, Notion property filters control outbound sync.
Real-world filter examples
1. Sync only work calendar events
Goal: Keep personal events out of your work Notion database.
Strategy: All conditions (AND)
- Event Calendar Name contains "Work"
Result: Only events from calendars with "Work" in the name sync.
2. Keep only real meetings
Goal: Sync actual meetings with other people, excluding noise.
Strategy: All conditions (AND)
- Event Type is Default
- No attendees is No
- All-Day events is No
Result: Only timed, multi-person, regular events sync. Focus time, birthdays, solo blocks, and all-day events are excluded.
3. Build a color-based category system
Goal: Sync only events you've color-coded for specific projects.
Strategy: Any condition (OR)
- Event Color is Peacock
- Event Color is Tomato
- Event Color is Blueberry
Result: Events with any of those three colors sync. All others are ignored.
4. Exclude recurring events
Goal: Sync only one-off events and keep recurring meetings out.
Strategy: All conditions (AND)
- Recurring events is No
Result: Weekly standups, daily reminders, and repeating events don't sync.
5. Track meetings with a specific person
Goal: Build a log of all meetings with a particular client or colleague.
Strategy: All conditions (AND)
- Event Attendees List contains "client@company.com"
Result: Only events where that email appears in the attendee list sync to Notion.
6. Exclude private events from a shared workspace
Goal: Sync calendar events to a team Notion database without exposing private items.
Strategy: All conditions (AND)
- Event Visibility is not Private
- Event Free-busy is Busy
Result: Only non-private, time-blocking events sync. Private events and "Free" informational events stay hidden.
7. Tag-based sync using descriptions
Goal: Opt-in control. Only sync events you explicitly tag.
Strategy: All conditions (AND)
- Event Description contains "#notion"
Result: Add "#notion" to any event's description to sync it. Events without the tag are ignored.
8. Filter out Gmail-generated events
Goal: Remove auto-created events from flights, hotels, and package deliveries.
Strategy: All conditions (AND)
- Event Type is Default
Result: Gmail-generated events, along with all other special types, are excluded. Only regular events sync.
What happens when I change my filters?
Adding or tightening filters
Events that no longer match become "Ignored." Their Notion pages remain in your database but stop receiving updates from Google Calendar.
Removing or loosening filters
Previously excluded events start syncing on the next cycle. If a Notion page already exists from a prior sync, 2sync reconnects it rather than creating a duplicate.
Tracking changes
Map the Sync Status field to a Notion property before making major filter changes. You can immediately see which events shift between Synced and Ignored.
Map the Sync Status field before making major filter changes so you can immediately see which events become Ignored and which start syncing again.
What should I do next?
- Set up your Google Calendar sync if you haven't connected yet
- See all 16 fields that sync between Google Calendar and Notion
- Learn how recurring events appear in Notion to decide whether to filter them
- Sync multiple calendars into one database and use filters to organize them
- Create multiple automations with different filters for advanced setups
Related
- Filters overview for general filter concepts and operators
- Google Calendar sync for the full setup guide
- Google Calendar fields for all 16 synced fields
- Recurring events for how repeating events sync
- Sync multiple calendars for combining calendars in one database
- Sync item statuses for Synced, Ignored, and Removed states
- Sync direction for per-field data flow control
- Multiple automations for splitting complex filter logic
- How to sync Notion with Google Calendar for a step-by-step walkthrough
FAQ
Can I combine text and dropdown filters?
Yes. You can mix any filter types in the same automation. For example, filter by Event Calendar Name (text) AND Event Type (dropdown) to sync only default events from your work calendar.
How do I exclude Focus time and Out of office blocks?
Set your filter strategy to All conditions and add: Event Type is Default. This syncs only regular events, excluding Focus time, Out of office, birthdays, Gmail events, and working location entries.
Can I filter by a Notion property?
Yes. Notion property filters control which Notion pages sync back to Google Calendar. The available operators depend on the property type — text, select, or checkbox.
What happens to events that no longer match my filters?
They become Ignored. The Notion pages remain in your database but stop syncing. If you update your filters and the events match again, they reconnect on the next sync cycle.
Are text filters case-sensitive?
No. All text filters are case-insensitive. 'Work', 'work', and 'WORK' all match the same events.
Can I filter events by date or time?
No. Filters check event properties, not dates. To control the time range of synced events, use the sync window setting in your automation's advanced settings.
What happens to events without a color when I use the Event Color filter?
Events without a manually assigned color don't match any color filter value. They are ignored. If you want to filter by color, make sure to assign colors to the events you want to sync.
Can I filter by event organizer?
Not directly. The organizer's email usually appears in the attendees list, so you can use Event Attendees List contains with their email. Alternatively, map the Organizer field to Notion and use a Notion property filter.
How many filter conditions can I add?
There is no hard limit on the number of conditions. However, all conditions in one automation share the same strategy — either AND or OR. For mixed logic, use multiple automations.
Do filters affect events that were already synced before I added the filter?
Yes. Filters are re-evaluated on every sync cycle. If a previously synced event no longer matches, it becomes Ignored. The Notion page stays but stops receiving updates.