Calendar Free-Busy Export Button
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Calendar Free-Busy Export Button extracts your calendar availability directly from the page you're viewing and exports it as a structured schedule. It scans Google Calendar, Outlook Web, Calendly, and other calendar platforms to identify both busy events and open time windows within the visible date range. The tool generates exports in three formats: iCalendar (.ics) for direct import into any calendar app, CSV for spreadsheet analysis, and JSON for developers and integration with other tools. A panel overlay shows a summary of busy vs. free time for the selected date range, with total event count and hours broken down. This is ideal for sharing availability with colleagues, integrating calendar data with project management tools, creating backups, or analyzing how you spend your time.
WHERE IT RUNS
This script runs on any calendar page—Google Calendar, Outlook Web, Calendly, Apple Calendar, Yahoo Calendar, Teamup, and others. It operates entirely within your browser tab, reading the page's DOM to locate event elements and extract start/end times. The script cannot access other tabs, your browsing history, bookmarks, downloads, or any data outside the current page. All settings—including default export format, free slot inclusion, date range, and event title inclusion—are stored locally using GM_setValue and never transmitted anywhere.
HOW TO USE
After installing with the BotGentz extension, the script automatically scans your calendar on load. The panel shows a summary of busy vs. free hours for the current date range. Click "Scan & Export" to manually refresh the extraction after changing views. Choose your export format from the dropdown (iCalendar, CSV, or JSON). Toggle "Include Free Slots" to include open time windows in the export. Select the date range—Today, This Week, or This Month—to control how much of your schedule to export. Click "Copy Export" to copy the formatted data to your clipboard, or "Download File" to save it as a file. Click "Copy Report" to export a summary of your meeting metrics and recommendations.
THE REAL MECHANISM
The script uses a platform-agnostic event extraction engine with a wide range of selectors that match common calendar UI patterns across Google, Outlook, Calendly, and other platforms. For each detected event, it extracts the title and parses start/end times using regular expressions that support both 12-hour and 24-hour formats, with fallback to data attributes like data-start, data-time, and data-from. The script also attempts to determine the date of each event by checking parent elements for data-date or data-day attributes. Once events are extracted, the script filters them by the selected date range—Today, This Week, or This Month—using Date objects. Busy time is calculated from the event start and end times. Free slots are computed by sorting events by start time and finding gaps between consecutive events, assuming a full-day range from midnight to midnight for the selected period. The iCalendar exporter generates a standard .ics file with VEVENT entries for busy time and VFREEBUSY entries for free slots when enabled. The CSV exporter creates a simple table with Type, Start, End, and Title columns. The JSON exporter produces a structured object with generated timestamp, busy array, and optional free array. All date formatting follows RFC 5545 for iCalendar compatibility.
THE PANEL
The Free-Busy Export panel is a BGPanel component that you can drag anywhere on your screen by its header. It snaps to the nearest edge when released, keeping your workspace organized. The panel collapses to a small bubble showing only the emoji icon when minimised—click to expand it again. You can resize the panel horizontally to see more of the summary. Press the Escape key to collapse the panel instantly. Your panel position and size are saved per-site.
PLEASE NOTE
This script requires the free BotGentz browser extension to function. Calendar platforms frequently update their user interfaces, which may change class names and event structures—the script may require updates to maintain compatibility. The extraction relies on events visible in the current page view; events not loaded or scrolled into view may not be detected. Free slot calculation assumes a full-day range and may include time outside typical working hours; you can adjust by filtering the exported data as needed. The iCalendar export uses UTC timezone; ensure your calendar app interprets it correctly. The script never reads or writes password fields, hidden inputs, or file inputs. It stores only your default format, free slot inclusion, date range, and event title preference locally. No calendar data, event information, or personal information is ever collected, transmitted, or shared.