Install
openclaw skills install google-calender-matonCreate, update, list, and delete Google Calendar events with full support for attendees, time zones, and Google Meet via Maton API key authentication.
openclaw skills install google-calender-matonAll requests require Maton API key:
-H "Authorization: Bearer $MATON_API_KEY"
Set environment variable:
export MATON_API_KEY="YOUR_API_KEY"
https://gateway.maton.ai/google-calendar/calendar/v3
Always use IANA time zones.
Australia/Melbourne
curl "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events?maxResults=20&singleEvents=true&orderBy=startTime" \
-H "Authorization: Bearer $MATON_API_KEY"
curl -X POST "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"summary": "Team Meeting",
"description": "Weekly sync",
"start": {
"dateTime": "2026-05-22T10:00:00",
"timeZone": "Australia/Melbourne"
},
"end": {
"dateTime": "2026-05-22T11:00:00",
"timeZone": "Australia/Melbourne"
}
}'
curl -X POST "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"summary": "Project Kickoff",
"start": {
"dateTime": "2026-05-22T14:00:00",
"timeZone": "Australia/Melbourne"
},
"end": {
"dateTime": "2026-05-22T15:00:00",
"timeZone": "Australia/Melbourne"
},
"attendees": [
{ "email": "user1@example.com" },
{ "email": "user2@example.com" }
],
"sendUpdates": "all"
}'
curl -X POST "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events?conferenceDataVersion=1" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"summary": "Client Meeting (Google Meet)",
"start": {
"dateTime": "2026-05-23T09:00:00",
"timeZone": "Australia/Melbourne"
},
"end": {
"dateTime": "2026-05-23T10:00:00",
"timeZone": "Australia/Melbourne"
},
"attendees": [
{ "email": "client@example.com" }
],
"conferenceData": {
"createRequest": {
"requestId": "meet-123456",
"conferenceSolutionKey": {
"type": "hangoutsMeet"
}
}
}
}'
curl -X PATCH "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events/{EVENT_ID}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"summary": "Updated Meeting Title",
"description": "Updated agenda"
}'
curl -X PATCH "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events/{EVENT_ID}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"start": {
"dateTime": "2026-05-24T12:00:00",
"timeZone": "Australia/Melbourne"
},
"end": {
"dateTime": "2026-05-24T13:00:00",
"timeZone": "Australia/Melbourne"
}
}'
curl -X PATCH "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events/{EVENT_ID}" \
-H "Authorization: Bearer $MATON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"attendees": [
{ "email": "newuser@example.com" },
{ "email": "existing@example.com" }
],
"sendUpdates": "all"
}'
curl -X DELETE "https://gateway.maton.ai/google-calendar/calendar/v3/calendars/primary/events/{EVENT_ID}" \
-H "Authorization: Bearer $MATON_API_KEY"
{
"summary": "Event Title",
"description": "Optional details",
"start": {
"dateTime": "2026-05-22T10:00:00",
"timeZone": "Australia/Melbourne"
},
"end": {
"dateTime": "2026-05-22T11:00:00",
"timeZone": "Australia/Melbourne"
}
}
PATCH for updatessendUpdates: "all" for invitesconferenceDataVersion=1 for Google Meet