Google Calendar Bulk Event Color Assigner
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
This tool helps you organize your Google Calendar by bulk-assigning colors to events matching a filter. You specify a date range and an optional keyword filter (e.g., "meeting", "project", or a calendar name), and the script scans your calendar, displays matching events in a list with their current colors, titles, and times. You can then select which events to recolor and choose a color from Google Calendar's standard palette to apply to all selected events. This is perfect for color-coding events by category, project, or priority without editing each event individually.
WHERE IT RUNS
The script runs directly inside the Google Calendar web interface (calendar.google.com). It does not require a separate extension popup, background process, or external server. Everything happens within the page context, interacting with Google Calendar's React-based DOM components.
HOW TO USE
1. Navigate to Google Calendar (calendar.google.com).
2. Open the BotGentz panel.
3. Enter a start date and end date in YYYY-MM-DD format.
4. Optionally enter a keyword filter to narrow events (e.g., "meeting", "project", "client").
5. Click "Scan & Assign" to start the process.
6. The script will navigate to your calendar, load events within the date range, and filter by keyword if provided.
7. A list of matching events appears with checkboxes, current color previews, titles, and times.
8. Select the events you want to recolor (all are checked by default).
9. Choose a color from the dropdown palette (Google Calendar standard colors).
10. Click "Apply Color to Selected" to begin. The script will open each event, apply the chosen color, and save changes.
11. Use "Ignore Selected" to add events to an ignore list so they are not shown in future scans.
TECHNICAL MECHANISM
Unlike Google Calendar's built-in color editing, this script operates purely on the public DOM of the Google Calendar interface. It uses date-based navigation by constructing a URL with the target date. It identifies events using selectors like `[role="gridcell"] [role="button"]` and `[data-event-id]`, extracting event titles, times, and current colors from the DOM. The color extraction attempts to match the event's background color to Google Calendar's standard palette. For applying colors, the script uses event-driven interaction: it clicks an event to open the detail panel, locates the color picker (either directly in the detail panel or via the More actions menu), selects the user-chosen color from the palette, and saves the change. All actions include retry logic with spacing to account for Google Calendar's asynchronous rendering and to avoid triggering rate limiting.
THE PANEL
The tool appears as a draggable, resizable panel on the side of your screen. You can drag it to any position by clicking and holding the header, resize it by dragging the bottom-right corner, and collapse it to a small bubble when not in use. Press the Escape key to close the panel. The panel remembers its position and size per site (calendar.google.com) so it stays where you left it on your next visit.
PLEASE NOTE
This script requires the free BotGentz extension to run. It does not store any personal data except for a list of ignored event IDs, which is saved locally in your browser using GM_setValue. No data is sent to any external server. Google Calendar frequently updates its website, which may break the script. If you encounter issues, check for updates or contact support. The script will navigate your calendar view, which may disrupt your current view; it will return to the date you specified after scanning.