← providers

Google Calendar

Read and manage calendars and events

skill: gcal ↗

Endpoints

Call these through the okoro proxy at https://okoro.ai/p/google-calendar

ActionMethodPathMin scope
List calendarsGETread
Read calendarGETread
List eventsGETread
Read eventGETread
List recurring event instancesGETread
Create eventPOSTread
Quick-add eventPOSTread
Update eventPATCHupdate
Replace eventPUTupdate
Delete eventDELETEdelete
Query free/busyPOSTread

Examples

Every request requires a short-lived operation token scoped to a single action.

1. Get an operation token

Exchange your service token for a short-lived operation token scoped to a single action.

TOKEN=$(curl -sX POST "https://okoro.ai/t/tokens" \
  -H "Authorization: Bearer $OKORO_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider": "google-calendar", "scope": "read", "intent": "describe what you are doing"}' \
  | jq -r '.token')

2. Call the API

Use the operation token as a Bearer token. The proxy forwards the request to Google Calendar and logs the action.

List calendars
curl -X GET "https://okoro.ai/p/google-calendar/v3/users/me/calendarList" \
  -H "Authorization: Bearer $TOKEN"
Read calendar
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}" \
  -H "Authorization: Bearer $TOKEN"
List events
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events" \
  -H "Authorization: Bearer $TOKEN"
Read event
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
  -H "Authorization: Bearer $TOKEN"
List recurring event instances
curl -X GET "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}/instances" \
  -H "Authorization: Bearer $TOKEN"
Create event
curl -X POST "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Quick-add event
curl -X POST "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/quickAdd" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update event
curl -X PATCH "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Replace event
curl -X PUT "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Delete event
curl -X DELETE "https://okoro.ai/p/google-calendar/v3/calendars/{id}/events/{id}" \
  -H "Authorization: Bearer $TOKEN"
Query free/busy
curl -X POST "https://okoro.ai/p/google-calendar/v3/freeBusy" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Scopes

Your service token must be configured with at least the required scope level.

read
GET POST
/v3/calendars/* /v3/calendars/*/events /v3/calendars/*/events/* /v3/calendars/*/events/*/instances /v3/users/me/calendarList /v3/freeBusy
write
GET POST
/v3/calendars/*/events /v3/calendars/*/events/* /v3/calendars/*/events/quickAdd
update
GET POST PUT PATCH
/v3/calendars/*/events /v3/calendars/*/events/* /v3/calendars/*/events/quickAdd
delete
GET POST PUT PATCH DELETE
/v3/calendars/*/events /v3/calendars/*/events/*
all
GET POST PUT PATCH DELETE
/v3/**

Skill

A Claude Code skill for Google Calendar — token caching, scope enforcement, and audit logging built in.

gcal
View the skill, browse files, and get install instructions →