name: gws-calendar description: View, create, update, and delete Google Calendar events across all connected accounts. Find free time for meetings. command: /gws-calendar verified: true
Google Calendar Skill
Overview
This skill guides you in using the google_calendar MCP tool to manage calendar events across all connected Google accounts.
Available Subcommands
| Subcommand | Description |
|---|---|
list |
List upcoming events (defaults to next 7 days). |
get <eventId> |
Get details of a specific event. |
create |
Create a new calendar event. |
update <eventId> |
Update an existing event. |
delete <eventId> |
Delete an event. |
rsvp <eventId> |
Accept, decline, or tentatively accept an event. |
free-time |
Find available meeting slots across all connected calendars. |
Account Routing
- Reads (list, get, free-time): Omit
accountto query all accounts simultaneously. - Writes (create, update, delete, rsvp): You must specify
account. Ask the user if unclear.
google_calendar(command: "list") // all accounts
google_calendar(command: "free-time --duration 60") // all accounts
google_calendar(command: "create --title 'Team Sync'", account: "Work")
Key Flags
| Flag | Description |
|---|---|
--start <datetime> |
Start time in ISO 8601 format |
--end <datetime> |
End time in ISO 8601 format |
--days <n> |
Number of days to look ahead (list only, default: 7) |
--title <text> |
Event title |
--description <text> |
Event description |
--location <text> |
Event location |
--attendees <emails> |
Comma-separated attendee emails |
--duration <minutes> |
Required slot duration in minutes (free-time only) |
--response <r> |
RSVP response: accepted / declined / tentative |
Workflow: Scheduling a Meeting
- Find free time:
google_calendar(command: "free-time --duration 60 --days 5") - Confirm a slot with the user.
- Create the event:
google_calendar(command: "create --title 'Meeting' --start '2026-04-15T14:00:00' --end '2026-04-15T15:00:00' --attendees 'alice@example.com'", account: "Work")
Free-Time Algorithm
free-time fetches events from all connected accounts, merges overlapping busy intervals, and returns up to 10 available slots of at least the requested duration within the search window.
Error Handling
- If no accounts are connected, direct user to Settings → Integrations.
- If
accountis required but not specified, ask the user which account to use before proceeding.