Creating Sync Rules

Set up automatic calendar synchronization

What's a Sync Rule?

A sync rule defines how events from one calendar (the source) should be synchronized to another calendar (the target) as blocker events.

Example: "Sync all busy events from my personal Google Calendar to my work Outlook calendar as 'Busy' blockers."

Before You Start

✅ Make sure you have:

  • At least 2 calendars connected - You need a source calendar and a target calendar
  • Both calendars showing "Active" status - Check the Calendar Connections page
  • Events in your source calendar - For testing the sync

Step-by-Step Guide

1

Go to Sync Rules

Navigate to Sync Rules in the main menu, or go directly to the Sync Rules page from your dashboard.

Dashboard with Sync Rules menu highlighted

Go to the Sync Rules page

2

Click "Create New Sync Rule"

On the Sync Rules page, click the "Create New Sync Rule" or "+ New Rule" button.

3

Select Source Calendar

Choose which calendar's events you want to sync FROM.

What's a Source Calendar?

The source calendar is where your real events are. When you create, update, or delete events in this calendar, SyncMyDay will automatically create or update blocker events in your target calendar(s).

Common examples:

  • Personal calendar (source) → Work calendar (target): Block work time when you have personal appointments
  • Work calendar (source) → Personal calendar (target): Block personal time when you're in work meetings
Source calendar dropdown showing connected calendars

Select the source calendar (where to copy events from)

4

Select Target Calendar(s)

Choose one or more calendars where blocker events should be created.

Pro Tip: Multiple Targets

You can select multiple target calendars! For example, sync your personal events to both your work Google Calendar AND your work Outlook calendar simultaneously.

Target calendar selection with checkboxes

Select target calendars (where to copy events to)

5

Configure Blocker Event Title

Enter the text that will appear as the title for all blocker events created by this rule.

Popular titles:

  • Busy - Simple and universal
  • Personal Time - Indicates private time
  • Not Available - Clear unavailability
  • Meeting - Generic placeholder
  • 🔒 Private - With emoji for visual distinction

Remember:

The blocker title is what others will see in your calendar. Choose something appropriate for your context (work, personal, etc.).

Blocker title input field

Enter a title for blocker events

6

Set Up Filters (Optional but Recommended)

Filters control which events get synced. This is where you can fine-tune your synchronization.

Available Filters:

Sync Only Busy Events

Only sync events that are marked as "Busy". Skip events marked as "Free" or "Tentative".

Use case: Prevent tentative meetings from blocking your other calendars until they're confirmed.

Ignore All-Day Events

Don't sync all-day events like holidays, birthdays, or out-of-office days.

Use case: All-day events often don't need to block your other calendars (e.g., public holidays).

Work Hours Only

Only sync events that fall within specific hours and days.

Use case: Only block your work calendar during work hours. Personal events in the evening or weekends won't sync.

Filter options with checkboxes and time selectors

Set filters (optional) for specific use cases

7

Review and Save

Review your sync rule settings and click "Create Sync Rule" or "Save".

✅ Sync Rule Created!

Your calendars are now syncing automatically. What happens next:

  • Initial sync: All existing events from your source calendar will be synced within minutes
  • Real-time updates: New, updated, or deleted events will sync automatically
  • You can pause or edit: The sync rule anytime from the Sync Rules page
Confirmation page showing active sync rule

Your sync rule is active and working!

Common Sync Rule Examples

🏠 Personal → Work

  • Source: Personal Google Calendar
  • Target: Work Outlook Calendar
  • Title: "Personal Time"
  • Filters: Work hours only (9-5, Mon-Fri), Busy events only
  • Result: Colleagues see you're busy during personal appointments, but only during work hours

💼 Work → Personal

  • Source: Work Outlook Calendar
  • Target: Personal Google Calendar
  • Title: "Work Meeting"
  • Filters: Ignore all-day events, Busy events only
  • Result: Your personal calendar shows when you have work meetings (useful for family planning)

👨‍👩‍👧 Family Calendar → Work

  • Source: Shared family Google Calendar
  • Target: Work calendar
  • Title: "Family Commitment"
  • Filters: Work hours only
  • Result: Team knows you're unavailable for family events like school pickups

📅 Multiple Personal → Work

  • Source: Personal calendar
  • Targets: Work Google + Work Outlook + Work iCloud
  • Title: "Busy"
  • Filters: Work hours, Busy only
  • Result: Block all your work calendars at once

Managing Your Sync Rules

Pause a Sync Rule

Need to temporarily stop syncing? Click the "Pause" button on any sync rule. Blocker events will remain, but new ones won't be created until you resume. Great for vacations or project changes.

Edit a Sync Rule

Click "Edit" to change any settings—filters, blocker title, target calendars, etc. Changes apply to new blocker events. Existing blockers remain unchanged unless the source event changes.

Delete a Sync Rule

Click "Delete" to permanently remove a sync rule. All blocker events created by this rule will be automatically deleted from your target calendars. This action cannot be undone.

Troubleshooting

Check these:

  1. Sync rule status is "Active" (not paused)
  2. Source and target calendars show "Active" status
  3. Event meets filter criteria (check busy status, all-day, work hours)
  4. Wait a few minutes (CalDAV calendars poll every 15 minutes)
  5. Check if initial sync has completed (look for sync timestamp)

Adjust your filters:

  • Too many? Enable "Ignore all-day events" or "Busy events only" or restrict to work hours
  • Too few? Disable filters to sync all events, or adjust work hours to include more time
  • Tip: Edit your sync rule and try different filter combinations until it works for your needs

This is usually a timezone issue:

  • Check your account timezone in Settings
  • Verify source calendar timezone settings
  • Check target calendar timezone settings
  • If using CalDAV, ensure timezone is properly configured in the calendar service

Next Steps

Sync Engine Architecture

When you create a sync rule, here's what happens:

  1. Initial Sync: All events from the source calendar within the time range (default: past 7 days, future 90 days) are synced
  2. Webhook Registration: For Google/Microsoft, webhooks are registered to receive real-time notifications
  3. Event Processing: Each event is checked against filters before creating a blocker
  4. Blocker Creation: A new event is created in target calendar(s) with your custom title
  5. Tracking: A database record links the source event to blocker event(s) for future updates/deletions

Real-Time vs. Polling

  • Google & Microsoft: Real-time via webhooks (1-2 minute latency)
  • CalDAV & Email: Polling every 15 minutes
  • Webhook renewal: Automatic every 3-7 days (varies by provider)

Filter Processing

Filters are applied in this order:

  1. Check if event is all-day (if "Ignore all-day events" is enabled)
  2. Check event status (if "Busy events only" is enabled)
  3. Check if event time falls within work hours (if configured)
  4. Check if event day is included in selected days (if work hours enabled)

An event must pass ALL enabled filters to be synced.

Duplicate Prevention

SyncMyDay prevents duplicate blocker events using:

  • Unique identifiers linking source events to blockers
  • Hash-based detection of existing blockers
  • Cleanup of orphaned blockers when rules are deleted

Performance

  • Database: Indexed by user, calendar, and sync rule for fast lookups
  • Caching: Connection tokens and metadata cached in Redis (if available)
  • Queues: Large sync operations processed in background jobs
  • Rate limiting: API calls throttled to respect provider limits

Nastavenie cookies

Používame cookies na zabezpečenie základnej funkčnosti webu, analýzu návštevnosti a personalizáciu obsahu. Môžete si vybrať, ktoré kategórie cookies povolíte. Viac v zásadách ochrany osobných údajov

Nastavenia

Nevyhnutné cookies

Vždy aktívne

Tieto cookies sú nutné pre správne fungovanie webu. Nie je možné ich vypnúť.

Analytické cookies

Pomáhajú nám pochopiť, ako návštevníci používajú web, aby sme ho mohli vylepšovať.

Marketingové cookies

Používajú sa na zobrazovanie relevantných reklám a meranie ich účinnosti.