
Google Calendar
- 42 installs
- 186 repo stars
- Updated August 4, 2026
- aws-samples/sample-strands-agent-with-agentcore
google-calendar is a Claude skill that views, creates, updates, and deletes Google Calendar events with attendees, reminders, and free/busy checks.
About
This skill connects an agent to Google Calendar to list, create, update, and delete events across a user's calendars. It supports attendees, reminders, timezones, all-day events, and free/busy availability checks. A developer uses it when an assistant needs to schedule or reschedule meetings. A quick_add_event tool accepts natural-language event descriptions.
- Views, creates, updates, and deletes Google Calendar events
- Supports attendees, reminders, timezones, and all-day events
- check_availability queries free/busy before scheduling; quick_add_event parses natural language
Google Calendar by the numbers
- 42 all-time installs (skills.sh)
- Ranked #1,132 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
google-calendar capabilities & compatibility
- Capabilities
- event scheduling · availability check
- Use cases
- project management
- Pricing
- Free
What google-calendar says it does
View, create, update, and delete calendar events
npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill google-calendarAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 42 |
|---|---|
| repo stars | ★ 186 |
| Last updated | August 4, 2026 |
| Repository | aws-samples/sample-strands-agent-with-agentcore ↗ |
What it does
Let an agent view, create, update, and delete Google Calendar events and check availability before scheduling.
Who is it for?
Scheduling, rescheduling, and checking availability of Google Calendar events from an agent.
Skip if: Non-Google calendars or email management.
When should I use this skill?
The user asks to view, create, update, or delete a calendar event or check availability.
What you get
Calendar events created, updated, or deleted and free/busy availability checked before booking.
By the numbers
- 8 calendar tools
- list_events max 100 events
Files
Google Calendar
Available Tools
- list_calendars(): List all user's calendars (primary, shared, subscribed).
- list_events(calendar_id?, max_results?, time_min?, time_max?, query?, show_deleted?): List calendar events.
calendar_id(string, optional, default: "primary"): Calendar IDmax_results(integer, optional, default: 10, max: 100): Maximum eventstime_min(string, optional, default: now): Start time in RFC3339 format (e.g., "2024-01-01T00:00:00Z")time_max(string, optional): End time in RFC3339 formatquery(string, optional): Free text searchshow_deleted(boolean, optional, default: false): Include deleted events
- get_event(event_id, calendar_id?): Get detailed information about a specific event.
event_id(string, required): Event ID (from list_events)calendar_id(string, optional, default: "primary")
- create_event(summary, start_time, end_time, calendar_id?, description?, location?, attendees?, timezone?, all_day?, reminder_minutes?): Create a new event.
summary(string, required): Event titlestart_time(string, required): RFC3339 format (e.g., "2024-01-15T09:00:00") or date "YYYY-MM-DD" for all-dayend_time(string, required): RFC3339 format or date for all-daycalendar_id(string, optional, default: "primary")description(string, optional): Event description/noteslocation(string, optional): Event locationattendees(string, optional): Comma-separated email addressestimezone(string, optional, default: "UTC"): Timezone (e.g., "Asia/Seoul", "America/New_York")all_day(boolean, optional, default: false): Create all-day event (use YYYY-MM-DD for times)reminder_minutes(string, optional): Comma-separated reminder times in minutes (e.g., "10,30,60")
- update_event(event_id, calendar_id?, summary?, start_time?, end_time?, description?, location?, attendees?, timezone?): Update an existing event. Only specified fields are changed.
event_id(string, required)calendar_id(string, optional, default: "primary")- Other parameters are optional — only provide fields to change
- delete_event(event_id, calendar_id?, send_notifications?): Delete an event.
event_id(string, required)calendar_id(string, optional, default: "primary")send_notifications(boolean, optional, default: false): Send cancellation to attendees
- quick_add_event(text, calendar_id?): Create event from natural language text.
text(string, required): Natural language description (e.g., "Meeting with John tomorrow at 3pm", "Team standup every Monday at 9am")calendar_id(string, optional, default: "primary")
- check_availability(time_min, time_max, calendars?, timezone?): Check free/busy status.
time_min(string, required): Start of range in RFC3339 formattime_max(string, required): End of range in RFC3339 formatcalendars(string, optional): Comma-separated calendar IDs (default: primary)timezone(string, optional, default: "UTC")
Usage Guidelines
- Time format: RFC3339 —
2024-01-15T09:00:00Z(UTC) or2024-01-15T09:00:00+09:00(with timezone). - All-day events: use date format
YYYY-MM-DDwithall_day=true. - Default calendar is
"primary".
Common Operations
Schedule a meeting: Use create_event with attendees parameter for full control over time, description, and reminders.
Find available time: Call check_availability with the relevant calendar IDs and time range before creating events to avoid conflicts.
Quick scheduling: quick_add_event accepts natural language (e.g., "Lunch with Sarah tomorrow at noon"). Convenient but less precise than create_event.
Reschedule: Use update_event with new start_time and end_time. Only the fields you provide will be changed.
UI Guidance (from tools-config)
Google Calendar Tool Usage:
- list_calendars: Get all user's calendars (primary, shared, subscribed)
- list_events: List upcoming events with date range filters and search
- get_event: Get detailed event information
- create_event: Create new calendar events with attendees and reminders
- update_event: Modify existing events (time, title, description, attendees)
- delete_event: Remove events with optional notification to attendees
- quick_add_event: Create event from natural language (e.g., 'Meeting with John tomorrow at 3pm')
- check_availability: Query free/busy status for scheduling
Time Format:
- RFC3339 format: 2024-01-15T09:00:00Z (UTC) or 2024-01-15T09:00:00+09:00 (with timezone)
- All-day events: use date format YYYY-MM-DD
Common Operations:
- Schedule meeting: create_event with attendees parameter
- Find available time: check_availability before creating events
- Quick scheduling: quick_add_event for natural language input
- Reschedule: update_event with new start_time and end_time
Related skills
FAQ
Can it avoid scheduling conflicts?
Yes, check_availability queries free/busy status across calendars before creating events.
Does it support natural language?
Yes, quick_add_event creates an event from text like 'Meeting with John tomorrow at 3pm'.