productivity
Google Calendar Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Google Calendar KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.google_calendar.*.
Use lua_read_doc("integrations.google-calendar") inside KosmoKrator to discover the same reference at runtime.
Call Lua from the Headless CLI
Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic
Google Calendar workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.google_calendar.settings_get({}))' --json kosmo integrations:lua --eval 'print(docs.read("google-calendar"))' --json
kosmo integrations:lua --eval 'print(docs.read("google-calendar.settings_get"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local google_calendar = app.integrations.google_calendar
local result = google_calendar.settings_get({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.google_calendar, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.google_calendar.default.* or app.integrations.google_calendar.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Google Calendar, use the narrower mcp:lua command.
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json Agent-Facing Lua Docs
This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.
Google Calendar
Google Calendar tools are exposed under app.integrations.google_calendar. This package is generated from Google’s official Calendar API v3 Discovery document and exposes 37 REST methods.
Coverage
- Source:
https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest - Read tools: 11
- Write tools: 26
- Base URL:
https://www.googleapis.com/calendar/v3
Usage Notes
Pass path parameters such as calendarId, eventId, ruleId, or setting as top-level arguments. Query parameters can be passed either as top-level shortcut arguments or inside query. Methods that create, update, patch, watch, import, or query resources accept the official JSON request object inside body.
Google Calendar supports special calendar IDs such as primary, user email addresses, and opaque calendar IDs. Event methods use the official event ID from Calendar, not an iCal UID unless the upstream method explicitly documents that behavior. Repeated query parameters such as eventTypes can be passed as arrays.
Tools
google_calendar_settings_get- GET /users/me/settings/{setting}google_calendar_settings_list- GET /users/me/settingsgoogle_calendar_settings_watch- POST /users/me/settings/watchgoogle_calendar_calendars_insert- POST /calendarsgoogle_calendar_calendars_get- GET /calendars/{calendarId}google_calendar_calendars_patch- PATCH /calendars/{calendarId}google_calendar_calendars_update- PUT /calendars/{calendarId}google_calendar_calendars_delete- DELETE /calendars/{calendarId}google_calendar_calendars_clear- POST /calendars/{calendarId}/cleargoogle_calendar_colors_get- GET /colorsgoogle_calendar_calendar_list_get- GET /users/me/calendarList/{calendarId}google_calendar_calendar_list_watch- POST /users/me/calendarList/watchgoogle_calendar_calendar_list_insert- POST /users/me/calendarListgoogle_calendar_calendar_list_list- GET /users/me/calendarListgoogle_calendar_calendar_list_delete- DELETE /users/me/calendarList/{calendarId}google_calendar_calendar_list_update- PUT /users/me/calendarList/{calendarId}google_calendar_calendar_list_patch- PATCH /users/me/calendarList/{calendarId}google_calendar_channels_stop- POST /channels/stopgoogle_calendar_events_move- POST /calendars/{calendarId}/events/{eventId}/movegoogle_calendar_events_watch- POST /calendars/{calendarId}/events/watchgoogle_calendar_events_delete- DELETE /calendars/{calendarId}/events/{eventId}google_calendar_events_import- POST /calendars/{calendarId}/events/importgoogle_calendar_events_insert- POST /calendars/{calendarId}/eventsgoogle_calendar_events_quick_add- POST /calendars/{calendarId}/events/quickAddgoogle_calendar_events_get- GET /calendars/{calendarId}/events/{eventId}google_calendar_events_patch- PATCH /calendars/{calendarId}/events/{eventId}google_calendar_events_instances- GET /calendars/{calendarId}/events/{eventId}/instancesgoogle_calendar_events_update- PUT /calendars/{calendarId}/events/{eventId}google_calendar_events_list- GET /calendars/{calendarId}/eventsgoogle_calendar_acl_delete- DELETE /calendars/{calendarId}/acl/{ruleId}google_calendar_acl_list- GET /calendars/{calendarId}/aclgoogle_calendar_acl_patch- PATCH /calendars/{calendarId}/acl/{ruleId}google_calendar_acl_update- PUT /calendars/{calendarId}/acl/{ruleId}google_calendar_acl_get- GET /calendars/{calendarId}/acl/{ruleId}google_calendar_acl_watch- POST /calendars/{calendarId}/acl/watchgoogle_calendar_acl_insert- POST /calendars/{calendarId}/aclgoogle_calendar_freebusy_query- POST /freeBusy
Examples
local events = app.integrations.google_calendar.google_calendar_events_list({
calendarId = "primary",
timeMin = "2026-05-01T00:00:00Z",
singleEvents = true,
orderBy = "startTime"
})
local created = app.integrations.google_calendar.google_calendar_events_insert({
calendarId = "primary",
body = {
summary = "Planning session",
start = { dateTime = "2026-05-06T14:00:00Z" },
end = { dateTime = "2026-05-06T14:30:00Z" }
}
})
Responses are decoded Google Calendar JSON responses, or { success = true, status = ... } for successful empty responses such as deletes and clears.
Raw agent markdown
# Google Calendar
Google Calendar tools are exposed under `app.integrations.google_calendar`. This package is generated from Google's official Calendar API v3 Discovery document and exposes 37 REST methods.
## Coverage
- Source: `https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest`
- Read tools: 11
- Write tools: 26
- Base URL: `https://www.googleapis.com/calendar/v3`
## Usage Notes
Pass path parameters such as `calendarId`, `eventId`, `ruleId`, or `setting` as top-level arguments. Query parameters can be passed either as top-level shortcut arguments or inside `query`. Methods that create, update, patch, watch, import, or query resources accept the official JSON request object inside `body`.
Google Calendar supports special calendar IDs such as `primary`, user email addresses, and opaque calendar IDs. Event methods use the official event ID from Calendar, not an iCal UID unless the upstream method explicitly documents that behavior. Repeated query parameters such as `eventTypes` can be passed as arrays.
## Tools
- `google_calendar_settings_get` - GET /users/me/settings/{setting}
- `google_calendar_settings_list` - GET /users/me/settings
- `google_calendar_settings_watch` - POST /users/me/settings/watch
- `google_calendar_calendars_insert` - POST /calendars
- `google_calendar_calendars_get` - GET /calendars/{calendarId}
- `google_calendar_calendars_patch` - PATCH /calendars/{calendarId}
- `google_calendar_calendars_update` - PUT /calendars/{calendarId}
- `google_calendar_calendars_delete` - DELETE /calendars/{calendarId}
- `google_calendar_calendars_clear` - POST /calendars/{calendarId}/clear
- `google_calendar_colors_get` - GET /colors
- `google_calendar_calendar_list_get` - GET /users/me/calendarList/{calendarId}
- `google_calendar_calendar_list_watch` - POST /users/me/calendarList/watch
- `google_calendar_calendar_list_insert` - POST /users/me/calendarList
- `google_calendar_calendar_list_list` - GET /users/me/calendarList
- `google_calendar_calendar_list_delete` - DELETE /users/me/calendarList/{calendarId}
- `google_calendar_calendar_list_update` - PUT /users/me/calendarList/{calendarId}
- `google_calendar_calendar_list_patch` - PATCH /users/me/calendarList/{calendarId}
- `google_calendar_channels_stop` - POST /channels/stop
- `google_calendar_events_move` - POST /calendars/{calendarId}/events/{eventId}/move
- `google_calendar_events_watch` - POST /calendars/{calendarId}/events/watch
- `google_calendar_events_delete` - DELETE /calendars/{calendarId}/events/{eventId}
- `google_calendar_events_import` - POST /calendars/{calendarId}/events/import
- `google_calendar_events_insert` - POST /calendars/{calendarId}/events
- `google_calendar_events_quick_add` - POST /calendars/{calendarId}/events/quickAdd
- `google_calendar_events_get` - GET /calendars/{calendarId}/events/{eventId}
- `google_calendar_events_patch` - PATCH /calendars/{calendarId}/events/{eventId}
- `google_calendar_events_instances` - GET /calendars/{calendarId}/events/{eventId}/instances
- `google_calendar_events_update` - PUT /calendars/{calendarId}/events/{eventId}
- `google_calendar_events_list` - GET /calendars/{calendarId}/events
- `google_calendar_acl_delete` - DELETE /calendars/{calendarId}/acl/{ruleId}
- `google_calendar_acl_list` - GET /calendars/{calendarId}/acl
- `google_calendar_acl_patch` - PATCH /calendars/{calendarId}/acl/{ruleId}
- `google_calendar_acl_update` - PUT /calendars/{calendarId}/acl/{ruleId}
- `google_calendar_acl_get` - GET /calendars/{calendarId}/acl/{ruleId}
- `google_calendar_acl_watch` - POST /calendars/{calendarId}/acl/watch
- `google_calendar_acl_insert` - POST /calendars/{calendarId}/acl
- `google_calendar_freebusy_query` - POST /freeBusy
## Examples
```lua
local events = app.integrations.google_calendar.google_calendar_events_list({
calendarId = "primary",
timeMin = "2026-05-01T00:00:00Z",
singleEvents = true,
orderBy = "startTime"
})
local created = app.integrations.google_calendar.google_calendar_events_insert({
calendarId = "primary",
body = {
summary = "Planning session",
start = { dateTime = "2026-05-06T14:00:00Z" },
end = { dateTime = "2026-05-06T14:30:00Z" }
}
})
```
Responses are decoded Google Calendar JSON responses, or `{ success = true, status = ... }` for successful empty responses such as deletes and clears. local result = app.integrations.google_calendar.settings_get({})
print(result) Functions
settings_get Read
Settings Get (GET /users/me/settings/{setting}).
- Lua path
app.integrations.google_calendar.settings_get- Full name
google-calendar.google_calendar_settings_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
settings_list Read
Settings List (GET /users/me/settings).
- Lua path
app.integrations.google_calendar.settings_list- Full name
google-calendar.google_calendar_settings_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
settings_watch Write
Settings Watch (POST /users/me/settings/watch).
- Lua path
app.integrations.google_calendar.settings_watch- Full name
google-calendar.google_calendar_settings_watch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
insert Write
Calendars Insert (POST /calendars).
- Lua path
app.integrations.google_calendar.insert- Full name
google-calendar.google_calendar_calendars_insert
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get Read
Calendars Get (GET /calendars/{calendarId}).
- Lua path
app.integrations.google_calendar.get- Full name
google-calendar.google_calendar_calendars_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
patch Write
Calendars Patch (PATCH /calendars/{calendarId}).
- Lua path
app.integrations.google_calendar.patch- Full name
google-calendar.google_calendar_calendars_patch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
update Write
Calendars Update (PUT /calendars/{calendarId}).
- Lua path
app.integrations.google_calendar.update- Full name
google-calendar.google_calendar_calendars_update
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete Write
Calendars Delete (DELETE /calendars/{calendarId}).
- Lua path
app.integrations.google_calendar.delete- Full name
google-calendar.google_calendar_calendars_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
clear Write
Calendars Clear (POST /calendars/{calendarId}/clear).
- Lua path
app.integrations.google_calendar.clear- Full name
google-calendar.google_calendar_calendars_clear
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
colors_get Read
Colors Get (GET /colors).
- Lua path
app.integrations.google_calendar.colors_get- Full name
google-calendar.google_calendar_colors_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_get Read
Calendar List Get (GET /users/me/calendarList/{calendarId}).
- Lua path
app.integrations.google_calendar.list_get- Full name
google-calendar.google_calendar_calendar_list_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_watch Write
Calendar List Watch (POST /users/me/calendarList/watch).
- Lua path
app.integrations.google_calendar.list_watch- Full name
google-calendar.google_calendar_calendar_list_watch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_insert Write
Calendar List Insert (POST /users/me/calendarList).
- Lua path
app.integrations.google_calendar.list_insert- Full name
google-calendar.google_calendar_calendar_list_insert
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_list Read
Calendar List List (GET /users/me/calendarList).
- Lua path
app.integrations.google_calendar.list_list- Full name
google-calendar.google_calendar_calendar_list_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_delete Write
Calendar List Delete (DELETE /users/me/calendarList/{calendarId}).
- Lua path
app.integrations.google_calendar.list_delete- Full name
google-calendar.google_calendar_calendar_list_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_update Write
Calendar List Update (PUT /users/me/calendarList/{calendarId}).
- Lua path
app.integrations.google_calendar.list_update- Full name
google-calendar.google_calendar_calendar_list_update
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_patch Write
Calendar List Patch (PATCH /users/me/calendarList/{calendarId}).
- Lua path
app.integrations.google_calendar.list_patch- Full name
google-calendar.google_calendar_calendar_list_patch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
channels_stop Write
Channels Stop (POST /channels/stop).
- Lua path
app.integrations.google_calendar.channels_stop- Full name
google-calendar.google_calendar_channels_stop
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_move Write
Events Move (POST /calendars/{calendarId}/events/{eventId}/move).
- Lua path
app.integrations.google_calendar.events_move- Full name
google-calendar.google_calendar_events_move
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_watch Write
Events Watch (POST /calendars/{calendarId}/events/watch).
- Lua path
app.integrations.google_calendar.events_watch- Full name
google-calendar.google_calendar_events_watch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_delete Write
Events Delete (DELETE /calendars/{calendarId}/events/{eventId}).
- Lua path
app.integrations.google_calendar.events_delete- Full name
google-calendar.google_calendar_events_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_import Write
Events Import (POST /calendars/{calendarId}/events/import).
- Lua path
app.integrations.google_calendar.events_import- Full name
google-calendar.google_calendar_events_import
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_insert Write
Events Insert (POST /calendars/{calendarId}/events).
- Lua path
app.integrations.google_calendar.events_insert- Full name
google-calendar.google_calendar_events_insert
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_quick_add Write
Events Quick Add (POST /calendars/{calendarId}/events/quickAdd).
- Lua path
app.integrations.google_calendar.events_quick_add- Full name
google-calendar.google_calendar_events_quick_add
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_get Read
Events Get (GET /calendars/{calendarId}/events/{eventId}).
- Lua path
app.integrations.google_calendar.events_get- Full name
google-calendar.google_calendar_events_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_patch Write
Events Patch (PATCH /calendars/{calendarId}/events/{eventId}).
- Lua path
app.integrations.google_calendar.events_patch- Full name
google-calendar.google_calendar_events_patch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_instances Read
Events Instances (GET /calendars/{calendarId}/events/{eventId}/instances).
- Lua path
app.integrations.google_calendar.events_instances- Full name
google-calendar.google_calendar_events_instances
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_update Write
Events Update (PUT /calendars/{calendarId}/events/{eventId}).
- Lua path
app.integrations.google_calendar.events_update- Full name
google-calendar.google_calendar_events_update
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
events_list Read
Events List (GET /calendars/{calendarId}/events).
- Lua path
app.integrations.google_calendar.events_list- Full name
google-calendar.google_calendar_events_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_delete Write
Acl Delete (DELETE /calendars/{calendarId}/acl/{ruleId}).
- Lua path
app.integrations.google_calendar.acl_delete- Full name
google-calendar.google_calendar_acl_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_list Read
Acl List (GET /calendars/{calendarId}/acl).
- Lua path
app.integrations.google_calendar.acl_list- Full name
google-calendar.google_calendar_acl_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_patch Write
Acl Patch (PATCH /calendars/{calendarId}/acl/{ruleId}).
- Lua path
app.integrations.google_calendar.acl_patch- Full name
google-calendar.google_calendar_acl_patch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_update Write
Acl Update (PUT /calendars/{calendarId}/acl/{ruleId}).
- Lua path
app.integrations.google_calendar.acl_update- Full name
google-calendar.google_calendar_acl_update
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_get Read
Acl Get (GET /calendars/{calendarId}/acl/{ruleId}).
- Lua path
app.integrations.google_calendar.acl_get- Full name
google-calendar.google_calendar_acl_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_watch Write
Acl Watch (POST /calendars/{calendarId}/acl/watch).
- Lua path
app.integrations.google_calendar.acl_watch- Full name
google-calendar.google_calendar_acl_watch
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
acl_insert Write
Acl Insert (POST /calendars/{calendarId}/acl).
- Lua path
app.integrations.google_calendar.acl_insert- Full name
google-calendar.google_calendar_acl_insert
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
freebusy_query Write
Freebusy Query (POST /freeBusy).
- Lua path
app.integrations.google_calendar.freebusy_query- Full name
google-calendar.google_calendar_freebusy_query
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||