KosmoKrator

productivity

Google Slides Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Google Slides KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.google_slides.*. Use lua_read_doc("integrations.google-slides") 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 Slides workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.google_slides.presentations_get({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("google-slides"))' --json
kosmo integrations:lua --eval 'print(docs.read("google-slides.presentations_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_slides = app.integrations.google_slides
local result = google_slides.presentations_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_slides, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.google_slides.default.* or app.integrations.google_slides.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Google Slides, 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 Slides

Google Slides tools are exposed under app.integrations.google_slides. This package is generated from Google’s official Slides API v1 Discovery document and exposes 5 REST methods.

Coverage

  • Source: https://slides.googleapis.com/$discovery/rest?version=v1
  • Read tools: 3
  • Write tools: 2
  • Base URL: https://slides.googleapis.com

Usage Notes

Pass presentationId and pageObjectId path parameters as top-level arguments. Query parameters can be passed as top-level shortcuts or inside query. Create and batch update methods accept the official JSON request object inside body.

The Slides API does not list presentations; use Drive integration search/list tools when you need discovery by file name or folder.

Tools

  • google_slides_presentations_get - GET /v1/presentations/{+presentationId}
  • google_slides_presentations_create - POST /v1/presentations
  • google_slides_presentations_batch_update - POST /v1/presentations/{presentationId}:batchUpdate
  • google_slides_presentations_pages_get - GET /v1/presentations/{presentationId}/pages/{pageObjectId}
  • google_slides_presentations_pages_get_thumbnail - GET /v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail

Examples

local deck = app.integrations.google_slides.google_slides_presentations_get({ presentationId = "1AbC..." })

local result = app.integrations.google_slides.google_slides_presentations_batch_update({
  presentationId = "1AbC...",
  body = { requests = { { createSlide = {} } } }
})

Responses are decoded Google Slides JSON responses.

Raw agent markdown
# Google Slides

Google Slides tools are exposed under `app.integrations.google_slides`. This package is generated from Google's official Slides API v1 Discovery document and exposes 5 REST methods.

## Coverage

- Source: `https://slides.googleapis.com/$discovery/rest?version=v1`
- Read tools: 3
- Write tools: 2
- Base URL: `https://slides.googleapis.com`

## Usage Notes

Pass `presentationId` and `pageObjectId` path parameters as top-level arguments. Query parameters can be passed as top-level shortcuts or inside `query`. Create and batch update methods accept the official JSON request object inside `body`.

The Slides API does not list presentations; use Drive integration search/list tools when you need discovery by file name or folder.

## Tools

- `google_slides_presentations_get` - GET /v1/presentations/{+presentationId}
- `google_slides_presentations_create` - POST /v1/presentations
- `google_slides_presentations_batch_update` - POST /v1/presentations/{presentationId}:batchUpdate
- `google_slides_presentations_pages_get` - GET /v1/presentations/{presentationId}/pages/{pageObjectId}
- `google_slides_presentations_pages_get_thumbnail` - GET /v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail

## Examples

```lua
local deck = app.integrations.google_slides.google_slides_presentations_get({ presentationId = "1AbC..." })

local result = app.integrations.google_slides.google_slides_presentations_batch_update({
  presentationId = "1AbC...",
  body = { requests = { { createSlide = {} } } }
})
```

Responses are decoded Google Slides JSON responses.
Metadata-derived Lua example
local result = app.integrations.google_slides.presentations_get({})
print(result)

Functions

presentations_get Read

Presentations Get (GET /v1/presentations/{+presentationId}).

Lua path
app.integrations.google_slides.presentations_get
Full name
google-slides.google_slides_presentations_get
ParameterTypeRequiredDescription
No parameters.
presentations_create Write

Presentations Create (POST /v1/presentations).

Lua path
app.integrations.google_slides.presentations_create
Full name
google-slides.google_slides_presentations_create
ParameterTypeRequiredDescription
No parameters.
presentations_batch_update Write

Presentations Batch Update (POST /v1/presentations/{presentationId}:batchUpdate).

Lua path
app.integrations.google_slides.presentations_batch_update
Full name
google-slides.google_slides_presentations_batch_update
ParameterTypeRequiredDescription
No parameters.
presentations_pages_get Read

Presentations Pages Get (GET /v1/presentations/{presentationId}/pages/{pageObjectId}).

Lua path
app.integrations.google_slides.presentations_pages_get
Full name
google-slides.google_slides_presentations_pages_get
ParameterTypeRequiredDescription
No parameters.
presentations_pages_get_thumbnail Read

Presentations Pages Get Thumbnail (GET /v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail).

Lua path
app.integrations.google_slides.presentations_pages_get_thumbnail
Full name
google-slides.google_slides_presentations_pages_get_thumbnail
ParameterTypeRequiredDescription
No parameters.