This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Outlook Calendar Free-Time Highlighter

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This script highlights free time slots in Outlook Calendar, making it easy to see at a glance when you're available for meetings. In day, week, or month view, the script scans your calendar for busy slots (appointments, meetings, events) and free slots, then applies a green tint and border to free periods. Busy periods remain unhighlighted, creating a clear visual contrast. A "hide busy" option lets you show only free time, hiding all busy events for quick scanning. The highlight color is fully customizable, so you can choose any color that works for you. The script updates dynamically as you navigate between views or switch calendars.

WHERE IT RUNS

The script runs on Outlook Calendar (outlook.office.com/calendar and outlook.live.com/calendar). It works in day, week, and month views, and supports both desktop and mobile views.

HOW TO USE

After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:

- The "Enable free-time highlighting" toggle enables or disables the script.

- Use the color picker to customize the free-time highlight color.

- Toggle "Hide busy events (show free time only)" to hide all busy events, showing only available time slots.

- Click "Refresh calendar" to manually re-scan the current view.

The script works automatically—just open Outlook Calendar and free time slots will be highlighted.

TECHNICAL SECTION — REAL MECHANISM

The script detects Outlook Calendar pages by checking the URL for outlook.office.com/calendar or outlook.live.com/calendar. It finds calendar time slots using selectors like .free-busy-item, .time-slot, .calendar-item, .event, .appointment, .meeting, .busy, .free, .tentative, .out-of-office, and day cells like .day-cell, .calendar-day, and .date-cell. A slot is determined to be busy if it contains meeting, appointment, event, or busy class names, text, data attributes, or aria labels. Free slots are identified by the absence of busy indicators or the presence of free class names. For day cells in month view, cells without events are considered free. The script applies highlighting by setting the slot's background to the configured color with 20% opacity and adding a left border. If the hide-busy option is enabled, busy slots are hidden using display:none. A MutationObserver watches for DOM changes to re-apply highlighting when the user navigates between views.

THE PANEL

The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings save automatically via GM_setValue.

PLEASE NOTE

This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. Outlook Calendar frequently updates its interface, which may affect the selectors used to find time slots and events. If the script stops working, please check for updates. The script's detection of busy vs. free slots is based on common Outlook Calendar patterns and may not detect all events perfectly, especially for complex recurring events or all-day events. The "hide busy" option hides busy events visually but does not remove them from the calendar data. The script stores only your preferences via GM_setValue. No data is sent externally—all data is stored locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, classList) and never use innerHTML.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.