Calendar sync for teams
Sync team calendars to a shared Notion database: deduplicate shared meetings with formulas, use shared connections, and build collaborative meeting notes
When multiple team members sync their calendars to the same Notion database, careful setup prevents duplicates and ensures everyone can collaborate on meeting notes. This guide shows how to structure your team's setup for clean, collaborative calendar management using shared connections and filters.
What is the team calendar challenge?
When several people sync their Google or Outlook calendars to one Notion database, shared meetings appear multiple times, once from each person's calendar. 2sync treats each calendar as a separate source, so a meeting with three attendees creates three Notion pages.
The strategies below solve this problem in different ways depending on your team's needs.
Option 1: Separate databases per person
The simplest approach gives each team member their own database:
- Create a database for each team member (e.g., "Alex's Calendar", "Jordan's Calendar")
- Each person sets up their own automation pointing to their database using a shared connection
- Use a linked database view to aggregate all calendars if needed
Pros:
- No duplicate management needed
- Each person controls their own sync settings
- Simple to set up
Cons:
- Shared meeting notes require linking between databases
- Harder to see team availability at a glance
This is the best option for teams that don't need collaborative meeting notes. Each person gets a clean personal calendar database with zero duplicate risk.
Option 2: Single database with deduplication
For teams wanting one collaborative database, use formulas to identify and filter duplicates.
Step 1: Map required fields
Temporarily set your sync to 1-way to Notion (see Sync direction) and map these fields:
| Calendar field | Notion property |
|---|---|
| Attendees (Text) | Attendees text |
| Attendees Contacts | Attendees contacts |
| Organizer | Organizer |
| Calendar Name | Calendar Name |
Run the sync once to populate these columns, then switch back to 2-way sync.
Step 2: Create deduplication formulas
Add a formula property called Primary Event Attendees:
Add another formula called Is Primary Event:
Step 3: Create filtered views
Create a view for each team member with this filter logic:
| View name | Filter |
|---|---|
| Alex | Calendar Name = alex@example.com OR Is Primary Event = true |
| Jordan | Calendar Name = jordan@example.com OR Is Primary Event = true |
Each person sees all their personal meetings plus exactly one copy of shared meetings.
This approach requires all team members to map the same fields with the same property names. Create a setup checklist for your team before onboarding new members.
Option 3: Organizer-only sync
An alternative approach: only the meeting organizer syncs shared meetings.
Setup
- Each team member creates their own automation
- Add a filter: Organizer contains their email address
- Personal events (where they're the organizer) sync normally
- Meetings organized by others don't sync
Pros:
- Simple filter-based solution
- No duplicate formulas needed
Cons:
- Attendees can't add notes before the meeting
- Changes to the meeting must come from the organizer
How does this scale to larger teams?
The formula-based deduplication (Option 2) scales without additional configuration. For each new team member:
- Connect their calendar using a shared connection or their own account
- Create a view filtered on their Calendar Name OR Is Primary Event = true
The formulas and database structure remain unchanged regardless of team size.
Best practices for team calendars
- Use consistent field mapping across all team members. Document which properties to use and share the guide with new members.
- Use consistent calendar names so views and formulas work correctly. If someone changes their calendar connection, update any dependent views.
- Prefer individual automations over a single shared one. Each person manages their own sync settings while the shared database enables collaboration.
- Build a meeting notes workflow: With one page per meeting, teams can add agenda items before the meeting, take collaborative notes during it, and assign follow-up tasks afterward.
- Map Sync Status to track which events are Synced, Ignored, or Removed. See Sync item statuses.
- Use Ignore Linked on all automations pointing to the same database. See Multiple automations.
What should I do next?
- Set up shared connections for your team
- Learn how to sync multiple calendars to one database
- Configure filters to scope each automation
- Set up a default calendar for new items
- Choose the right plan for your team
Related
- Shared connections for setting up team member access to shared OAuth tokens
- Multiple calendars for syncing multiple calendars to one Notion database
- Multiple automations for running several automations on one database without duplicates
- Sync direction for configuring two-way or one-way sync per automation
- Filters for scoping automations with conditions to prevent overlap
- Google Calendar for Google Calendar integration setup
- Outlook Calendar for Outlook Calendar integration setup
- Plans and pricing for choosing the right plan for your team size
FAQ
How do we prevent duplicate meetings?
Use the formula-based deduplication approach (Option 2), give each team member their own database (Option 1), or filter by Organizer so only one person syncs shared meetings (Option 3).
Can multiple people sync the same calendar?
Yes, but this creates duplicates. Shared calendars should typically be synced by one person or use the deduplication formulas.
What if a team member leaves?
Delete or pause their automation. Their previously synced events remain in Notion unless you delete them manually or enable event deletion.
Can we use one automation for the whole team?
Each calendar connection requires authentication from that account owner. However, one person can manage the automation settings while others connect their calendars via shared connections.
Do all team members need their own 2sync plan?
Yes. Each team member needs their own 2sync account with available automation slots. Shared connections provide access to an OAuth token, not a shared subscription.
Can we mix Google and Outlook calendars on the same team database?
Yes. Team members using different calendar providers can all sync to the same Notion database. Create separate automations per provider and use Ignore Linked with non-overlapping filters.
How do we handle meeting notes for deduplicated events?
In Option 2, the primary event page is the one linked to the organizer's calendar. All team members can add notes to that page through the Notion view. Use Notion comments or mention team members for collaboration.