1 item
Mirrors events between Google Calendars as Busy placeholders so your free/busy reflects events from your other calendar. Stop looking "free" when you're not. Calendar Busy Sync mirrors events between two Google Calendars as private "Busy" placeholders, so anyone checking your availability sees an accurate picture — without ever exposing what those events actually are. If you juggle a personal and a work calendar (or any two Google calendars), you've probably hit this problem: you can add the second calendar to your main view and see everything in one place, but colleagues, clients, or scheduling tools still see you as available during events from the other calendar. Meeting links get sent on top of your real commitments. Calendar Busy Sync solves this in the cleanest way possible — by writing only the bare minimum needed: a private "Busy" block at the same time, with no title, no details, no attendees leaked. What it does • Reads events from one Google Calendar and creates matching "Busy" placeholders in another, both calendars chosen by you. • Keeps the two calendars in sync continuously — placeholders update when source events move, and disappear when source events are deleted. • Works one-way or two-way (A → B, or A ↔ B). • Customisable placeholder title — default is "🔒 Busy", but you can write anything that fits your context. Why install it • Colleagues and clients see accurate availability without seeing your private life — and vice versa. • Scheduling tools (Calendly, Reclaim, internal booking systems) stop double-booking you across calendars. • You stop manually copying personal events into your work calendar as "blocked" — set it once, forget it. • No more awkward "I actually have something at that time" messages on the day of the meeting. Privacy by design • 100% client-side. There is no backend server operated by the developer. The extension talks directly to Google's Calendar API from your browser using your own OAuth token. • No analytics, no telemetry, no error reporting services, no third-party SDKs. • Placeholders are created with visibility=private — only the title (which you control) is visible in free/busy lookups. No description, no attendees, no location. • The developer has zero ability to see any user's calendar data. • Open behaviour: the extension marks every placeholder with a private extended property, so it can manage exactly what it created and never touches anything else in your calendars. Controls • Sign in with Google and pick two calendars from a dropdown. • Optional auto-sync on a schedule (5 minutes minimum, configurable). • One-click "Sync now" if you don't want a schedule. • "Remove placeholders" wipes every placeholder the extension created. • "Reset extension" — full teardown: removes placeholders, revokes the OAuth token, forgets your config. How it works (briefly) The extension uses Google's Calendar API to: 1. List events on the source calendar within a rolling window (1 day back, 60 days forward). 2. For each event, ensure a matching placeholder exists on the target calendar — create, update, or delete to mirror reality. 3. Skip events you'd never want mirrored: declined invitations, all-day events, and events you've explicitly marked as "Free". Recurring events are handled as individual instances, so if you move a single occurrence the placeholder follows. Requirements • A Google account with access to both calendars you want to sync. • If the two calendars belong to different Google accounts, both must be visible inside one account (via "Add calendar → Subscribe", or by sharing one with the other with edit access where allowed by your IT policy). What this extension is NOT • Not an event scheduler — it doesn't help you find meeting times. • Not a backup tool — it doesn't archive your events. • Not a calendar viewer — it doesn't change how your calendar looks; it just keeps free/busy accurate. One job, done cleanly.
May 28, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.