Automate Webflow operations including CMS collection management, site publishing, page inspection, asset uploads, and ecommerce order retrieval through Composio's Webflow toolkit.
Toolkit docs: composio.dev/toolkits/webflow
RUBE_MANAGE_CONNECTIONS with toolkit webflow
RUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit webflow
When to use: User wants to create, update, list, or delete items in Webflow CMS collections (blog posts, products, team members, etc.)
Tool sequence:
WEBFLOW_LIST_WEBFLOW_SITES - List sites to find the target site_id [Prerequisite]WEBFLOW_LIST_COLLECTIONS - List all collections for the site [Prerequisite]WEBFLOW_GET_COLLECTION - Get collection schema to find valid field slugs [Prerequisite for create/update]WEBFLOW_LIST_COLLECTION_ITEMS - List existing items with filtering and pagination [Optional]WEBFLOW_GET_COLLECTION_ITEM - Get a specific item's full details [Optional]WEBFLOW_CREATE_COLLECTION_ITEM - Create a new item with field data [Required for creation]WEBFLOW_UPDATE_COLLECTION_ITEM - Update an existing item's fields [Required for updates]WEBFLOW_DELETE_COLLECTION_ITEM - Permanently remove an item [Optional]WEBFLOW_PUBLISH_SITE - Publish changes to make them live [Optional]Key parameters for CREATE_COLLECTION_ITEM:
collection_id: 24-character hex string from LIST_COLLECTIONSfield_data: Object with field slug keys (NOT display names); must include name and slug
field_data.name: Display name for the itemfield_data.slug: URL-friendly identifier (lowercase, hyphens, no spaces)is_draft: Boolean to create as draft (default false)Key parameters for UPDATE_COLLECTION_ITEM:
collection_id: Collection identifieritem_id: 24-character hex MongoDB ObjectId of the existing itemfields: Object with field slug keys and new valueslive: Boolean to publish changes immediately (default false)Field value types:
{"url": "...", "alt": "...", "fileId": "..."}
Pitfalls:
slug from the collection schema, NOT display namesGET_COLLECTION first to retrieve the schema and identify correct field slugsCREATE_COLLECTION_ITEM requires name and slug in field_data
UPDATE_COLLECTION_ITEM cannot create new items; it requires a valid existing item_id
item_id must be a 24-character hexadecimal MongoDB ObjectId^[a-z0-9]+(?:-[a-z0-9]+)*$
PUBLISH_SITE or set live: true to push to productionWhen to use: User wants to list sites, inspect site configuration, or publish staged changes
Tool sequence:
WEBFLOW_LIST_WEBFLOW_SITES - List all accessible sites [Required]WEBFLOW_GET_SITE_INFO - Get detailed site metadata including domains and settings [Optional]WEBFLOW_PUBLISH_SITE - Deploy all staged changes to live site [Required for publishing]Key parameters for PUBLISH_SITE:
site_id: Site identifier from LIST_WEBFLOW_SITEScustom_domains: Array of custom domain ID strings (from GET_SITE_INFO)publish_to_webflow_subdomain: Boolean to publish to {shortName}.webflow.io
custom_domains or publish_to_webflow_subdomain must be specifiedPitfalls:
PUBLISH_SITE republishes ALL staged changes for selected domains -- verify no unintended drafts are pendingpublish_to_webflow_subdomain: true
custom_domains expects domain IDs (hex strings), not domain namesWhen to use: User wants to list pages, inspect page metadata, or examine page DOM structure
Tool sequence:
WEBFLOW_LIST_WEBFLOW_SITES - Find the target site_id [Prerequisite]WEBFLOW_LIST_PAGES - List all pages for a site with pagination [Required]WEBFLOW_GET_PAGE - Get detailed metadata for a specific page [Optional]WEBFLOW_GET_PAGE_DOM - Get the DOM/content node structure of a static page [Optional]Key parameters:
site_id: Site identifier (required for list pages)page_id: 24-character hex page identifierlocale_id: Optional locale filter for multi-language siteslimit: Max results per page (max 100)offset: Pagination offsetPitfalls:
LIST_PAGES paginates via offset/limit; iterate when sites have many pages^[0-9a-fA-F]{24}$
GET_PAGE_DOM returns the node structure, not rendered HTMLWhen to use: User wants to upload images, files, or other assets to a Webflow site
Tool sequence:
WEBFLOW_LIST_WEBFLOW_SITES - Find the target site_id [Prerequisite]WEBFLOW_UPLOAD_ASSET - Upload a file with base64-encoded content [Required]Key parameters:
site_id: Site identifierfile_name: Name of the file (e.g., "logo.png")file_content: Base64-encoded binary content of the file (NOT a placeholder or URL)content_type: MIME type (e.g., "image/png", "image/jpeg", "application/pdf")md5: MD5 hash of the raw file bytes (32-character hex string)asset_folder_id: Optional folder placementPitfalls:
file_content must be actual base64-encoded data, NOT a variable reference or placeholdermd5 must be computed from the raw bytes, not from the base64 stringWhen to use: User wants to view ecommerce orders from a Webflow site
Tool sequence:
WEBFLOW_LIST_WEBFLOW_SITES - Find the site with ecommerce enabled [Prerequisite]WEBFLOW_LIST_ORDERS - List all orders with optional status filtering [Required]WEBFLOW_GET_ORDER - Get detailed information for a specific order [Optional]Key parameters:
site_id: Site identifier (must have ecommerce enabled)order_id: Specific order identifier for detailed retrievalstatus: Filter orders by statusPitfalls:
Webflow uses 24-character hexadecimal IDs throughout:
WEBFLOW_LIST_WEBFLOW_SITES -- find by name, capture id
WEBFLOW_LIST_COLLECTIONS with site_id
WEBFLOW_LIST_COLLECTION_ITEMS with collection_id
WEBFLOW_LIST_PAGES with site_id
WEBFLOW_GET_SITE_INFO -- found in customDomains arrayWEBFLOW_GET_COLLECTION -- found in collection fields arrayWebflow uses offset-based pagination:
offset: Starting index (0-based)limit: Items per page (max 100)Typical CMS content creation flow:
580e63fc8c9a982ac9b8b745
^[0-9a-fA-F]{24}$
slug values, NOT display namesauthor-name
GET_COLLECTION to discover correct field slugsPUBLISH_SITE deploys ALL staged changes, not just specific itemssites:read, cms:read, cms:write, pages:read
DELETE_COLLECTION_ITEM permanently removes CMS itemsPUBLISH_SITE makes all staged changes live immediately| Task | Tool Slug | Key Params |
|---|---|---|
| List sites | WEBFLOW_LIST_WEBFLOW_SITES |
(none) |
| Get site info | WEBFLOW_GET_SITE_INFO |
site_id |
| Publish site | WEBFLOW_PUBLISH_SITE |
site_id, custom_domains or publish_to_webflow_subdomain |
| List collections | WEBFLOW_LIST_COLLECTIONS |
site_id |
| Get collection schema | WEBFLOW_GET_COLLECTION |
collection_id |
| List collection items | WEBFLOW_LIST_COLLECTION_ITEMS |
collection_id, limit, offset |
| Get collection item | WEBFLOW_GET_COLLECTION_ITEM |
collection_id, item_id |
| Create collection item | WEBFLOW_CREATE_COLLECTION_ITEM |
collection_id, field_data |
| Update collection item | WEBFLOW_UPDATE_COLLECTION_ITEM |
collection_id, item_id, fields |
| Delete collection item | WEBFLOW_DELETE_COLLECTION_ITEM |
collection_id, item_id |
| List pages | WEBFLOW_LIST_PAGES |
site_id, limit, offset |
| Get page | WEBFLOW_GET_PAGE |
page_id |
| Get page DOM | WEBFLOW_GET_PAGE_DOM |
page_id |
| Upload asset | WEBFLOW_UPLOAD_ASSET |
site_id, file_name, file_content, content_type, md5 |
| List orders | WEBFLOW_LIST_ORDERS |
site_id, status |
| Get order | WEBFLOW_GET_ORDER |
site_id, order_id |
Powered by Composio