KosmoKrator

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.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.google_calendar.settings_get({}))' --json
Read Lua docs headlessly
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.

workflow.lua
local google_calendar = app.integrations.google_calendar
local result = google_calendar.settings_get({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. 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.

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/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

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.
Metadata-derived Lua example
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
No parameters.
insert Write

Calendars Insert (POST /calendars).

Lua path
app.integrations.google_calendar.insert
Full name
google-calendar.google_calendar_calendars_insert
ParameterTypeRequiredDescription
No parameters.
get Read

Calendars Get (GET /calendars/{calendarId}).

Lua path
app.integrations.google_calendar.get
Full name
google-calendar.google_calendar_calendars_get
ParameterTypeRequiredDescription
No parameters.
patch Write

Calendars Patch (PATCH /calendars/{calendarId}).

Lua path
app.integrations.google_calendar.patch
Full name
google-calendar.google_calendar_calendars_patch
ParameterTypeRequiredDescription
No parameters.
update Write

Calendars Update (PUT /calendars/{calendarId}).

Lua path
app.integrations.google_calendar.update
Full name
google-calendar.google_calendar_calendars_update
ParameterTypeRequiredDescription
No parameters.
delete Write

Calendars Delete (DELETE /calendars/{calendarId}).

Lua path
app.integrations.google_calendar.delete
Full name
google-calendar.google_calendar_calendars_delete
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
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
ParameterTypeRequiredDescription
No parameters.