Install
$ agentstack add skill-webflow-webflow-skills-bulk-cms-update ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Bulk CMS Update
Create or update multiple CMS items with comprehensive validation, granular approval, and rollback capability.
Important Note
ALWAYS use Webflow MCP tools for all operations:
- Use Webflow MCP's
data_sites_toolwith actionlist_sitesfor listing available sites - Use Webflow MCP's
data_cms_toolwith actionget_collection_listfor listing CMS collections - Use Webflow MCP's
data_cms_toolwith actionget_collection_detailsfor fetching collection schemas - Use Webflow MCP's
data_cms_toolwith actionlist_collection_itemsfor retrieving existing items - Use Webflow MCP's
data_cms_toolwith actioncreate_collection_itemsfor creating items (draft or published) - Use Webflow MCP's
data_cms_toolwith actionupdate_collection_itemsfor updating items (draft or published) - Use Webflow MCP's
data_cms_toolwith actionpublish_collection_itemsfor publishing draft items - Use Webflow MCP's
webflow_guide_toolto get best practices before starting - DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required
contextparameter (15-25 words, third-person perspective)
Instructions
Phase 1: Site & Collection Selection
- Get site: Identify the target site. If user does not provide site ID, ask for it.
- List collections: Use Webflow MCP's
data_cms_toolwith actionget_collection_listto show available collections - Ask user to select collection: User specifies which collection to work with
- Fetch collection schema: Use Webflow MCP's
data_cms_toolwith actionget_collection_detailsto retrieve:
- All field definitions with types
- Required vs optional fields
- Field validations (max length, patterns, etc.)
- Reference field targets
Phase 2: Data Collection & Parsing
- Ask operation type: Clarify what user wants to do:
- Create new items only
- Update existing items only
- Both create and update
- Receive data from user: Accept data in flexible formats:
- Structured format (JSON-like)
- Natural language descriptions
- CSV-style data
- Bullet lists
- Parse and normalize: Convert user data into structured format
- Fetch existing items (if updates involved): Use Webflow MCP's
data_cms_toolwith actionlist_collection_itemsto get current data
IMPORTANT - Efficient Item Lookup:
- When searching for specific items by name, ALWAYS use the
nameparameter to filter (e.g.,name: "Pikachu") - When searching by slug, use the
slugparameter to filter - NEVER fetch all items first and then search through the results - this wastes API calls and tokens
- Only fetch the full list when you need to display all items or don't know which specific items to target
Phase 3: Validation & Analysis
- Validate all data:
- Field names: Check all field names exist in schema
- Required fields: Ensure all required fields are provided
- Field types: Validate data types match schema
- Constraints: Check max lengths, patterns, allowed values
- Slugs: Ensure slugs are unique and valid
- Reference fields: Verify referenced items exist
- Detect conflicts:
- Duplicate slugs (within batch or with existing items)
- Missing required fields
- Invalid data types
- Constraint violations
- Analyze impact:
- Count creates vs updates
- Identify which fields will change
- Calculate batch size and processing time
Phase 4: Preview & Granular Approval
- Generate detailed preview:
- Show each item with validation status
- Display warnings for any issues
- For updates, show diffs (old → new)
- For creates, show all field values
- Number each item for selective approval
- Present granular approval options:
- Allow user to select specific items to process
- Options: "all", "none", specific numbers, number ranges
- Show estimated processing time
- Offer publish options:
- Publish immediately (use
*_liveendpoints) - Create as drafts (use regular endpoints + manual publish)
Phase 5: Execution & Reporting
- Store rollback data: Before any changes, save:
- Original values for all updated items
- Timestamp
- Operation details
- Process in batches:
- Maximum 50 items per batch
- Show progress indicator
- Handle rate limits gracefully
- Execute operations: Use appropriate Webflow MCP tools based on user choice
- Handle errors gracefully:
- Continue processing on single item failures
- Track successes and failures separately
- Provide detailed error messages
- Generate comprehensive report:
- Summary (success/failure counts)
- Detailed results per item
- Item IDs for created/updated items
- Error details for failed items
- Offer rollback option: Allow user to undo changes if needed
Examples
User prompt:
Add 2 blog posts about Webflow MCP and update the first blog to say "Top" instead of "Best"
Step 1: Site & Collection Selection
📋 Bulk CMS Update Setup
Available Sites:
1. MCP Demo#1
2. MCP Demo#2
3. MCP Demo#3
Please select a site (1-3):
User selects: 1
Available Collections in MCP Demo#1:
└── Blog Posts (9 items)
Fields: name, slug, post-body, post-summary, main-image, thumbnail-image, featured, color
Proceed with Blog Posts collection? (yes/no)
User confirms: yes
Step 2: Data Collection
🔍 Collection Schema: Blog Posts
Required Fields:
- name (PlainText, max 256 chars)
- slug (PlainText, max 256 chars, alphanumeric only)
Optional Fields:
- post-body (RichText)
- post-summary (PlainText)
- main-image (Image)
- thumbnail-image (Image)
- featured (Switch, true/false)
- color (Color, hex format)
I'll parse your request:
- Create 2 new posts about Webflow MCP
- Update first post: "Best" → "Top"
Generating items...
Step 3: Validation & Preview
📋 Preview: Bulk CMS Update
Collection: Blog Posts
Operations: Create 2 items + Update 1 item
---
### 🆕 Items to Create (2)
[1] ✓ NEW POST
name: "Webflow MCP: The Future of Web Development"
slug: "webflow-mcp-future-web-development"
post-summary: "Discover how Webflow MCP is revolutionizing..."
post-body: "The Future is Here..."
featured: true
color: "#9B59B6"
✅ All validations passed
[2] ✓ NEW POST
name: "Why Webflow MCP Will Transform Your Workflow in 2026"
slug: "webflow-mcp-transform-workflow-2026"
post-summary: "Learn how Webflow MCP's integration..."
post-body: "Transform Your Workflow..."
featured: true
color: "#3498DB"
✅ All validations passed
---
### ✏️ Items to Update (1)
[3] ✓ UPDATE EXISTING
Item ID: 69615f84fc6ce1aa444d24d5
Slug: why-webflow-is-best-2026-ai
Changes:
name: "Why Webflow is the Best Choice for 2026" → "Why Webflow is the Top Choice for 2026"
✅ All validations passed
---
**Summary:**
- ✅ 2 items will be created
- ✅ 1 item will be updated
- ⚠️ 0 warnings
- ❌ 0 errors
**Publish Options:**
1. Publish immediately (recommended)
2. Save as drafts
Which items would you like to process?
- Type "all" to process all 3 items
- Type numbers to skip (e.g., "2" to skip item 2)
- Type "none" to cancel
Select publish option (1/2): _
Select items: _
User selects: 1, all
⚠️ You're about to:
- Create 2 new blog posts (published live)
- Update 1 existing blog post (changes published live)
Type "confirm" to proceed.
User confirms: confirm
Step 4: Execution & Results
🔄 Processing bulk update...
Creating items: ██████████ 100% (2/2)
Updating items: ██████████ 100% (1/1)
✅ Bulk CMS Update Complete!
---
### 🆕 Created Items (2)
✓ [1] "Webflow MCP: The Future of Web Development"
ID: 6961640c66de07bed9aacf3e
Slug: webflow-mcp-future-web-development
Published: Jan 9, 2026, 8:24 PM
✓ [2] "Why Webflow MCP Will Transform Your Workflow in 2026"
ID: 6961640c66de07bed9aacf41
Slug: webflow-mcp-transform-workflow-2026
Published: Jan 9, 2026, 8:24 PM
---
### ✏️ Updated Items (1)
✓ [3] "Why Webflow is the Top Choice for 2026"
ID: 69615f84fc6ce1aa444d24d5
Changed: title updated
Published: Jan 9, 2026, 8:24 PM
---
**Summary:**
- ✅ 2 items created successfully
- ✅ 1 item updated successfully
- ❌ 0 failures
- ⏱️ Completed in 3.2 seconds
**Total Items:** 11 (was 9)
📋 Rollback Available:
Last update: 3 items modified just now
Type "undo" within 5 minutes to revert all changes
Alternative: With Validation Warnings
📋 Preview: Bulk CMS Update
[1] ⚠️ NEW POST
name: "Test Post"
slug: "test"
post-summary: "Hi"
⚠️ Warning: post-summary too short ( 5
Updated: 10 items
- Show first 5 with IDs
- "[+5 more]" if > 5
Failed: 2 items
- "Item Name": Error reason
- "Item Name": Error reason
Total time: 12.5 seconds
Items per second: 2.8
Rollback Capability:
Store Before Changes:
{
"timestamp": "2026-01-09T20:24:44Z",
"operations": [
{
"type": "update",
"itemId": "xxx",
"originalValues": {
"name": "Old Title",
"featured": false
},
"newValues": {
"name": "New Title",
"featured": true
}
}
]
}
Offer Rollback:
📋 Rollback Available:
Last update: 15 items modified 2 minutes ago
Rollback will:
- Restore 10 updated items to previous values
- Delete 5 newly created items
⚠️ Type "undo" to rollback all changes
⚠️ Rollback expires in 3 minutes
Performance Optimization
Batch Size:
- Default: 50 items per batch
- Adjust based on field complexity
- Heavy images: 20 items per batch
- Simple text fields: 100 items per batch
Progress Indicators:
Creating items...
Batch 1/3: ████████████████████ 100% (50/50)
Batch 2/3: ████████████████████ 100% (50/50)
Batch 3/3: ██████░░░░░░░░░░░░░░ 30% (15/50)
Rate Limiting:
- Respect Webflow API rate limits
- Pause between batches if needed
- Show user why waiting
- Retry failed requests automatically (max 3 attempts)
Error Messages
Clear and Actionable:
❌ Bad:
"Error: validation failed"
✅ Good:
"Validation Error on item 3:
- Slug 'my post' contains spaces
- Change to: 'my-post' (alphanumeric with hyphens only)"
Error Categories:
- 🔴 Critical: Cannot proceed at all (API down, invalid auth)
- ❌ Error: This item cannot be processed (fix or skip)
- ⚠️ Warning: Can proceed but not recommended (missing optional fields)
- 💡 Suggestion: Best practices (slug too generic, summary too short)
Best Practices
Always:
- ✅ Show preview before any changes
- ✅ Require explicit confirmation
- ✅ Validate all data thoroughly
- ✅ Process in batches for large operations
- ✅ Report successes and failures separately
- ✅ Offer rollback for recent changes
- ✅ Use granular approval for flexibility
Never:
- ❌ Apply changes without user confirmation
- ❌ Fail entire batch for single item error
- ❌ Assume field names or values
- ❌ Process without validating first
- ❌ Hide validation warnings from user
Edge Cases:
- Duplicate slugs: Auto-append number (post-title-2)
- Missing optional fields: Leave empty (don't invent values)
- Large batches: Warn about processing time
- Reference fields: Validate targets exist
- Image fields: Accept URLs or file IDs
User Experience:
- Show collection schema upfront
- Number items for easy reference
- Use visual hierarchy (├── └──)
- Provide actionable error messages
- Estimate processing time
- Allow cancellation mid-process
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: webflow
- Source: webflow/webflow-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.