Loading...
Loading...
Manage Google Calendar events and calendars. List, create, update, and delete events, check availability, and organize schedules. Use when working with Google Calendar management.
npx skill4agent add odyssey4me/agent-skills google-calendarpip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyamlpython scripts/google-calendar.py check~/.config/agent-skills/google.yamloauth_client:
client_id: your-client-id.apps.googleusercontent.com
client_secret: your-client-secretpython scripts/google-calendar.py check| Scope | Permission | Used For |
|---|---|---|
| Read calendars and events | list, get events |
| Create/edit/delete events | create, update, delete |
keyring del agent-skills google-calendar-token-jsonpython scripts/google-calendar.py checkpython scripts/google-calendar.py checkpython scripts/google-calendar.py auth setup \
--client-id YOUR_CLIENT_ID \
--client-secret YOUR_CLIENT_SECRET~/.config/agent-skills/google-calendar.yaml# List calendars
python scripts/google-calendar.py calendars list
# Output as JSON
python scripts/google-calendar.py calendars list --json--json# Get primary calendar
python scripts/google-calendar.py calendars get primary
# Get specific calendar by ID
python scripts/google-calendar.py calendars get CALENDAR_ID
# Output as JSON
python scripts/google-calendar.py calendars get primary --jsoncalendar_id--json# List upcoming events
python scripts/google-calendar.py events list
# List events in specific time range
python scripts/google-calendar.py events list \
--time-min "2026-01-24T00:00:00Z" \
--time-max "2026-01-31T23:59:59Z"
# List events from specific calendar
python scripts/google-calendar.py events list --calendar CALENDAR_ID
# Search events
python scripts/google-calendar.py events list --query "meeting"
# List with custom max results
python scripts/google-calendar.py events list --max-results 20
# Output as JSON
python scripts/google-calendar.py events list --json--calendar--time-min--time-max--max-results--query--json2026-01-24T10:00:00Z2026-01-24T10:00:00-05:002026-01-24# Get event from primary calendar
python scripts/google-calendar.py events get EVENT_ID
# Get event from specific calendar
python scripts/google-calendar.py events get EVENT_ID --calendar CALENDAR_ID
# Output as JSON
python scripts/google-calendar.py events get EVENT_ID --jsonevent_id--calendar--json# Create simple event with time
python scripts/google-calendar.py events create \
--summary "Team Meeting" \
--start "2026-01-24T10:00:00-05:00" \
--end "2026-01-24T11:00:00-05:00"
# Create all-day event
python scripts/google-calendar.py events create \
--summary "Conference" \
--start "2026-01-24" \
--end "2026-01-25" \
--timezone "America/New_York"
# Create event with details
python scripts/google-calendar.py events create \
--summary "Project Review" \
--start "2026-01-24T14:00:00Z" \
--end "2026-01-24T15:00:00Z" \
--description "Quarterly project review meeting" \
--location "Conference Room A" \
--attendees "alice@example.com,bob@example.com"
# Create on specific calendar
python scripts/google-calendar.py events create \
--calendar CALENDAR_ID \
--summary "Event" \
--start "2026-01-24T10:00:00Z" \
--end "2026-01-24T11:00:00Z"
# Output as JSON
python scripts/google-calendar.py events create \
--summary "Meeting" \
--start "2026-01-24T10:00:00Z" \
--end "2026-01-24T11:00:00Z" \
--json--summary--start--end--calendar--description--location--attendees--timezone--json# Update event summary
python scripts/google-calendar.py events update EVENT_ID \
--summary "Updated Meeting Title"
# Update event time
python scripts/google-calendar.py events update EVENT_ID \
--start "2026-01-24T15:00:00Z" \
--end "2026-01-24T16:00:00Z"
# Update multiple fields
python scripts/google-calendar.py events update EVENT_ID \
--summary "Project Sync" \
--location "Room B" \
--description "Updated agenda"
# Update event on specific calendar
python scripts/google-calendar.py events update EVENT_ID \
--calendar CALENDAR_ID \
--summary "New Title"
# Output as JSON
python scripts/google-calendar.py events update EVENT_ID \
--summary "Meeting" \
--jsonevent_id--calendar--summary--start--end--description--location--json# Delete event from primary calendar
python scripts/google-calendar.py events delete EVENT_ID
# Delete event from specific calendar
python scripts/google-calendar.py events delete EVENT_ID --calendar CALENDAR_IDevent_id--calendar--json# Check availability for primary calendar
python scripts/google-calendar.py freebusy \
--start "2026-01-24T00:00:00Z" \
--end "2026-01-25T00:00:00Z"
# Check multiple calendars
python scripts/google-calendar.py freebusy \
--start "2026-01-24T08:00:00Z" \
--end "2026-01-24T17:00:00Z" \
--calendars "primary,calendar1@example.com,calendar2@example.com"
# Output as JSON
python scripts/google-calendar.py freebusy \
--start "2026-01-24T00:00:00Z" \
--end "2026-01-25T00:00:00Z" \
--json--start--end--calendars--jsonpython scripts/google-calendar.py check# Next 10 events
python scripts/google-calendar.py events list
# This week's events
python scripts/google-calendar.py events list \
--time-min "2026-01-24T00:00:00Z" \
--time-max "2026-01-31T23:59:59Z"python scripts/google-calendar.py events create \
--summary "Team Standup" \
--start "2026-01-25T09:00:00-05:00" \
--end "2026-01-25T09:30:00-05:00" \
--location "Zoom" \
--attendees "team@example.com"python scripts/google-calendar.py events create \
--summary "Company Holiday" \
--start "2026-12-25" \
--end "2026-12-26" \
--timezone "America/New_York"python scripts/google-calendar.py events update EVENT_ID \
--start "2026-01-24T14:00:00Z" \
--end "2026-01-24T15:00:00Z"python scripts/google-calendar.py freebusy \
--start "2026-01-24T08:00:00-05:00" \
--end "2026-01-24T17:00:00-05:00" \
--calendars "primary,colleague@example.com"python scripts/google-calendar.py events list --query "project review"python scripts/google-calendar.py events delete EVENT_ID2026-01-24T10:00:00-05:00 # 10 AM EST
2026-01-24T10:00:00Z # 10 AM UTC
2026-01-24T10:00:00+01:00 # 10 AM CET2026-01-24 # All day on January 24, 2026--timezonepython scripts/google-calendar.py check~/.config/agent-skills/google.yamlkeyring del agent-skills google-calendar-token-json
python scripts/google-calendar.py checkpip install --user google-auth google-auth-oauthlib google-api-python-client keyring pyyaml--timezonehttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events~/.config/agent-skills/google-calendar.yaml