> **recipe-find-free-time** — skill 75 of 95 in [googleworkspace/cli](https://skillsdocs.com/googleworkspace/cli).
>
> Book (all skills, one file): https://skillsdocs.com/googleworkspace/cli.md
> Machine manifest: https://skillsdocs.com/googleworkspace/cli/.well-known/agent-skills/index.json
> Install the book: `npx skills add googleworkspace/cli`
> Upstream: https://github.com/googleworkspace/cli/blob/main/skills/recipe-find-free-time/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-find-free-time/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/googleworkspace/cli/main/skills/recipe-find-free-time/
> Licence: Apache-2.0 — https://spdx.org/licenses/Apache-2.0.html
>
> Content © its authors, served unmodified. Takedown: https://github.com/DreambaseAI/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: recipe-find-free-time
description: "Query Google Calendar free/busy status for multiple users to find a meeting slot."
metadata:
  version: 0.22.5
  openclaw:
    category: "recipe"
    domain: "scheduling"
    requires:
      bins:
        - gws
      skills:
        - gws-calendar
---

# Find Free Time Across Calendars

> **PREREQUISITE:** Load the following skills to execute this recipe: `gws-calendar`

Query Google Calendar free/busy status for multiple users to find a meeting slot.

## Steps

1. Query free/busy: `gws calendar freebusy query --json '{"timeMin": "2024-03-18T08:00:00Z", "timeMax": "2024-03-18T18:00:00Z", "items": [{"id": "user1@company.com"}, {"id": "user2@company.com"}]}'`
2. Review the output to find overlapping free slots
3. Create event in the free slot: `gws calendar +insert --summary 'Meeting' --attendee user1@company.com --attendee user2@company.com --start '2024-03-18T14:00:00' --end '2024-03-18T14:30:00'`
