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_tool with action list_sites for listing available sites
- Use Webflow MCP's
data_cms_tool with action get_collection_list for listing CMS collections
- Use Webflow MCP's
data_cms_tool with action get_collection_details for fetching collection schemas
- Use Webflow MCP's
data_cms_tool with action list_collection_items for retrieving existing items
- Use Webflow MCP's
data_cms_tool with action create_collection_items for creating items (draft or published)
- Use Webflow MCP's
data_cms_tool with action update_collection_items for updating items (draft or published)
- Use Webflow MCP's
data_cms_tool with action publish_collection_items for publishing draft items
- Use Webflow MCP's
webflow_guide_tool to get best practices before starting
- DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required
context parameter (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_tool with action get_collection_list to show available collections
- Ask user to select collection: User specifies which collection to work with
- Fetch collection schema: Use Webflow MCP's
data_cms_tool with action get_collection_details to 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_tool with action list_collection_items to get current data
IMPORTANT - Efficient Item Lookup:
- When searching for specific items by name, ALWAYS use the
name parameter to filter (e.g., name: "Pikachu")
- When searching by slug, use the
slug parameter 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
*_live endpoints)
- 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:
Step 1: Site & Collection Selection
User selects: 1
User confirms: yes
Step 2: Data Collection
Step 3: Validation & Preview
User selects: 1, all
User confirms: confirm
Step 4: Execution & Results
Alternative: With Validation Warnings
Guidelines
Phase 1: Critical Requirements
Site & Collection Selection:
- Always fetch actual site list using
data_sites_tool with action list_sites
- Never assume site IDs
- Show collection names and item counts
- Display field schema before accepting data
- Confirm collection selection with user
Phase 2: Data Parsing
Flexible Input Formats:
Accept data in multiple formats:
- Structured (JSON-like):
- Natural Language:
- CSV-style:
- Bullet Lists:
Parsing Rules:
- Be lenient with format variations
- Infer missing optional fields
- Ask for clarification if ambiguous
- Never assume required field values
Efficient Item Lookup:
When fetching existing items for updates, use filter parameters to minimize API calls:
- ALWAYS use
name or slug parameters when searching for specific items
- This reduces API calls, response size, and token usage
- Only fetch unfiltered lists when displaying all items or when the target is unknown
Phase 3: Validation Rules
Field Name Validation:
- Check all field names exist in schema
- Case-sensitive matching
- Suggest corrections for typos
- Example: "autor" ā Did you mean "author"?
Required Fields:
name and slug are ALWAYS required for Webflow CMS
- Check collection-specific required fields from schema
- List all missing required fields clearly
- Cannot proceed if required fields missing
Field Type Validation:
PlainText:
- Check max length constraints
- Validate patterns if specified
- No HTML allowed
RichText:
- Must be valid HTML
- Check for unclosed tags
- Allow common HTML elements
Image/File:
- Accept file IDs or URLs
- Validate file exists (if possible)
- Optional alt text
Switch (Boolean):
- Accept: true/false, yes/no, 1/0
- Normalize to boolean
Color:
- Must be hex format (#RRGGBB)
- Validate hex characters
- Example: #FF5733 ā, red ā
Reference Fields:
- Must reference existing item IDs
- Validate referenced items exist
- Show referenced item names for clarity
Slug Validation:
- CRITICAL: Must be alphanumeric with hyphens only
- No spaces, underscores, or special characters
- Max 256 characters
- Must be unique (check against existing + batch)
- Auto-suggest slugs from titles if missing
- Example:
- ā "My Post!" ā ā ļø Contains special characters
- ā
"my-post" ā Valid
Constraint Validation:
- Max length: Warn if approaching limit, error if exceeds
- Patterns: Test regex patterns from schema
- Allowed values: Check against enumerated options
Phase 4: Preview & Approval
Preview Format:
For Create Operations:
For Update Operations:
For Items with Warnings:
For Items with Errors:
Granular Approval:
- Number each item: [1], [2], [3]...
- Allow selective processing
- Accept formats:
- "all" - process everything
- "none" - cancel operation
- "1,3,5" - process items 1, 3, and 5
- "1-5" - process items 1 through 5
- "2" - skip only item 2, process rest
Publish Options:
- Immediate publish: Use
*_live endpoints (recommended)
- Draft mode: Use regular endpoints, publish later
- Explain implications of each choice
Phase 5: Execution & Reporting
Batch Processing:
- Maximum 50 items per batch
- Show progress bar:
- Estimated time remaining
- Handle rate limits (pause/retry)
Error Handling:
For Single Item Failures:
Continue Processing:
- Don't fail entire batch for one error
- Track all successes and failures
- Report both separately
For Critical Failures:
Success Report Format:
Rollback Capability:
Store Before Changes:
Offer Rollback:
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:
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:
ā
Good:
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