| name | calendar-meeting-booker |
| description | Check Google Calendar availability and book meetings — find slots across time zones, send invites, hold prep time. Use on "find time with X", "book a demo", "check my availability next week". |
| allowed-tools | ["Bash","Read","Write","AskUserQuestion"] |
Google Calendar Meeting Booker
Check availability and create events via Composio Google Calendar.
Workflow
- Clarify the meeting. Ask: attendees (emails), duration, window (e.g., "next Tue–Thu, 9-5 PT"), topic.
- Link calendar:
composio link googlecalendar
- Check free/busy for all attendees in the window:
composio execute GOOGLECALENDAR_FREE_BUSY_QUERY -d '{
"time_min": "2026-04-21T09:00:00-07:00",
"time_max": "2026-04-24T17:00:00-07:00",
"items": [{"id": "me"}, {"id": "jane@acme.com"}]
}'
- Propose 3 slots that clear everyone's calendar and respect working hours.
- On user confirmation, create the event:
composio execute GOOGLECALENDAR_CREATE_EVENT -d '{
"summary": "Acme ↔ Us — Demo",
"start_datetime": "2026-04-22T14:00:00-07:00",
"end_datetime": "2026-04-22T14:30:00-07:00",
"attendees": ["jane@acme.com"],
"description": "<agenda + call link>",
"send_updates": "all"
}'
- Optionally hold 15 min prep right before on the organizer's calendar.
Invite body template
Hi Jane —
Quick 30 min to walk through <topic>. I'll share screen from my side.
Agenda:
· <problem we discussed>
· <demo of X>
· Q&A + next steps
— <You>
Guardrails
- Never double-book across existing events without asking.
- Respect working hours (default 9am–6pm local to organizer) unless user overrides.
- Time zones: always echo back the proposed slot in every attendee's tz before booking.
- For external invites, default
send_updates: "all". For internal-only, "externalOnly" is often better.