KosmoKrator

cms

Webflow CLI for AI Agents

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

7 functions 6 read 1 write Manual OAuth token auth

Webflow CLI Setup

Webflow can be configured headlessly with `kosmokrator integrations:configure webflow`.

# 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 webflow --set access_token="$WEBFLOW_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor webflow --json
kosmokrator integrations:status --json

Credentials

Authentication type: Manual OAuth token oauth2_manual_token. Configure credentials once, then use the same stored profile from scripts, coding CLIs, Lua code mode, and the MCP gateway.

KeyEnv varTypeRequiredLabel
access_token WEBFLOW_ACCESS_TOKEN Secret secret yes Access Token
url WEBFLOW_URL URL url no API Base URL

Call Webflow Headlessly

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

kosmo integrations:call webflow.webflow_list_sites '{}' --json

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

kosmo integrations:webflow webflow_list_sites '{}' --json

Agent Discovery Commands

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

kosmo integrations:docs webflow --json
kosmo integrations:docs webflow.webflow_list_sites --json
kosmo integrations:schema webflow.webflow_list_sites --json
kosmo integrations:search "Webflow" --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 Webflow.

webflow.webflow_list_sites

Read read

List all Webflow sites the authenticated user has access to. Returns site IDs, names, and domains needed for further CMS operations.

Parameters
none

Generic CLI call

kosmo integrations:call webflow.webflow_list_sites '{}' --json

Provider shortcut

kosmo integrations:webflow webflow_list_sites '{}' --json

webflow.webflow_get_site

Read read

Get details for a specific Webflow site by its ID. Returns site name, domain, publishing status, and other metadata.

Parameters
id

Generic CLI call

kosmo integrations:call webflow.webflow_get_site '{"id":"example_id"}' --json

Provider shortcut

kosmo integrations:webflow webflow_get_site '{"id":"example_id"}' --json

webflow.webflow_list_collections

Read read

List CMS collections for a Webflow site. Collections are content models (e.g., "Blog Posts", "Team Members") that hold structured items.

Parameters
site_id, limit, offset

Generic CLI call

kosmo integrations:call webflow.webflow_list_collections '{"site_id":"example_site_id","limit":1,"offset":1}' --json

Provider shortcut

kosmo integrations:webflow webflow_list_collections '{"site_id":"example_site_id","limit":1,"offset":1}' --json

webflow.webflow_list_items

Read read

List items in a Webflow CMS collection. Returns paginated results with item IDs, field data, and draft/publish status.

Parameters
collection_id, limit, offset

Generic CLI call

kosmo integrations:call webflow.webflow_list_items '{"collection_id":"example_collection_id","limit":1,"offset":1}' --json

Provider shortcut

kosmo integrations:webflow webflow_list_items '{"collection_id":"example_collection_id","limit":1,"offset":1}' --json

webflow.webflow_get_item

Read read

Get a single CMS item from a Webflow collection by its ID. Returns full field data including rich text, images, and references.

Parameters
collection_id, id

Generic CLI call

kosmo integrations:call webflow.webflow_get_item '{"collection_id":"example_collection_id","id":"example_id"}' --json

Provider shortcut

kosmo integrations:webflow webflow_get_item '{"collection_id":"example_collection_id","id":"example_id"}' --json

webflow.webflow_create_item

Write write

Create a new item in a Webflow CMS collection. Pass field data as key-value pairs matching the collection's schema. Set live to true to publish immediately.

Parameters
collection_id, fields, live

Generic CLI call

kosmo integrations:call webflow.webflow_create_item '{"collection_id":"example_collection_id","fields":"example_fields","live":true}' --json

Provider shortcut

kosmo integrations:webflow webflow_create_item '{"collection_id":"example_collection_id","fields":"example_fields","live":true}' --json

webflow.webflow_get_current_user

Read read

Get the currently authenticated Webflow user. Returns user profile including name, email, and account details.

Parameters
none

Generic CLI call

kosmo integrations:call webflow.webflow_get_current_user '{}' --json

Provider shortcut

kosmo integrations:webflow webflow_get_current_user '{}' --json

Function Schemas

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

webflow.webflow_list_sites

List all Webflow sites the authenticated user has access to. Returns site IDs, names, and domains needed for further CMS operations.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_list_sites --json
ParameterTypeRequiredDescription
No parameters.

webflow.webflow_get_site

Get details for a specific Webflow site by its ID. Returns site name, domain, publishing status, and other metadata.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_get_site --json
ParameterTypeRequiredDescription
id string yes The unique identifier of the Webflow site (e.g., "641d84b8f0bca14670785897").

webflow.webflow_list_collections

List CMS collections for a Webflow site. Collections are content models (e.g., "Blog Posts", "Team Members") that hold structured items.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_list_collections --json
ParameterTypeRequiredDescription
site_id string yes The unique identifier of the Webflow site.
limit integer no Maximum number of collections to return (default: 100).
offset integer no Number of collections to skip for pagination (default: 0).

webflow.webflow_list_items

List items in a Webflow CMS collection. Returns paginated results with item IDs, field data, and draft/publish status.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_list_items --json
ParameterTypeRequiredDescription
collection_id string yes The unique identifier of the CMS collection.
limit integer no Maximum number of items to return (default: 100).
offset integer no Number of items to skip for pagination (default: 0).

webflow.webflow_get_item

Get a single CMS item from a Webflow collection by its ID. Returns full field data including rich text, images, and references.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_get_item --json
ParameterTypeRequiredDescription
collection_id string yes The unique identifier of the CMS collection the item belongs to.
id string yes The unique identifier of the CMS item.

webflow.webflow_create_item

Create a new item in a Webflow CMS collection. Pass field data as key-value pairs matching the collection's schema. Set live to true to publish immediately.

Operation
Write write
Schema command
kosmo integrations:schema webflow.webflow_create_item --json
ParameterTypeRequiredDescription
collection_id string yes The unique identifier of the CMS collection to add the item to.
fields object yes Field data as key-value pairs matching the collection schema. Common fields: name, slug, _archived, _draft.
live boolean no Whether to publish the item immediately (default: false). Set to true to make the item live on the site.

webflow.webflow_get_current_user

Get the currently authenticated Webflow user. Returns user profile including name, email, and account details.

Operation
Read read
Schema command
kosmo integrations:schema webflow.webflow_get_current_user --json
ParameterTypeRequiredDescription
No parameters.

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.