Google Calendar Availability Finder
Finds mutual free times across multiple Google Calendar users and proposes meeting slots. Generates scheduling links or draft calendar invites. Prerequisites: gcalcli, gcloud, curl, jq.
MCP get_skill({ skillId: "google-calendar-availability-finder-ee530bd6" })Use this skill with your agent
Create a free account and connect via MCP
# Google Calendar Availability Finder
Find free time slots in your calendar (and optionally check others' availability), then propose meeting times or generate scheduling suggestions.
## When to Use
- "Find a free slot for a 1-hour meeting this week"
- "When can I meet with Sarah and John next week?"
- "Propose 3 meeting times for a client call"
## Requirements
- **gcalcli** or **Google Cloud CLI** with Calendar API
- OAuth scopes: `calendar.readonly`, `calendar.freebusy`
- `jq` for JSON parsing
## Workflow
### Step 1 — Define Constraints
Collect from user:
- **Duration** — how long is the meeting? (default: 30 min)
- **Date range** — this week, next week, specific dates
- **Working hours** — default 09:00-17:00 (user's timezone)
- **Attendees** — email addresses to check (optional)
- **Preferences** — morning preferred, avoid Fridays, etc.
### Step 2 — Check Your Calendar
```bash
# Fetch your events for the date range
gcalcli agenda "{START_DATE}" "{END_DATE}" --tsv
# Or via API for precise busy/free data
ACCESS_TOKEN=$(gcloud auth print-access-token)
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"timeMin": "{START_ISO}",
"timeMax": "{END_ISO}",
"timeZone": "America/New_York",
"items": [{"id": "primary"}]
}' \
"https://www.googleapis.com/calendar/v3/freeBusy" | \
jq '.calendars.primary.busy'
```
### Step 3 — Check Others' Availability (if attendees provided)
```bash
# FreeBusy query for multiple attendees
curl -s -X POST -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"timeMin": "{START_ISO}",
"timeMax": "{END_ISO}",
"timeZone": "America/New_York",
"items": [
{"id": "primary"},
{"id": "sarah@company.com"},
{"id": "john@company.com"}
]
}' \
"https://www.googleapis.com/calendar/v3/freeBusy" | jq '.calendars'
```
Note: FreeBusy only works for users in the same Google Workspace domain or with shared calendars.
### Step 4 — Calculate Free Slots
Algorithm:
1. Start with all working hours as available
2. Subtract busy blocks from each person's calendar
3. Find intersections where ALL attendees are free
4. Filter by user preferences (morning, avoid Friday, etc.)
5. Sort by proximity (sooner is better) and quality (longer buffer before/after)
### Step 5 — Present Options
```markdown
## Available Meeting Slots (1 hour)
| # | Date | Time | Buffer Before | Buffer After |
|---|------|------|---------------|-------------|
| 1 | Tue, Apr 1 | 10:00 - 11:00 | 30 min | 1 hour |
| 2 | Wed, Apr 2 | 14:00 - 15:00 | 2 hours | 2 hours |
| 3 | Thu, Apr 3 | 09:00 - 10:00 | Start of day | 30 min |
Recommended: **Option 2** — best buffer time around the meeting.
```
### Step 6 — Create Calendar Event
If user picks a slot, create the event (use the Google Calendar Event Creator skill) or offer to draft a scheduling email:
```
"Hi Sarah and John, how does Wednesday Apr 2 at 2pm ET work for a 1-hour sync? If not, I also have Tue 10am or Thu 9am available."
```
## Important Rules
- Respect working hours — never suggest before 9am or after 5pm unless user says so
- Always include timezone in suggestions
- FreeBusy API may not work across orgs — note this limitation
- Suggest 3 options minimum when possible
## Example Prompts
- "Find a 30-minute slot for me and sarah@company.com this week"
- "When am I free for a 2-hour focus block next week?"
- "Propose 3 meeting times for a client call Tue-Thu"Related Skills
More skills in Calendar & Scheduling
Google Calendar Daily Planner
Pulls today's or tomorrow's Google Calendar events via gcalcli, analyzes meeting density, identifies focus blocks, and generates a time-blocked daily plan. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Event Creator
Creates Google Calendar events from natural language descriptions using gcalcli or Calendar API. Handles recurring events, attendees, reminders, and conference links. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Meeting Prep
Pulls upcoming meeting details from Google Calendar, researches attendees and topics via Brave Search, and generates a meeting prep brief with talking points. Prerequisites: gcalcli, gcloud, curl, jq, brave-search MCP.
Google Calendar Weekly Review
Generates a weekly calendar review: time spent in meetings vs focus work, meeting categories, overload analysis, and improvement recommendations. Prerequisites: gcalcli, gcloud, curl, jq.
Explore Other Categories
Skills from other categories with shared topics
Get Available Resources
This skill should be used at the start of any computationally intensive scientific task to detect and report available system resources (CPU cores, GPUs, memory, disk space). It creates a JSON file with resource information and strategic recommendations that inform computational approach decisions such as whether to use parallel processing (joblib, multiprocessing), out-of-core computing (Dask, Zarr), GPU acceleration (PyTorch, JAX), or memory-efficient strategies. Use this skill before running analyses, training models, processing large datasets, or any task where resource constraints matter.
Home Maintenance Scheduler
Creates a seasonal home maintenance calendar with tasks, frequencies, and cost estimates. Researches local service providers via Brave Search and generates a trackable checklist. Prerequisites: brave-search MCP, python3.
Parent Helper
Family coordination engine. Use this skill whenever the user mentions meals, meal planning, groceries, weekly schedule, family logistics, kid activities, custody schedule, co-parent coordination, family dashboard, weekly briefing, weekly prep, "what's for dinner", school events, pickup/dropoff, babysitter, pediatric nutrition, grocery list, grocery cart, "load the cart", "load the carts", "bargain hunt", "find the deals", "compare prices", "price check", "smart split", "save money on groceries", family calendar review, or anything involving coordinating schedules and meals for a family. Also trigger when the user says "parent helper", "family mode", "week ahead", or "plan the week". Trigger on local event queries: "what's going on", "things to do", "events this weekend", "anything happening", "stuff to do", "what can we do with the kids", "family stuff this weekend". This skill is the central hub — if it touches the family schedule, the family's food, or local family-friendly events, it belongs here.