KosmoKrator

productivity

Google Forms Lua API for KosmoKrator Agents

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

Lua Namespace

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

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.google_forms.create({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("google-forms"))' --json
kosmo integrations:lua --eval 'print(docs.read("google-forms.create"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local google_forms = app.integrations.google_forms
local result = google_forms.create({})

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_forms, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.google_forms.default.* or app.integrations.google_forms.work.* when you configured named credential accounts.

MCP-only Lua

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

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

Coverage

  • Source: https://forms.googleapis.com/$discovery/rest?version=v1
  • Read tools: 4
  • Write tools: 6
  • Base URL: https://forms.googleapis.com

Usage Notes

Pass formId, responseId, and watchId path parameters as top-level arguments. Query parameters can be passed as top-level shortcuts or inside query. Create, batch update, publish settings, watch create, and watch renew methods accept the official JSON request object inside body.

Tools

  • google_forms_forms_create - POST /v1/forms
  • google_forms_forms_get - GET /v1/forms/{formId}
  • google_forms_forms_set_publish_settings - POST /v1/forms/{formId}:setPublishSettings
  • google_forms_forms_batch_update - POST /v1/forms/{formId}:batchUpdate
  • google_forms_forms_responses_list - GET /v1/forms/{formId}/responses
  • google_forms_forms_responses_get - GET /v1/forms/{formId}/responses/{responseId}
  • google_forms_forms_watches_renew - POST /v1/forms/{formId}/watches/{watchId}:renew
  • google_forms_forms_watches_create - POST /v1/forms/{formId}/watches
  • google_forms_forms_watches_list - GET /v1/forms/{formId}/watches
  • google_forms_forms_watches_delete - DELETE /v1/forms/{formId}/watches/{watchId}

Examples

local form = app.integrations.google_forms.google_forms_forms_get({ formId = "1FAIpQL..." })

local responses = app.integrations.google_forms.google_forms_forms_responses_list({ formId = "1FAIpQL...", pageSize = 10 })

Responses are decoded Google Forms JSON responses, or { success = true, status = ... } for successful empty responses such as watch deletes.

Raw agent markdown
# Google Forms

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

## Coverage

- Source: `https://forms.googleapis.com/$discovery/rest?version=v1`
- Read tools: 4
- Write tools: 6
- Base URL: `https://forms.googleapis.com`

## Usage Notes

Pass `formId`, `responseId`, and `watchId` path parameters as top-level arguments. Query parameters can be passed as top-level shortcuts or inside `query`. Create, batch update, publish settings, watch create, and watch renew methods accept the official JSON request object inside `body`.

## Tools

- `google_forms_forms_create` - POST /v1/forms
- `google_forms_forms_get` - GET /v1/forms/{formId}
- `google_forms_forms_set_publish_settings` - POST /v1/forms/{formId}:setPublishSettings
- `google_forms_forms_batch_update` - POST /v1/forms/{formId}:batchUpdate
- `google_forms_forms_responses_list` - GET /v1/forms/{formId}/responses
- `google_forms_forms_responses_get` - GET /v1/forms/{formId}/responses/{responseId}
- `google_forms_forms_watches_renew` - POST /v1/forms/{formId}/watches/{watchId}:renew
- `google_forms_forms_watches_create` - POST /v1/forms/{formId}/watches
- `google_forms_forms_watches_list` - GET /v1/forms/{formId}/watches
- `google_forms_forms_watches_delete` - DELETE /v1/forms/{formId}/watches/{watchId}

## Examples

```lua
local form = app.integrations.google_forms.google_forms_forms_get({ formId = "1FAIpQL..." })

local responses = app.integrations.google_forms.google_forms_forms_responses_list({ formId = "1FAIpQL...", pageSize = 10 })
```

Responses are decoded Google Forms JSON responses, or `{ success = true, status = ... }` for successful empty responses such as watch deletes.
Metadata-derived Lua example
local result = app.integrations.google_forms.create({})
print(result)

Functions

create Write

Forms Create (POST /v1/forms).

Lua path
app.integrations.google_forms.create
Full name
google-forms.google_forms_forms_create
ParameterTypeRequiredDescription
No parameters.
get Read

Forms Get (GET /v1/forms/{formId}).

Lua path
app.integrations.google_forms.get
Full name
google-forms.google_forms_forms_get
ParameterTypeRequiredDescription
No parameters.
set_publish_settings Write

Forms Set Publish Settings (POST /v1/forms/{formId}:setPublishSettings).

Lua path
app.integrations.google_forms.set_publish_settings
Full name
google-forms.google_forms_forms_set_publish_settings
ParameterTypeRequiredDescription
No parameters.
batch_update Write

Forms Batch Update (POST /v1/forms/{formId}:batchUpdate).

Lua path
app.integrations.google_forms.batch_update
Full name
google-forms.google_forms_forms_batch_update
ParameterTypeRequiredDescription
No parameters.
responses_list Read

Forms Responses List (GET /v1/forms/{formId}/responses).

Lua path
app.integrations.google_forms.responses_list
Full name
google-forms.google_forms_forms_responses_list
ParameterTypeRequiredDescription
No parameters.
responses_get Read

Forms Responses Get (GET /v1/forms/{formId}/responses/{responseId}).

Lua path
app.integrations.google_forms.responses_get
Full name
google-forms.google_forms_forms_responses_get
ParameterTypeRequiredDescription
No parameters.
watches_renew Write

Forms Watches Renew (POST /v1/forms/{formId}/watches/{watchId}:renew).

Lua path
app.integrations.google_forms.watches_renew
Full name
google-forms.google_forms_forms_watches_renew
ParameterTypeRequiredDescription
No parameters.
watches_create Write

Forms Watches Create (POST /v1/forms/{formId}/watches).

Lua path
app.integrations.google_forms.watches_create
Full name
google-forms.google_forms_forms_watches_create
ParameterTypeRequiredDescription
No parameters.
watches_list Read

Forms Watches List (GET /v1/forms/{formId}/watches).

Lua path
app.integrations.google_forms.watches_list
Full name
google-forms.google_forms_forms_watches_list
ParameterTypeRequiredDescription
No parameters.
watches_delete Write

Forms Watches Delete (DELETE /v1/forms/{formId}/watches/{watchId}).

Lua path
app.integrations.google_forms.watches_delete
Full name
google-forms.google_forms_forms_watches_delete
ParameterTypeRequiredDescription
No parameters.