Google Calendar Free Time Finder Template|Google Sheets × Apps Script

In a previous post titled How to Find Common Free Time in Google Calendar: Manage Shared Schedules with Google Apps Script, we explained how to automatically extract overlapping availability from multiple calendars using Google Apps Script.

This time, we’re offering a ready-to-use template that makes things even easier.

Simply enter the calendar IDs, date range, preferred time of day, and time interval—and the sheet will automatically list all available time slots shared across calendars.

It’s a handy tool for scheduling meetings and streamlining team coordination.

If you’d like to jump straight to the download section, click here.

TOC

Key Features of the Template

  • Automatically detects common free time across multiple Google Calendars
  • Customizable time range for each day (e.g., limit search to 10:00 AM–6:00 PM)
  • Flexible time intervals—choose from 15, 30, or 60 minutes as needed
  • Easy to run with a built-in execution button powered by Google Apps Script
  • Simple and clean output: results are displayed in just two columns — “Date” and “Available Time Slot”

How to Use the Template

STEP
Copy the Google Sheet

Start by copying the template from the link below.

STEP
Enter Calendar IDs

In cell B1 and the columns to the right, enter the Google Calendar IDs.
You can input multiple calendar IDs side by side to compare availability across team members.

Note: To access someone else’s calendar, make sure they’ve shared it with you and granted the appropriate viewing permissions in advance.

How to Set Calendar Sharing Permissions in Google Calendar

If you want to access someone else’s Google Calendar via this template, they need to share their calendar with you. Here’s how to do it:

Open Google Calendar and click the gear icon (⚙️) in the top-right corner, then select Settings.

On the left menu, find Settings for My Calendars, and click on the calendar you want to share.

Scroll down to the section called Share with specific people or groups.

Click Add people and groups, then enter the email address of the person you want to grant access to.

Make sure you grant at least “See all event details” permission so the script can retrieve availability properly.

Once someone shares their calendar with you, it will appear under the “Other calendars” section in Google Calendar.

If the shared calendar doesn’t show up, try the following steps:

  • Click the link in the email notification you received when the calendar was shared with you.
  • Or manually add it by following these steps:
    1. Go to “Other calendars” on the left sidebar
    2. Click the “+” (plus) icon
    3. Select “Subscribe to calendar”
    4. Enter the Calendar ID (usually their email address) and click Add
How to Find Your Google Calendar ID

Open Google Calendar and click the gear icon (⚙️) in the top-right corner, then select Settings.

On the left menu, find Settings for My Calendars, and click on the calendar you want to share.

On the calendar settings page, scroll down to find the Calendar ID section.

The Calendar ID is usually in the format xxx@gmail.com or xxxx@group.calendar.google.com.

STEP
Enter the Date Range for Availability Search

In cells B2 and B3, enter the start date and end date for the period you want to check for availability.

STEP
Specify Daily Time Range (Optional)

In cells B4 and B5, you can define the time range within a day you’d like to check—such as limiting the search to business hours (e.g., 10:00 to 18:00).

This step is optional. If left blank, the script will search for free time across the entire day.

Please enter the time as a text string, such as "10:00" and "18:00".
Avoid entering just numbers or using the spreadsheet’s Time format, as they may not be read correctly by the script.
(The template is pre-configured with the correct format.)

STEP
Set the Time Interval for Availability Slots

In cell B6, enter the time interval in minutes for splitting the availability blocks.

For example:
20 → will display free time slots in 20-minute intervals

STEP
Click the “Check Availability” Button

Once everything is set, click the “Check Availability” button in the sheet.
This will trigger the Google Apps Script (GAS), which scans the specified calendars and retrieves all free time slots within the selected date range.

If you’re running the script for the first time, you need to authorize it.

Therefore, press “Review Permissions.

Detailed Authorization Steps

Press “Advanced.”

Press “Go to Untitled project (Unsafe).”

After that, press “Allow.”

STEP
View the List of Available Time Slots

The sheet will display a list of common free time slots across all selected calendars within the specified date range.

The output shows each date along with the corresponding available time slots, making it easy to schedule meetings or appointments.

Notes & Tips

  • Be careful with all-day events
    If a calendar includes events marked as “All-day”, they may affect the availability calculation.
    Consider switching such events to time-specific ones, or limit the calendars you include in your search.
  • Time range inputs (cells B4 & B5) must be in text format
    When entering the daily time range in B4 and B5, use text strings like “10:00”.
    If you enter time using Google Sheets’ time format, the script may not interpret it correctly and could return inaccurate results.
  • Time interval (cell B6) must be an integer (in minutes)
    Example: 15, 30, etc.

Download the Template Here

This Google Sheets template comes preloaded with all the necessary scripts — ready to use right away.

Why not simplify your workflow and save time on scheduling tasks?

Let's share this post !

Comments

To comment

TOC