Maton

Google Calendar

Access the Google Calendar API with managed OAuth authentication. Create and manage events, list calendars, and check availability.

Reference

List Calendars

GET /google-calendar/calendar/v3/users/me/calendarList
maton google-calendar calendar list

Get Calendar

GET /google-calendar/calendar/v3/calendars/{calendarId}
maton google-calendar calendar view primary

List Events

GET /google-calendar/calendar/v3/calendars/team@example.com/events?maxResults=10&orderBy=startTime&singleEvents=true

With time bounds:

GET /google-calendar/calendar/v3/calendars/team@example.com/events?timeMin=2024-01-01T00:00:00Z&timeMax=2024-12-31T23:59:59Z&singleEvents=true&orderBy=startTime
maton google-calendar event list -c team@example.com --time-min 2026-06-17T00:00:00Z --time-max 2026-06-18T00:00:00Z

Get Event

GET /google-calendar/calendar/v3/calendars/primary/events/{eventId}
maton google-calendar event view EVENT_ID

Create Event

POST /google-calendar/calendar/v3/calendars/primary/events
Content-Type: application/json

{
  "summary": "Team Meeting",
  "description": "Weekly sync",
  "start": {
    "dateTime": "2024-01-15T10:00:00",
    "timeZone": "America/Los_Angeles"
  },
  "end": {
    "dateTime": "2024-01-15T11:00:00",
    "timeZone": "America/Los_Angeles"
  },
  "attendees": [
    {"email": "attendee@example.com"}
  ]
}
maton google-calendar event create --summary 'Team Meeting' --description 'Weekly sync' --start 2024-01-15T10:00:00-08:00 --end 2024-01-15T11:00:00-08:00 --attendee attendee@example.com

Create All-Day Event

POST /google-calendar/calendar/v3/calendars/primary/events
Content-Type: application/json

{
  "summary": "All Day Event",
  "start": {"date": "2024-01-15"},
  "end": {"date": "2024-01-16"}
}

Update Event

PUT /google-calendar/calendar/v3/calendars/primary/events/{eventId}
Content-Type: application/json

{
  "summary": "Updated Meeting Title",
  "start": {"dateTime": "2024-01-15T10:00:00Z"},
  "end": {"dateTime": "2024-01-15T11:00:00Z"}
}
maton google-calendar event update EVENT_ID --summary 'Updated Meeting Title' --start 2024-01-15T10:00:00Z --end 2024-01-15T11:00:00Z

Patch Event (partial update)

PATCH /google-calendar/calendar/v3/calendars/primary/events/{eventId}
Content-Type: application/json

{
  "summary": "New Title Only"
}
maton google-calendar event update EVENT_ID --summary 'New Title Only'

Delete Event

DELETE /google-calendar/calendar/v3/calendars/primary/events/{eventId}
maton google-calendar event delete EVENT_ID

Quick Add Event (natural language)

POST /google-calendar/calendar/v3/calendars/primary/events/quickAdd?text=Meeting+with+John+tomorrow+at+3pm
maton google-calendar event quick-add --text 'Meeting with John tomorrow at 3pm'

Free/Busy Query

POST /google-calendar/calendar/v3/freeBusy
Content-Type: application/json

{
  "timeMin": "2024-01-15T00:00:00Z",
  "timeMax": "2024-01-16T00:00:00Z",
  "items": [{"id": "primary"}]
}
maton google-calendar freebusy query --time-min 2024-01-15T00:00:00Z --time-max 2024-01-16T00:00:00Z

Resources

On this page