Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aws-samples avatar

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)
At a glance

google-calendar capabilities & compatibility

Capabilities
event scheduling · availability check
Use cases
project management
Pricing
Free
From the docs

What google-calendar says it does

View, create, update, and delete calendar events
SKILL.md
npx skills add https://github.com/aws-samples/sample-strands-agent-with-agentcore --skill google-calendar

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs42
repo stars186
Last updatedAugust 4, 2026
Repositoryaws-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

SKILL.mdMarkdownGitHub ↗

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 ID
  • max_results (integer, optional, default: 10, max: 100): Maximum events
  • time_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 format
  • query (string, optional): Free text search
  • show_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 title
  • start_time (string, required): RFC3339 format (e.g., "2024-01-15T09:00:00") or date "YYYY-MM-DD" for all-day
  • end_time (string, required): RFC3339 format or date for all-day
  • calendar_id (string, optional, default: "primary")
  • description (string, optional): Event description/notes
  • location (string, optional): Event location
  • attendees (string, optional): Comma-separated email addresses
  • timezone (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 format
  • time_max (string, required): End of range in RFC3339 format
  • calendars (string, optional): Comma-separated calendar IDs (default: primary)
  • timezone (string, optional, default: "UTC")

Usage Guidelines

  • Time format: RFC3339 — 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 with all_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'.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.