productivity
Airtop Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Airtop KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.airtop.*.
Use lua_read_doc("integrations.airtop") 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
Airtop workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.airtop.get_list_sessions({}))' --json kosmo integrations:lua --eval 'print(docs.read("airtop"))' --json
kosmo integrations:lua --eval 'print(docs.read("airtop.get_list_sessions"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local airtop = app.integrations.airtop
local result = airtop.get_list_sessions({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.airtop, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.airtop.default.* or app.integrations.airtop.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Airtop, 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.
Airtop Integration
Airtop provides cloud browser automation through the official Airtop API. This package exposes generated tools from https://docs.airtop.ai/openapi.json.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
api_key | secret | Yes | Airtop API key sent as a Bearer token. |
url | url | No | API base URL. Default is https://api.airtop.ai/api. |
Usage Pattern
Tool names are generated from official Airtop operation IDs:
airtop_sessions_createairtop_sessions_get_infoairtop_sessions_windows_load_urlairtop_sessions_windows_scrape_contentairtop_sessions_windows_page_queryairtop_requests_status_get_request_status
Path and query parameters are exposed as snake_case tool arguments. JSON request payloads are passed through body with Airtop’s official field names.
local session = airtop_sessions_create({
body = {
configuration = {
timeoutMinutes = 10
}
}
})
local window = airtop_sessions_windows_create({
session_id = session.id,
body = {
url = "https://example.test"
}
})
Some official operation IDs are generic. This integration prefixes them with the API resource path so the tool name stays unique and readable.
airtop_sessions_windows_load_url({
session_id = "sess_123",
window_id = "win_123",
body = {
url = "https://example.test"
}
})
airtop_sessions_windows_scrape_content({
session_id = "sess_123",
window_id = "win_123",
body = {
includeLinks = true
}
})
Async operations return a request identifier. Poll the official status endpoint:
airtop_requests_status_get_request_status({
request_id = "req_123"
})
Return Shape
Tools return Airtop’s parsed JSON response. 204 No Content responses return an empty object. Errors are normalized into tool errors that include the Airtop HTTP status and message when available.
Notes
- This package covers the official OpenAPI operations available in the Airtop API document: sessions, windows, sync and async automation, form filling, page querying, scraping, screenshots, profiles, automations, files, and request status.
- Prefer exact
bodyobjects from the Airtop API documentation when using write tools. - Use fake session IDs, URLs, and file names in examples and tests.
Raw agent markdown
# Airtop Integration
Airtop provides cloud browser automation through the official Airtop API. This package exposes generated tools from `https://docs.airtop.ai/openapi.json`.
## Configuration
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `api_key` | secret | Yes | Airtop API key sent as a Bearer token. |
| `url` | url | No | API base URL. Default is `https://api.airtop.ai/api`. |
## Usage Pattern
Tool names are generated from official Airtop operation IDs:
- `airtop_sessions_create`
- `airtop_sessions_get_info`
- `airtop_sessions_windows_load_url`
- `airtop_sessions_windows_scrape_content`
- `airtop_sessions_windows_page_query`
- `airtop_requests_status_get_request_status`
Path and query parameters are exposed as snake_case tool arguments. JSON request payloads are passed through `body` with Airtop's official field names.
```lua
local session = airtop_sessions_create({
body = {
configuration = {
timeoutMinutes = 10
}
}
})
```
```lua
local window = airtop_sessions_windows_create({
session_id = session.id,
body = {
url = "https://example.test"
}
})
```
Some official operation IDs are generic. This integration prefixes them with the API resource path so the tool name stays unique and readable.
```lua
airtop_sessions_windows_load_url({
session_id = "sess_123",
window_id = "win_123",
body = {
url = "https://example.test"
}
})
```
```lua
airtop_sessions_windows_scrape_content({
session_id = "sess_123",
window_id = "win_123",
body = {
includeLinks = true
}
})
```
Async operations return a request identifier. Poll the official status endpoint:
```lua
airtop_requests_status_get_request_status({
request_id = "req_123"
})
```
## Return Shape
Tools return Airtop's parsed JSON response. `204 No Content` responses return an empty object. Errors are normalized into tool errors that include the Airtop HTTP status and message when available.
## Notes
- This package covers the official OpenAPI operations available in the Airtop API document: sessions, windows, sync and async automation, form filling, page querying, scraping, screenshots, profiles, automations, files, and request status.
- Prefer exact `body` objects from the Airtop API documentation when using write tools.
- Use fake session IDs, URLs, and file names in examples and tests. local result = app.integrations.airtop.get_list_sessions({})
print(result) Functions
get_list_sessions Read
Execute official Airtop API operation `list`. Endpoint: GET /v1/sessions.
- Lua path
app.integrations.airtop.get_list_sessions- Full name
airtop.airtop_sessions_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_session Write
Execute official Airtop API operation `create`. Endpoint: POST /v1/sessions.
- Lua path
app.integrations.airtop.create_session- Full name
airtop.airtop_sessions_create
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_info_session Read
Execute official Airtop API operation `get-info`. Endpoint: GET /v1/sessions/{id}.
- Lua path
app.integrations.airtop.get_info_session- Full name
airtop.airtop_sessions_get_info
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
ends_session Write
Execute official Airtop API operation `terminate`. Endpoint: DELETE /v1/sessions/{id}.
- Lua path
app.integrations.airtop.ends_session- Full name
airtop.airtop_sessions_terminate
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
save_profile_termination Write
Execute official Airtop API operation `save-profile-on-termination`. Endpoint: PUT /v1/sessions/{sessionId}/save-profile-on-termination/{profileName}.
- Lua path
app.integrations.airtop.save_profile_termination- Full name
airtop.airtop_sessions_save_profile_on_termination
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_automation_async Write
Execute official Airtop API operation `async-create-automation`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/create-automation.
- Lua path
app.integrations.airtop.create_automation_async- Full name
airtop.airtop_async_sessions_windows_create_automation_async_create_automation
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_form_filler_automation_async Write
Execute official Airtop API operation `async-create-form-filler`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/create-form-filler.
- Lua path
app.integrations.airtop.create_form_filler_automation_async- Full name
airtop.airtop_async_sessions_windows_create_form_filler_async_create_form_filler
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
execute_automation_async Write
Execute official Airtop API operation `async-execute-automation`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/execute-automation.
- Lua path
app.integrations.airtop.execute_automation_async- Full name
airtop.airtop_async_sessions_windows_execute_automation_async_execute_automation
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
fill_form_using_form_filler_automation_async Write
Execute official Airtop API operation `async-fill-form`. Endpoint: POST /v1/async/sessions/{sessionId}/windows/{windowId}/fill-form.
- Lua path
app.integrations.airtop.fill_form_using_form_filler_automation_async- Full name
airtop.airtop_async_sessions_windows_fill_form_async_fill_form
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_windows Read
Execute official Airtop API operation `list`. Endpoint: GET /v1/sessions/{sessionId}/windows.
- Lua path
app.integrations.airtop.list_windows- Full name
airtop.airtop_sessions_windows_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_window Write
Execute official Airtop API operation `create`. Endpoint: POST /v1/sessions/{sessionId}/windows.
- Lua path
app.integrations.airtop.create_window- Full name
airtop.airtop_sessions_windows_create
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_window_info Read
Execute official Airtop API operation `get-window-info`. Endpoint: GET /v1/sessions/{sessionId}/windows/{windowId}.
- Lua path
app.integrations.airtop.get_window_info- Full name
airtop.airtop_sessions_windows_get_window_info
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
load_url Write
Execute official Airtop API operation `load-url`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}.
- Lua path
app.integrations.airtop.load_url- Full name
airtop.airtop_sessions_windows_load_url
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
close_window Write
Execute official Airtop API operation `close`. Endpoint: DELETE /v1/sessions/{sessionId}/windows/{windowId}.
- Lua path
app.integrations.airtop.close_window- Full name
airtop.airtop_sessions_windows_close
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
click Write
Execute official Airtop API operation `click`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/click.
- Lua path
app.integrations.airtop.click- Full name
airtop.airtop_sessions_windows_click
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_form_filler_automation_synchronously Write
Execute official Airtop API operation `create-form-filler`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/create-form-filler.
- Lua path
app.integrations.airtop.create_form_filler_automation_synchronously- Full name
airtop.airtop_sessions_windows_create_form_filler
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
file_input Write
Execute official Airtop API operation `file-input`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/file-input.
- Lua path
app.integrations.airtop.file_input- Full name
airtop.airtop_sessions_windows_file_input
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
fill_form_synchronously_using_form_filler_automation Write
Execute official Airtop API operation `fill-form`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/fill-form.
- Lua path
app.integrations.airtop.fill_form_synchronously_using_form_filler_automation- Full name
airtop.airtop_sessions_windows_fill_form
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
hover Write
Execute official Airtop API operation `hover`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/hover.
- Lua path
app.integrations.airtop.hover- Full name
airtop.airtop_sessions_windows_hover
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
monitor_condition Write
Execute official Airtop API operation `monitor`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/monitor.
- Lua path
app.integrations.airtop.monitor_condition- Full name
airtop.airtop_sessions_windows_monitor
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
query_page Write
Execute official Airtop API operation `page-query`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/page-query.
- Lua path
app.integrations.airtop.query_page- Full name
airtop.airtop_sessions_windows_page_query
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
query_page_with_pagination Write
Execute official Airtop API operation `paginated-extraction`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/paginated-extraction.
- Lua path
app.integrations.airtop.query_page_with_pagination- Full name
airtop.airtop_sessions_windows_paginated_extraction
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
prompt_content Write
Execute official Airtop API operation `prompt-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/prompt-content.
- Lua path
app.integrations.airtop.prompt_content- Full name
airtop.airtop_sessions_windows_prompt_content
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
scrape Write
Execute official Airtop API operation `scrape-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/scrape-content.
- Lua path
app.integrations.airtop.scrape- Full name
airtop.airtop_sessions_windows_scrape_content
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
take_screenshot Write
Execute official Airtop API operation `screenshot`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/screenshot.
- Lua path
app.integrations.airtop.take_screenshot- Full name
airtop.airtop_sessions_windows_screenshot
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
scroll Write
Execute official Airtop API operation `scroll`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/scroll.
- Lua path
app.integrations.airtop.scroll- Full name
airtop.airtop_sessions_windows_scroll
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
summarize Write
Execute official Airtop API operation `summarize-content`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/summarize-content.
- Lua path
app.integrations.airtop.summarize- Full name
airtop.airtop_sessions_windows_summarize_content
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
type Write
Execute official Airtop API operation `type`. Endpoint: POST /v1/sessions/{sessionId}/windows/{windowId}/type.
- Lua path
app.integrations.airtop.type- Full name
airtop.airtop_sessions_windows_type
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete_profiles Write
Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/profiles.
- Lua path
app.integrations.airtop.delete_profiles- Full name
airtop.airtop_profiles_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_automations Read
Execute official Airtop API operation `list`. Endpoint: GET /v1/automations.
- Lua path
app.integrations.airtop.list_automations- Full name
airtop.airtop_automations_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
update_automation_description Write
Execute official Airtop API operation `update`. Endpoint: PUT /v1/automations/description.
- Lua path
app.integrations.airtop.update_automation_description- Full name
airtop.airtop_automations_description_update
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_automation Read
Execute official Airtop API operation `get`. Endpoint: GET /v1/automations/{automationId}.
- Lua path
app.integrations.airtop.get_automation- Full name
airtop.airtop_automations_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete_automation Write
Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/automations/{automationId}.
- Lua path
app.integrations.airtop.delete_automation- Full name
airtop.airtop_automations_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_list_files Read
Execute official Airtop API operation `list`. Endpoint: GET /v1/files.
- Lua path
app.integrations.airtop.get_list_files- Full name
airtop.airtop_files_list
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
create_file Write
Execute official Airtop API operation `create`. Endpoint: POST /v1/files.
- Lua path
app.integrations.airtop.create_file- Full name
airtop.airtop_files_create
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_file Read
Execute official Airtop API operation `get`. Endpoint: GET /v1/files/{id}.
- Lua path
app.integrations.airtop.get_file- Full name
airtop.airtop_files_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete_file Write
Execute official Airtop API operation `delete`. Endpoint: DELETE /v1/files/{id}.
- Lua path
app.integrations.airtop.delete_file- Full name
airtop.airtop_files_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
push_file_session Write
Execute official Airtop API operation `push`. Endpoint: POST /v1/files/{id}/push.
- Lua path
app.integrations.airtop.push_file_session- Full name
airtop.airtop_files_push
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_status_asynchronous_request Read
Execute official Airtop API operation `get-request-status`. Endpoint: GET /v1/requests/{requestId}/status.
- Lua path
app.integrations.airtop.get_status_asynchronous_request- Full name
airtop.airtop_requests_status_get_request_status
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||