webflow/webflow-mcp:site-activity
Query and summarize site activity logs for a Webflow enterprise site. Surfaces recent changes, identifies who made them, and generates human-readable activity reports. Use for site monitoring, change tracking, publish preparation, or weekly activity summaries. Enterprise plans only.
npx skills add https://github.com/webflow/webflow-skills --skill webflow-mcp:site-activity
Query, analyze, and summarize Webflow site activity logs for enterprise sites. Provides natural-language querying of recent changes, filtered summaries by event type or user, and formatted reports for team sharing.
ALWAYS use Webflow MCP tools for all operations:
data_sites_tool with action list_sites for listing available sitesdata_sites_tool with action get_site for detailed site informationdata_enterprise_tool with action list_site_activity_logs for retrieving activity log eventswebflow_guide_tool to get best practices before startingcontext parameter (15-25 words, third-person perspective)Enterprise Only: Activity logs are only available for sites on Enterprise hosting plans. If the tool returns an error, inform the user that this feature requires an Enterprise plan.
Tool Parameters for list_site_activity_logs:
site_id (required): The site's unique identifierlimit (optional): Maximum records to return (max 100)offset (optional): Pagination offset for fetching beyond the first pagedata_sites_tool with action list_sites. Each site in the response has displayName, lastPublished, and lastUpdated.Sort order:
lastUpdated descending)Truncation: Show the top 10 sites only. If there are more than 10 total, append a line …and N more sites. Reply "show all" to see the rest. below the list. When the user replies "show all" (or similar), re-present the full list in the same format.
Present the list in this exact format:
📋 Site Activity — Site Selection
Available Enterprise Sites:
1. <Site Name> ⚠️ — last published <short date>, updated <short date> (<N> days unpublished)
2. <Site Name> ✅ — published & updated <short date>
3. <Site Name> ⚠️ — never published, updated <short date>
…and 4 more sites. Reply "show all" to see the rest.
Which site would you like to review?
Format rules:
lastUpdated > lastPublished OR lastPublished is null; ✅ when lastUpdated <= lastPublished.lastPublished == lastUpdated, collapse the right-hand side to "published & updated <date>".data_sites_tool with action get_site once, for the selected site only, to retrieve fields not returned by list_sites — in particular:lastPublished and lastUpdated are already known from step 1 (or from get_site if the user provided a site ID directly). Keep these in memory for the pre-publish filter in Phase 3.
Only ask a clarifying question if the request is genuinely ambiguous (e.g., "show me activity" with no time window, user, or event type context).
list_site_activity_logs with the site IDlimit: 100 (maximum per request) for comprehensive resultsoffset parameter to fetch additional pagesid: Unique event identifiercreatedOn: Timestamp (ISO 8601)lastUpdated: Last update timestampevent: Event type string (see Event Types below)user: Object with id and displayName (absent for system events like backups)resourceOperation: The operation performed (CREATED, MODIFIED, DELETED)resourceId: ID of the affected resource (when applicable)resourceName: Human-readable name of the affected resourcepayload: Additional event-specific details (see Payload Details below)Page Changes:
page_dom_modified — Page structure/element changespage_created — New page creationpage_deleted — Page deletionpage_duplicated — Page duplicationpage_renamed — Page renamepage_settings_modified — Page settings updates (SEO, slug, etc.)page_custom_code_modified — Page-level custom code changespage_settings_custom_code_modified — Page settings custom code changesStyle & Variable Changes:
styles_modified — Style/class changesvariable_modified — Single variable changevariables_modified — Multiple variable changesComponent Changes:
symbols_modified — Component/symbol created, modified, or deletedInteractions:
ix2_modified_on_page — Interaction changes on a pageix2_modified_on_component — Interaction changes on a componentix2_modified_on_class — Interaction changes on a classCMS Changes:
cms_item — Collection item created, modified, or deletedcms_collection — Collection schema created, modified, or deletedSite Management:
site_published — Site publishedsite_unpublished — Site unpublishedsite_custom_code_modified — Site-level custom code changesbackup_created — Automatic or manual backupbackup_restored — Backup restoredLocalization:
secondary_locale_page_content_modified — Localized page content changedlocale_added — New locale addedlocale_removed — Locale removedlocale_enabled — Locale enabledlocale_disabled — Locale disabledlocale_display_name_updated — Locale display name changedlocale_subdirectory_updated — Locale subdirectory changedlocale_tag_updated — Locale tag changedBranches:
branch_created — Branch createdbranch_merged — Branch mergedbranch_deleted — Branch deletedbranch_review_created — Branch review requestedbranch_review_approved — Branch review approvedbranch_review_canceled — Branch review canceledLibrary:
library_shared — Library shared with other siteslibrary_unshared — Library unsharedlibrary_installed — Library installed from another sitelibrary_uninstalled — Library uninstalledlibrary_update_shared — Library update publishedlibrary_update_accepted — Library update acceptedNote: If an event type not listed above appears, categorize it as "Other" and display the raw event string.
user.displayName)createdOn timestamps client-side)resourceName)lastPublished timestamp (from Phase 1) and filter to events where createdOn > lastPublished. If lastPublished is null (never published), all events qualify as unpublished.createdOn > lastPublished)10. Generate summary report with these sections:
11. Answer the user's specific question: If the user asked something specific, lead with the direct answer before the structured report.
12. Pick the detail level from the prompt:
The detail-level switch is always surfaced as one of the follow-up options in step 13 so the user can request a different level.
13. Always end every report with a follow-up options section. This is required, not optional. Use the exact format below, tailoring the numbered options to what's relevant for the query just answered:
---
Would you like to:
1. Filter by a specific user
2. Filter by activity type
3. Fetch older activity (pagination)
4. Switch to a quick summary (counts only) or a detailed view (per-event payloads)
5. Export as markdown or JSON
If the report was a shareable/export format (e.g., "summary I can share"), place this block outside the shareable content so the user can copy the report cleanly without the follow-up menu in it.
Different event types include different payload fields:
page_dom_modified:
pageTitle: Name of the modified pagepageId: ID of the modified pagecount: Number of modifications in this batchbranchId/branchName: Branch context (null if main)cms_item:
cmsCollectionId: ID of the parent collectioncmsCollectionName: Name of the parent collectioncount: Number of items affectedname: Locale name (e.g., "English", "Spanish")styles_modified:
selector: CSS selector (if applicable)variant: Breakpoint/pseudo-class variant stringparentChain: Array of parent style names (combo class chain)type: Style type (e.g., "class")branchId/branchName: Branch contextsymbols_modified:
branchId/branchName: Branch contextpage_settings_modified:
pageTitle: Name of the modified pagebranchId/branchName: Branch contextbackup_created:
resourceName indicates backup type (e.g., "Automatic backup", "Maintenance backup")user field (system-initiated)User prompt:
What happened on my site this week?
Step 1: Site Selection
📋 Site Activity — Site Selection
Available Enterprise Sites:
1. Acme Corp Website ⚠️ — last published Apr 14, updated Apr 16 (2 days unpublished)
2. Acme Blog ✅ — published & updated Apr 10
Which site would you like to review?
Step 2: Activity Summary
📋 Site Activity: Acme Corp Website
April 10–16, 2026 (93 events)
**93 events this week from 3 team members. 28 are unpublished since the last publish on Apr 14.**
---
## Activity Breakdown
📄 Page modifications 34 events
🎨 Class changes 22 events
📝 CMS updates 18 events
🧩 Component changes 8 events
🔤 Variable changes 5 events
🚀 Publishes 3 events
💾 Backups 2 events
🌿 Branch activity 1 event
---
## Activity by User
**Sarah Chen** — 42 events
└── Page modifications (18), Class changes (15), CMS updates (9)
**Alex Kim** — 31 events
└── CMS updates (9), Page modifications (12), Component changes (8), Variables (2)
**Jordan Lee** — 17 events
└── Class changes (7), Page modifications (4), Publishes (3), Backups (2), Branch (1)
**System** — 3 events
└── Backups (auto)
---
## Highlights
- ⚠️ **Unpublished changes**: 28 events since last publish (Apr 14)
- 📊 **Busiest day**: April 15 (41 events)
- 👤 **Most active**: Sarah Chen (45% of all activity)
- 🧩 8 component changes by Alex Kim — may affect multiple pages
---
Would you like to:
1. Filter by a specific user
2. Filter by activity type
3. See details for unpublished changes only
4. Switch to a quick summary (counts only) or detailed view (per-event payloads)
5. Fetch older activity
User prompt:
Show me CMS changes on site 6924868ede9d3fbbc3195eb0
Response:
📋 CMS Activity: Acme Corp Website
April 10–16, 2026 (18 CMS events)
**18 CMS events from 2 users over 5 days. 3 changes are unpublished.**
---
## CMS Breakdown
📝 Items modified 11 events
➕ Items created 5 events
📚 Collection changes 2 events
---
## Activity by User
**Sarah Chen** — 10 events
└── 2 items created, 7 items modified, 1 collection modified
**Alex Kim** — 8 events
└── 3 items created, 4 items modified, 1 bulk publish
---
## Highlights
- ⚠️ **Unpublished**: 3 CMS changes since last publish (Apr 14)
- 📊 **Busiest day**: April 15 (8 events)
- 📚 **Schema changes**: 2 collection edits this week (review carefully before publish)
---
Would you like to:
1. Filter to a specific collection
2. Filter by user (Sarah or Alex)
3. See only the unpublished CMS changes
4. Switch to a timeline view (chronological per-event) or counts only
5. Fetch older CMS activity
User prompt:
Give me a weekly summary I can share with my team for Acme Corp Website
(Naming the site inline skips Phase 1 step 1. If the user doesn't name a site, run the site-selection list first before producing this report.)
Response:
📋 Weekly Site Activity Report
Acme Corp Website — Week of April 10–16, 2026
---
### Overview
- **93 total changes** across 3 team members
- **3 publishes** (Apr 10, Apr 12, Apr 14)
- **28 unpublished changes** pending review
- **Last publish:** April 14 at 18:30 UTC
### What Changed
- 34 page modifications across 8 pages
- 22 class/style updates
- 18 CMS content changes (5 new items, 11 edits, 2 schema changes)
- 8 component updates
- 5 variable changes
### Team Activity
| Team Member | Changes | Top Activity |
|-------------|---------|-------------------------------|
| Sarah Chen | 42 | Page edits, style updates |
| Alex Kim | 31 | CMS content, components |
| Jordan Lee | 17 | Styles, publishing, backups |
### Action Items
- ⚠️ 28 changes are unpublished — consider reviewing and publishing
- 🧩 8 component changes may affect shared layouts — verify before publish
- 💾 Last backup: April 14 — consider creating a fresh backup
---
Generated from Webflow Site Activity Log
Would you like to:
Plan Requirement:
list_site_activity_logs is available only on Enterprise hosting plans ⚠️ Site Activity Logs require an Enterprise hosting plan.
This site does not appear to have Enterprise access.
Pagination:
offset to paginate: first call offset=0, second call offset=100, etc.When to paginate:
Rate awareness:
Common errors:
Graceful degradation:
Take webflow/webflow-mcp:site-activity from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.