KosmoKrator

no-code

Bubble CLI for AI Agents

Use the Bubble CLI from KosmoKrator to call Bubble tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.

5 functions 2 read 3 write API key auth

Bubble CLI Setup

Bubble can be configured headlessly with `kosmokrator integrations:configure bubble`.

# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash

# Configure and verify this integration.
kosmokrator integrations:configure bubble --set api_key="$BUBBLE_API_KEY" --set hostname="$BUBBLE_HOSTNAME" --enable --read allow --write ask --json
kosmokrator integrations:doctor bubble --json
kosmokrator integrations:status --json

Credentials

Authentication type: API key api_key. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
api_key BUBBLE_API_KEY Secret secret yes API Key
hostname BUBBLE_HOSTNAME URL url yes App URL

Call Bubble Headlessly

Use the generic call form when another coding CLI or script needs a stable universal interface.

kosmo integrations:call bubble.bubble_list_records '{
  "type": "example_type",
  "constraints": "example_constraints",
  "limit": 1,
  "cursor": 1
}' --json

Use the provider shortcut form for shorter human-facing commands.

kosmo integrations:bubble bubble_list_records '{
  "type": "example_type",
  "constraints": "example_constraints",
  "limit": 1,
  "cursor": 1
}' --json

Agent Discovery Commands

These commands return structured output for coding agents that need to inspect capabilities before choosing a function.

kosmo integrations:docs bubble --json
kosmo integrations:docs bubble.bubble_list_records --json
kosmo integrations:schema bubble.bubble_list_records --json
kosmo integrations:search "Bubble" --json
kosmo integrations:list --json

All CLI Functions

Every function below can be called headlessly. The generic form is stable across all integrations; the provider shortcut is shorter but specific to Bubble.

bubble.bubble_list_records

Read read

List records from a Bubble data type. Supports filtering with constraints, pagination with limit and cursor. Returns matching records and a remaining count for further pagination.

Parameters
type, constraints, limit, cursor

Generic CLI call

kosmo integrations:call bubble.bubble_list_records '{"type":"example_type","constraints":"example_constraints","limit":1,"cursor":1}' --json

Provider shortcut

kosmo integrations:bubble bubble_list_records '{"type":"example_type","constraints":"example_constraints","limit":1,"cursor":1}' --json

bubble.bubble_get_record

Read read

Get a single record from Bubble by its data type and unique ID. Returns all fields of the record.

Parameters
type, id

Generic CLI call

kosmo integrations:call bubble.bubble_get_record '{"type":"example_type","id":"example_id"}' --json

Provider shortcut

kosmo integrations:bubble bubble_get_record '{"type":"example_type","id":"example_id"}' --json

bubble.bubble_create_record

Write write

Create a new record in a Bubble data type. Provide field names and values as a JSON object. Returns the created record including its generated ID.

Parameters
type, fields

Generic CLI call

kosmo integrations:call bubble.bubble_create_record '{"type":"example_type","fields":"example_fields"}' --json

Provider shortcut

kosmo integrations:bubble bubble_create_record '{"type":"example_type","fields":"example_fields"}' --json

bubble.bubble_update_record

Write write

Update an existing record in Bubble by its data type and unique ID. Only the fields provided will be changed; other fields remain unchanged. Returns the updated record.

Parameters
type, id, fields

Generic CLI call

kosmo integrations:call bubble.bubble_update_record '{"type":"example_type","id":"example_id","fields":"example_fields"}' --json

Provider shortcut

kosmo integrations:bubble bubble_update_record '{"type":"example_type","id":"example_id","fields":"example_fields"}' --json

bubble.bubble_delete_record

Write write

Delete a record from Bubble by its data type and unique ID. This action is permanent and cannot be undone.

Parameters
type, id

Generic CLI call

kosmo integrations:call bubble.bubble_delete_record '{"type":"example_type","id":"example_id"}' --json

Provider shortcut

kosmo integrations:bubble bubble_delete_record '{"type":"example_type","id":"example_id"}' --json

Function Schemas

Use these parameter tables when building CLI payloads without calling integrations:schema first.

bubble.bubble_list_records

List records from a Bubble data type. Supports filtering with constraints, pagination with limit and cursor. Returns matching records and a remaining count for further pagination.

Operation
Read read
Schema command
kosmo integrations:schema bubble.bubble_list_records --json
ParameterTypeRequiredDescription
type string yes The Bubble data type name (case-sensitive, e.g. "User", "Product", "Order").
constraints string no JSON-encoded array of Bubble constraint objects for filtering. Each constraint is {"key": "field_name", "constraint_type": "equals", "value": "some_value"}. Pass as a JSON string.
limit integer no Maximum number of records to return (1–100, default: 100).
cursor integer no Offset for pagination (0-based). Use the "remaining" count from the previous response to determine if more pages exist.

bubble.bubble_get_record

Get a single record from Bubble by its data type and unique ID. Returns all fields of the record.

Operation
Read read
Schema command
kosmo integrations:schema bubble.bubble_get_record --json
ParameterTypeRequiredDescription
type string yes The Bubble data type name (case-sensitive, e.g. "User", "Product", "Order").
id string yes The unique identifier of the record (Bubble-generated UUID).

bubble.bubble_create_record

Create a new record in a Bubble data type. Provide field names and values as a JSON object. Returns the created record including its generated ID.

Operation
Write write
Schema command
kosmo integrations:schema bubble.bubble_create_record --json
ParameterTypeRequiredDescription
type string yes The Bubble data type name (case-sensitive, e.g. "User", "Product", "Order").
fields string yes JSON object of field names and values for the new record. Example: {"name": "John", "email": "[email protected]", "age": 30}. Pass as a JSON string.

bubble.bubble_update_record

Update an existing record in Bubble by its data type and unique ID. Only the fields provided will be changed; other fields remain unchanged. Returns the updated record.

Operation
Write write
Schema command
kosmo integrations:schema bubble.bubble_update_record --json
ParameterTypeRequiredDescription
type string yes The Bubble data type name (case-sensitive, e.g. "User", "Product", "Order").
id string yes The unique identifier of the record to update (Bubble-generated UUID).
fields string yes JSON object of field names and values to update. Only the provided fields will be changed. Example: {"name": "Jane", "status": "active"}. Pass as a JSON string.

bubble.bubble_delete_record

Delete a record from Bubble by its data type and unique ID. This action is permanent and cannot be undone.

Operation
Write write
Schema command
kosmo integrations:schema bubble.bubble_delete_record --json
ParameterTypeRequiredDescription
type string yes The Bubble data type name (case-sensitive, e.g. "User", "Product", "Order").
id string yes The unique identifier of the record to delete (Bubble-generated UUID).

Permissions

Headless calls still follow the integration read/write permission policy. Configure read/write defaults with integrations:configure. Add --force only for trusted automation that should bypass that policy.