Antigravity-awesome-skills webflow-automation
Automate Webflow CMS collections, site publishing, page management, asset uploads, and ecommerce orders via Rube MCP (Composio). Always search tools first for current schemas.
git clone https://github.com/benjaminasterA/antigravity-awesome-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/benjaminasterA/antigravity-awesome-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/webflow-automation" ~/.claude/skills/benjaminastera-antigravity-awesome-skills-webflow-automation && rm -rf "$T"
skills/webflow-automation/SKILL.mdWebflow Automation via Rube MCP
Automate Webflow operations including CMS collection management, site publishing, page inspection, asset uploads, and ecommerce order retrieval through Composio's Webflow toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Webflow connection via
with toolkitRUBE_MANAGE_CONNECTIONSwebflow - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get 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.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSwebflow - If connection is not ACTIVE, follow the returned auth link to complete Webflow OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage CMS Collection Items
When to use: User wants to create, update, list, or delete items in Webflow CMS collections (blog posts, products, team members, etc.)
Tool sequence:
- List sites to find the target site_id [Prerequisite]WEBFLOW_LIST_WEBFLOW_SITES
- List all collections for the site [Prerequisite]WEBFLOW_LIST_COLLECTIONS
- Get collection schema to find valid field slugs [Prerequisite for create/update]WEBFLOW_GET_COLLECTION
- List existing items with filtering and pagination [Optional]WEBFLOW_LIST_COLLECTION_ITEMS
- Get a specific item's full details [Optional]WEBFLOW_GET_COLLECTION_ITEM
- Create a new item with field data [Required for creation]WEBFLOW_CREATE_COLLECTION_ITEM
- Update an existing item's fields [Required for updates]WEBFLOW_UPDATE_COLLECTION_ITEM
- Permanently remove an item [Optional]WEBFLOW_DELETE_COLLECTION_ITEM
- Publish changes to make them live [Optional]WEBFLOW_PUBLISH_SITE
Key parameters for CREATE_COLLECTION_ITEM:
: 24-character hex string from LIST_COLLECTIONScollection_id
: Object with field slug keys (NOT display names); must includefield_data
andnameslug
: Display name for the itemfield_data.name
: URL-friendly identifier (lowercase, hyphens, no spaces)field_data.slug
: Boolean to create as draft (default false)is_draft
Key parameters for UPDATE_COLLECTION_ITEM:
: Collection identifiercollection_id
: 24-character hex MongoDB ObjectId of the existing itemitem_id
: Object with field slug keys and new valuesfields
: Boolean to publish changes immediately (default false)live
Field value types:
- Text/Email/Link/Date: string
- Number: integer or float
- Boolean: true/false
- Image:
{"url": "...", "alt": "...", "fileId": "..."} - Multi-reference: array of reference ID strings
- Multi-image: array of image objects
- Option: option ID string
Pitfalls:
- Field keys must use the exact field
from the collection schema, NOT display namesslug - Always call
first to retrieve the schema and identify correct field slugsGET_COLLECTION
requiresCREATE_COLLECTION_ITEM
andname
inslugfield_data
cannot create new items; it requires a valid existingUPDATE_COLLECTION_ITEMitem_id
must be a 24-character hexadecimal MongoDB ObjectIditem_id- Slug must be lowercase alphanumeric with hyphens:
^[a-z0-9]+(?:-[a-z0-9]+)*$ - CMS items are staged; use
or setPUBLISH_SITE
to push to productionlive: true
2. Manage Sites and Publishing
When to use: User wants to list sites, inspect site configuration, or publish staged changes
Tool sequence:
- List all accessible sites [Required]WEBFLOW_LIST_WEBFLOW_SITES
- Get detailed site metadata including domains and settings [Optional]WEBFLOW_GET_SITE_INFO
- Deploy all staged changes to live site [Required for publishing]WEBFLOW_PUBLISH_SITE
Key parameters for PUBLISH_SITE:
: Site identifier from LIST_WEBFLOW_SITESsite_id
: Array of custom domain ID strings (from GET_SITE_INFO)custom_domains
: Boolean to publish topublish_to_webflow_subdomain{shortName}.webflow.io- At least one of
orcustom_domains
must be specifiedpublish_to_webflow_subdomain
Pitfalls:
republishes ALL staged changes for selected domains -- verify no unintended drafts are pendingPUBLISH_SITE- Rate limit: 1 successful publish per minute
- For sites without custom domains, must set
publish_to_webflow_subdomain: true
expects domain IDs (hex strings), not domain namescustom_domains- Publishing is a production action -- always confirm with the user first
3. Manage Pages
When to use: User wants to list pages, inspect page metadata, or examine page DOM structure
Tool sequence:
- Find the target site_id [Prerequisite]WEBFLOW_LIST_WEBFLOW_SITES
- List all pages for a site with pagination [Required]WEBFLOW_LIST_PAGES
- Get detailed metadata for a specific page [Optional]WEBFLOW_GET_PAGE
- Get the DOM/content node structure of a static page [Optional]WEBFLOW_GET_PAGE_DOM
Key parameters:
: Site identifier (required for list pages)site_id
: 24-character hex page identifierpage_id
: Optional locale filter for multi-language siteslocale_id
: Max results per page (max 100)limit
: Pagination offsetoffset
Pitfalls:
paginates via offset/limit; iterate when sites have many pagesLIST_PAGES- Page IDs are 24-character hex strings matching pattern
^[0-9a-fA-F]{24}$
returns the node structure, not rendered HTMLGET_PAGE_DOM- Pages include both static and CMS-driven pages
4. Upload Assets
When to use: User wants to upload images, files, or other assets to a Webflow site
Tool sequence:
- Find the target site_id [Prerequisite]WEBFLOW_LIST_WEBFLOW_SITES
- Upload a file with base64-encoded content [Required]WEBFLOW_UPLOAD_ASSET
Key parameters:
: Site identifiersite_id
: Name of the file (e.g.,file_name
)"logo.png"
: Base64-encoded binary content of the file (NOT a placeholder or URL)file_content
: MIME type (e.g.,content_type
,"image/png"
,"image/jpeg"
)"application/pdf"
: MD5 hash of the raw file bytes (32-character hex string)md5
: Optional folder placementasset_folder_id
Pitfalls:
must be actual base64-encoded data, NOT a variable reference or placeholderfile_content
must be computed from the raw bytes, not from the base64 stringmd5- This is a two-step process internally: generates an S3 pre-signed URL, then uploads
- Large files may encounter timeouts; keep uploads reasonable in size
5. Manage Ecommerce Orders
When to use: User wants to view ecommerce orders from a Webflow site
Tool sequence:
- Find the site with ecommerce enabled [Prerequisite]WEBFLOW_LIST_WEBFLOW_SITES
- List all orders with optional status filtering [Required]WEBFLOW_LIST_ORDERS
- Get detailed information for a specific order [Optional]WEBFLOW_GET_ORDER
Key parameters:
: Site identifier (must have ecommerce enabled)site_id
: Specific order identifier for detailed retrievalorder_id
: Filter orders by statusstatus
Pitfalls:
- Ecommerce must be enabled on the Webflow site for order endpoints to work
- Order endpoints are read-only; no create/update/delete for orders through these tools
Common Patterns
ID Resolution
Webflow uses 24-character hexadecimal IDs throughout:
- Site ID:
-- find by name, captureWEBFLOW_LIST_WEBFLOW_SITESid - Collection ID:
withWEBFLOW_LIST_COLLECTIONSsite_id - Item ID:
withWEBFLOW_LIST_COLLECTION_ITEMScollection_id - Page ID:
withWEBFLOW_LIST_PAGESsite_id - Domain IDs:
-- found inWEBFLOW_GET_SITE_INFO
arraycustomDomains - Field slugs:
-- found in collectionWEBFLOW_GET_COLLECTION
arrayfields
Pagination
Webflow uses offset-based pagination:
: Starting index (0-based)offset
: Items per page (max 100)limit- Increment offset by limit until fewer results than limit are returned
- Available on: LIST_COLLECTION_ITEMS, LIST_PAGES
CMS Workflow
Typical CMS content creation flow:
- Get site_id from LIST_WEBFLOW_SITES
- Get collection_id from LIST_COLLECTIONS
- Get field schema from GET_COLLECTION (to learn field slugs)
- Create/update items using correct field slugs
- Publish site to make changes live
Known Pitfalls
ID Formats
- All Webflow IDs are 24-character hexadecimal strings (MongoDB ObjectIds)
- Example:
580e63fc8c9a982ac9b8b745 - Pattern:
^[0-9a-fA-F]{24}$ - Invalid IDs return 404 errors
Field Slugs vs Display Names
- CMS operations require field
values, NOT display namesslug - A field with displayName "Author Name" might have slug
author-name - Always call
to discover correct field slugsGET_COLLECTION - Using wrong field names silently ignores the data or causes validation errors
Publishing
deploys ALL staged changes, not just specific itemsPUBLISH_SITE- Rate limited to 1 publish per minute
- Must specify at least one domain target (custom or webflow subdomain)
- This is a production-affecting action; always confirm intent
Authentication Scopes
- Different operations require different OAuth scopes:
,sites:read
,cms:read
,cms:writepages:read - A 403 error typically means missing OAuth scopes
- Check connection permissions if operations fail with authorization errors
Destructive Operations
permanently removes CMS itemsDELETE_COLLECTION_ITEM
makes all staged changes live immediatelyPUBLISH_SITE- Always confirm with the user before executing these actions
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List sites | | (none) |
| Get site info | | |
| Publish site | | , or |
| List collections | | |
| Get collection schema | | |
| List collection items | | , , |
| Get collection item | | , |
| Create collection item | | , |
| Update collection item | | , , |
| Delete collection item | | , |
| List pages | | , , |
| Get page | | |
| Get page DOM | | |
| Upload asset | | , , , , |
| List orders | | , |
| Get order | | , |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.