| name | google-calendar |
| version | 1.0.0 |
| description | List, create, update, and delete Google Calendar events via the Calendar API v3. |
| author | ZeptoClaw |
| license | MIT |
| tags | ["google","calendar","productivity","scheduling"] |
| env_needed | [{"name":"GOOGLE_ACCESS_TOKEN","description":"OAuth2 access token (use `gcloud auth print-access-token` or OAuth flow)","required":true},{"name":"CALENDAR_ID","description":"Calendar ID (default \"primary\" for your main calendar)","required":false}] |
| metadata | {"zeptoclaw":{"emoji":"📅","requires":{"anyBins":["curl","jq"]}}} |
Google Calendar Skill
Manage Google Calendar events — list upcoming, create, update, and delete events using the Calendar API v3.
Setup
- Create a project at console.cloud.google.com
- Enable the Google Calendar API
- Create OAuth 2.0 credentials or use a service account
- Get an access token:
export GOOGLE_ACCESS_TOKEN=$(gcloud auth print-access-token)
export GOOGLE_ACCESS_TOKEN="ya29.xxx..."
export CALENDAR_ID="primary"
List Upcoming Events
curl -s "https://www.googleapis.com/calendar/v3/calendars/${CALENDAR_ID:-primary}/events?maxResults=10&orderBy=startTime&singleEvents=true&timeMin=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-H "Authorization: Bearer $GOOGLE_ACCESS_TOKEN" \
| jq '.items[] | {summary, start: .start.dateTime, end: .end.dateTime, id}'
Create an Event
curl -s -X POST "https://www.googleapis.com/calendar/v3/calendars/${CALENDAR_ID:-primary}/events" \
-H "Authorization: Bearer $GOOGLE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"summary": "Team Standup",
"start": {"dateTime": "2026-03-01T09:00:00+08:00"},
"end": {"dateTime": "2026-03-01T09:30:00+08:00"},
"description": "Daily standup meeting",
"location": "Google Meet"
}' | jq '{id, summary, htmlLink}'
Update an Event
EVENT_ID="event-id-from-list"
curl -s -X PATCH "https://www.googleapis.com/calendar/v3/calendars/${CALENDAR_ID:-primary}/events/$EVENT_ID" \
-H "Authorization: Bearer " \
-H \
-d | jq