
Webflow
- 45 installs
- 76 repo stars
- Updated August 4, 2026
- vm0-ai/vm0-skills
Helps with ai & agent building tasks during AI-assisted development.
About
webflow is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- webflow
- AI & Agent Building
- AI-coding skill
Webflow by the numbers
- 45 all-time installs (skills.sh)
- Ranked #7,749 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill webflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 45 |
|---|---|
| repo stars | ★ 76 |
| Last updated | August 4, 2026 |
| Repository | vm0-ai/vm0-skills ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
Troubleshooting
If requests fail, run zero doctor check-connector --env-name WEBFLOW_TOKEN or zero doctor check-connector --url https://api.webflow.com/v2/token/authorized_by --method GET
How to Use
All examples assume WEBFLOW_TOKEN is set.
Base URL: https://api.webflow.com/v2
1. Get Authorized User
Get information about the authenticated user:
curl -s "https://api.webflow.com/v2/token/authorized_by" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, email, firstName, lastName}'2. List Sites
List all sites accessible to the authenticated user:
curl -s "https://api.webflow.com/v2/sites" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.sites[] | {id, displayName, shortName, lastPublished}'3. Get Site Details
Retrieve details for a specific site. Replace <site-id> with an actual site ID from the list sites response.
curl -s "https://api.webflow.com/v2/sites/<site-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, displayName, shortName, lastPublished, previewUrl}'4. List Pages
List all pages for a site. Replace <site-id> with your site ID.
curl -s "https://api.webflow.com/v2/sites/<site-id>/pages" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.pages[] | {id, title, slug, createdOn, lastUpdated}'5. Get Page Metadata
Retrieve metadata for a specific page. Replace <page-id> with an actual page ID.
curl -s "https://api.webflow.com/v2/pages/<page-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, title, slug, seo: {title: .seo.title, description: .seo.description}}'6. Update Page Settings
Update SEO settings or other metadata for a page. Replace <page-id> with your page ID.
Write to /tmp/webflow_page_update.json:
{
"body": {
"seo": {
"title": "Updated Page Title",
"description": "Updated meta description for this page"
}
}
}curl -s -X PATCH "https://api.webflow.com/v2/pages/<page-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" --header "Content-Type: application/json" -d @/tmp/webflow_page_update.json | jq '{id, title, slug}'7. List Collections
List all CMS collections for a site. Replace <site-id> with your site ID.
curl -s "https://api.webflow.com/v2/sites/<site-id>/collections" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.collections[] | {id, displayName, singularName, slug}'8. Get Collection Details
Retrieve schema and details for a specific collection, including field definitions. Replace <collection-id> with your collection ID.
curl -s "https://api.webflow.com/v2/collections/<collection-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, displayName, singularName, slug, fields: [.fields[] | {id, displayName, slug, type, isRequired}]}'9. List Collection Items
List all items in a CMS collection. Replace <collection-id> with your collection ID.
curl -s "https://api.webflow.com/v2/collections/<collection-id>/items" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.items[] | {id, fieldData: .fieldData}'Supports pagination with offset and limit query parameters:
curl -s "https://api.webflow.com/v2/collections/<collection-id>/items?offset=0&limit=10" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{pagination, items: [.items[] | {id, fieldData: .fieldData}]}'10. Get Collection Item
Get a single item by ID. Replace <collection-id> and <item-id>.
curl -s "https://api.webflow.com/v2/collections/<collection-id>/items/<item-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, fieldData}'11. Create Collection Item
Create a new item in a CMS collection. Replace <collection-id> with your collection ID.
Write to /tmp/webflow_item.json:
{
"fieldData": {
"name": "New Blog Post",
"slug": "new-blog-post"
}
}curl -s -X POST "https://api.webflow.com/v2/collections/<collection-id>/items" --header "Authorization: Bearer $WEBFLOW_TOKEN" --header "Content-Type: application/json" -d @/tmp/webflow_item.json | jq '{id, fieldData}'12. Update Collection Item
Update an existing item. Replace <collection-id> and <item-id>.
Write to /tmp/webflow_item_update.json:
{
"fieldData": {
"name": "Updated Blog Post Title"
}
}curl -s -X PATCH "https://api.webflow.com/v2/collections/<collection-id>/items/<item-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" --header "Content-Type: application/json" -d @/tmp/webflow_item_update.json | jq '{id, fieldData}'13. Delete Collection Item
Delete an item from a collection. Replace <collection-id> and <item-id>.
curl -s -X DELETE "https://api.webflow.com/v2/collections/<collection-id>/items/<item-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN"14. Publish Collection Items
Publish one or more staged items. Replace <collection-id> with your collection ID.
Write to /tmp/webflow_publish.json:
{
"itemIds": ["<item-id-1>", "<item-id-2>"]
}curl -s -X POST "https://api.webflow.com/v2/collections/<collection-id>/items/publish" --header "Authorization: Bearer $WEBFLOW_TOKEN" --header "Content-Type: application/json" -d @/tmp/webflow_publish.json | jq '{publishedItemIds}'15. List Assets
List all assets (images, files) for a site. Replace <site-id> with your site ID.
curl -s "https://api.webflow.com/v2/sites/<site-id>/assets" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.assets[] | {id, displayName, url, fileSize, contentType}'16. Get Asset Details
Get details for a specific asset. Replace <asset-id> with your asset ID.
curl -s "https://api.webflow.com/v2/assets/<asset-id>" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '{id, displayName, url, fileSize, contentType, createdOn}'17. List Form Submissions
List submissions for a specific form. Replace <form-id> with your form ID.
curl -s "https://api.webflow.com/v2/forms/<form-id>/submissions" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.formSubmissions[] | {id, submittedAt, formData}'To find form IDs, list all forms for a site first:
curl -s "https://api.webflow.com/v2/sites/<site-id>/forms" --header "Authorization: Bearer $WEBFLOW_TOKEN" | jq '.forms[] | {id, displayName, siteId}'18. Publish Site
Trigger a site publish. Replace <site-id> with your site ID.
Write to /tmp/webflow_publish_site.json:
{
"publishToWebflowSubdomain": true
}curl -s -X POST "https://api.webflow.com/v2/sites/<site-id>/publish" --header "Authorization: Bearer $WEBFLOW_TOKEN" --header "Content-Type: application/json" -d @/tmp/webflow_publish_site.jsonGuidelines
1. Start with `/v2/token/authorized_by`: Always verify auth first before calling other endpoints 2. Get site ID first: Most operations require a site ID — call List Sites first 3. CMS workflow: List collections -> get collection schema -> CRUD items -> publish items 4. Staged vs Live items: By default, item endpoints work with staged (draft) items. Use /items/live path for published items 5. Pagination: List endpoints support offset and limit query parameters (default limit is 100) 6. Rate limits: 60 requests per minute; back off on 429 responses 7. Field data: When creating/updating items, field values go inside the fieldData object, keyed by field slug