Connectors · Commerce
Webflow MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Webflow and the rest of your systems. It gives your agent 126 Webflow actions (56 reads, 49 writes and 21 that wait for a confirmation) and holds the Webflow credential itself, so the agent never does. It paces Webflow's limits and records every call. Connecting Webflow needs your own Webflow OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "webflow.sites.list", intent: "check which Webflow account is connected"}# List Sites · read · 1 upstream call- 126actionsin one signed file
- 56readlook, never change
- 49writecreate and update
- 21wait for a yesdestructive, confirmed first
Set up
Connect Webflow in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Webflow.
OAuth 2.0, authorization code. You register your own OAuth app with Webflow, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Webflow needs an OAuth app of your own, registered in its developer portal. actionlake has no Webflow app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idWebflow app Client ID (Workspace settings > Apps & Integrations > Develop > your Data Client app)client_secretWebflow app Client Secret (same app page; enable every scope you want this connection to use)
account { op: "connections.requirements", service: "webflow" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "webflow.sites.list" }# list sites · read · 1 upstream callcheck { action: "webflow.products.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Webflow at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Webflow, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 60 calls a minute, per connection
- API covered
- Webflow Data API v2 (OpenAPI 3.1.0)
api.webflow.com/v2 - Built from
- Webflow's documentation, read 23 October 2026OpenAPI spec (GitHub)developers.webflow.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 54 of 56 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 7, so ask can line Webflow up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Webflow.
126 actions in 39 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 56readlook, never change
- 49writecreate and update
- 21destructivewait for a confirmation
Collection items
92 read · 5 write · 2 destructive
Create Collection Item(s) · Create Collection Items · List Collection Items · Get Collection Item
Custom fonts
82 read · 4 write · 2 destructive
Batch create custom fonts · Create custom font · List custom fonts · Get custom font
Live collection items
72 read · 3 write · 2 destructive
Create Live Collection Item(s) · List Live Collection Items · Get Live Collection Item · Update Live Collection Item
Orders
62 read · 3 write · 1 destructive
List Orders · Get Order · Update Order · Fulfill Order
Sites
62 read · 3 write · 1 destructive
List Sites · Create Site · Get Site · Update Site
Analyze reports
55 read · 0 write · 0 destructive
Get Time On Page Report · Get Top Dimensions Report · Get Top Events Report · Get Top Pages Report
Assets
52 read · 2 write · 1 destructive
List Assets · Get Asset · Delete Asset · Update Asset
Collections
52 read · 2 write · 1 destructive
Create Collection · List Collections · Get Collection Details · Update Collection
31 more areas · 75 actions
- Site form submissions 5
- Form submissions 4
- Google tags 4
- Products 4
- Redirects 4
- Robots TXT 4
- Webhooks 4
- Asset folders 3
- Collection fields 3
- Comment threads 3
- Page custom code 3
- Pages 3
- Registered scripts 3
- Site custom code 3
- Comment replies 2
- Component content 2
- Component properties 2
- Forms 2
- Inventory 2
- Page content 2
- Product skus 2
- Well known files 2
- Authorized user 1
- Components 1
- Custom code blocks 1
- Custom domains 1
- Ecommerce settings 1
- Site activity logs 1
- Site plan 1
- Token 1
- Workspace audit logs 1
Top actions
The Webflow API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 40 of Webflow's 40 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
webflow.products.listList Products & SKUs | Retrieve all products for a site. | read | commerce.product.list112 connectors |
webflow.orders.listList Orders | List all orders created for a given site. | read | commerce.order.list82 connectors |
webflow.sites.listList Sites | List of all sites the provided access token is able to access. | read | content.site.list16 connectors |
webflow.assets.listList Assets | List of assets uploaded to a site. | read | content.file.list77 connectors |
webflow.pages.listList Pages | List of all pages for a site. | read | content.site_page.list11 connectors |
webflow.asset_folders.listList Asset Folders | List Asset Folders within a given site. | read | content.folder.list62 connectors |
webflow.products.createCreate Product & SKU | Create a new ecommerce product and defaultSKU. | write | commerce.product.create92 connectors |
webflow.sites.createCreate Site | Create a site. | write | content.site.create12 connectors |
webflow.asset_folders.createCreate Asset Folder | Create an Asset Folder within a given site. | write | content.folder.create62 connectors |
webflow.orders.getGet Order | Retrieve a single product by its ID. | read | commerce.order.get87 connectors |
webflow.authorized_user.getGet Authorization User Info | Information about the Authorized User Required Scope | `authorized_user:read`. | read | identity.current_user.get307 connectors |
webflow.sites.deleteDelete Site | Delete a site. | destructive | content.site.delete13 connectors |
Try it
Prompts to paste into Claude.
Each one names the Webflow actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Webflow orders from the last seven days are still unfulfilled?
calls
webflow.orders.list - Writewrite
Create Product & SKU in Webflow. Show me exactly what you will send before you save it.
calls
webflow.products.create
Governance for Webflow
Destructive actions wait for a yes.
21 Webflow actions are destructive. These are all of them:
- Delete Site
webflow.sites.delete - Delete Asset
webflow.assets.delete - Delete Form Submission
webflow.form_submissions.delete - Remove Webhook
webflow.webhooks.delete - Refund Order
webflow.orders.refund - Delete Collection
webflow.collections.delete - Delete Collection Item
webflow.collection_items.delete - Delete Collection Items
webflow.collection_items.delete_many - Delete 301 redirects
webflow.redirects.delete - Delete robots.txt
webflow.robots_txt.delete - Delete Google Tag
webflow.google_tags.delete - Delete custom font
webflow.custom_fonts.delete - Delete Google Tags
webflow.google_tags.delete_all - Delete Custom Code
webflow.page_custom_code.delete - Delete Custom Code
webflow.site_custom_code.delete - Delete a well-known file
webflow.well_known_files.delete - Delete Collection Field
webflow.collection_fields.delete - Batch delete custom fonts
webflow.custom_fonts.batch_delete - Delete Form Submission by Site
webflow.site_form_submissions.delete - Unpublish Live Collection Item
webflow.live_collection_items.unpublish - Unpublish Live Collection Items
webflow.live_collection_items.unpublish_many
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Site?
intent: the user asked me to delete Site
account { op: "keys.create", name: "webflow-agent", allowed_actions: ["webflow.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "webflow.sites.delete", approver: "[email protected]" }, { match: "webflow.assets.delete", approver: "[email protected]" }, { match: "webflow.form_submissions.delete", approver: "[email protected]" } ]}Cost
What Webflow costs on actionlake.
Every Webflow action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Webflow refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 126 Webflow actions
- 20actions pageeach page of a long list is one call
- 54reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Webflow action.
126 actions by area: the id your agent calls, what it does, and its effect.
Collection items9
webflow.collection_items.createCreate Collection Item(s)writewebflow.collection_items.create_bulkCreate Collection Itemswritewebflow.collection_items.deleteDelete Collection Itemdestructivewebflow.collection_items.delete_manyDelete Collection Itemsdestructivewebflow.collection_items.getGet Collection Itemreadwebflow.collection_items.listList Collection Itemsreadwebflow.collection_items.publishPublish Collection Itemwritewebflow.collection_items.updateUpdate Collection Itemwritewebflow.collection_items.update_manyUpdate Collection Itemswrite
Custom fonts8
webflow.custom_fonts.batch_createBatch create custom fontswritewebflow.custom_fonts.batch_deleteBatch delete custom fontsdestructivewebflow.custom_fonts.createCreate custom fontwritewebflow.custom_fonts.deleteDelete custom fontdestructivewebflow.custom_fonts.getGet custom fontreadwebflow.custom_fonts.listList custom fontsreadwebflow.custom_fonts.replace_fileReplace custom font filewritewebflow.custom_fonts.updateUpdate custom fontwrite
Live collection items7
webflow.live_collection_items.createCreate Live Collection Item(s)writewebflow.live_collection_items.getGet Live Collection Itemreadwebflow.live_collection_items.listList Live Collection Itemsreadwebflow.live_collection_items.unpublishUnpublish Live Collection Itemdestructivewebflow.live_collection_items.unpublish_manyUnpublish Live Collection Itemsdestructivewebflow.live_collection_items.updateUpdate Live Collection Itemwritewebflow.live_collection_items.update_manyUpdate Live Collection Itemswrite
Orders6
webflow.orders.fulfillFulfill Orderwritewebflow.orders.getGet Orderreadwebflow.orders.listList Ordersreadwebflow.orders.refundRefund Orderdestructivewebflow.orders.unfulfillUnfulfill Orderwritewebflow.orders.updateUpdate Orderwrite
Sites6
webflow.sites.createCreate Sitewritewebflow.sites.deleteDelete Sitedestructivewebflow.sites.getGet Sitereadwebflow.sites.listList Sitesreadwebflow.sites.publishPublish Sitewritewebflow.sites.updateUpdate Sitewrite
Analyze reports5
webflow.analyze_reports.time_on_pageGet Time On Page Reportreadwebflow.analyze_reports.top_dimensionsGet Top Dimensions Reportreadwebflow.analyze_reports.top_eventsGet Top Events Reportreadwebflow.analyze_reports.top_pagesGet Top Pages Reportreadwebflow.analyze_reports.trafficGet Traffic Reportread
Assets5
webflow.assets.createUpload Assetwritewebflow.assets.deleteDelete Assetdestructivewebflow.assets.getGet Assetreadwebflow.assets.listList Assetsreadwebflow.assets.updateUpdate Assetwrite
Collections5
webflow.collections.createCreate Collectionwritewebflow.collections.deleteDelete Collectiondestructivewebflow.collections.getGet Collection Detailsreadwebflow.collections.listList Collectionsreadwebflow.collections.updateUpdate Collectionwrite
Site form submissions5
webflow.site_form_submissions.deleteDelete Form Submission by Sitedestructivewebflow.site_form_submissions.getGet Form Submission by Sitereadwebflow.site_form_submissions.listList Form Submissions by Sitereadwebflow.site_form_submissions.list_by_formList Form Submissionsreadwebflow.site_form_submissions.updateModify Form Submission by Sitewrite
Form submissions4
webflow.form_submissions.deleteDelete Form Submissiondestructivewebflow.form_submissions.getGet Form Submissionreadwebflow.form_submissions.listList Form Submissionsreadwebflow.form_submissions.updateModify Form Submissionwrite
Google tags4
webflow.google_tags.deleteDelete Google Tagdestructivewebflow.google_tags.delete_allDelete Google Tagsdestructivewebflow.google_tags.listList Google Tagsreadwebflow.google_tags.upsertUpdate Google Tagwrite
Products4
webflow.products.createCreate Product & SKUwritewebflow.products.getGet Product and SKUsreadwebflow.products.listList Products & SKUsreadwebflow.products.updateUpdate Productwrite
Redirects4
webflow.redirects.createCreate a 301 redirectwritewebflow.redirects.deleteDelete 301 redirectsdestructivewebflow.redirects.listGet 301 redirectsreadwebflow.redirects.updateUpdate 301 redirectwrite
Robots TXT4
webflow.robots_txt.deleteDelete robots.txtdestructivewebflow.robots_txt.getGet robots.txtreadwebflow.robots_txt.replaceReplace robots.txtwritewebflow.robots_txt.updateUpdate robots.txtwrite
Webhooks4
webflow.webhooks.createCreate Webhookwritewebflow.webhooks.deleteRemove Webhookdestructivewebflow.webhooks.getGet Webhookreadwebflow.webhooks.listList Webhooksread
Asset folders3
webflow.asset_folders.createCreate Asset Folderwritewebflow.asset_folders.getGet Asset Folderreadwebflow.asset_folders.listList Asset Foldersread
Collection fields3
webflow.collection_fields.createCreate Collection Fieldwritewebflow.collection_fields.deleteDelete Collection Fielddestructivewebflow.collection_fields.updateUpdate Collection Fieldwrite
Comment threads3
webflow.comment_threads.getGet Comment Threadreadwebflow.comment_threads.listList Comment Threadsreadwebflow.comment_threads.resolveResolve Comment Threadwrite
Page custom code3
webflow.page_custom_code.deleteDelete Custom Codedestructivewebflow.page_custom_code.getGet Custom Codereadwebflow.page_custom_code.upsertAdd/Update Custom Codewrite
Pages3
webflow.pages.getGet Page Metadatareadwebflow.pages.listList Pagesreadwebflow.pages.updateUpdate Page Metadatawrite
Registered scripts3
webflow.registered_scripts.create_hostedRegister Script - Hostedwritewebflow.registered_scripts.create_inlineRegister Script - Inlinewritewebflow.registered_scripts.listGet Registered Scriptsread
Site custom code3
webflow.site_custom_code.deleteDelete Custom Codedestructivewebflow.site_custom_code.getGet Custom Codereadwebflow.site_custom_code.upsertAdd/Update Custom Codewrite
Comment replies2
webflow.comment_replies.createCreate Comment Replywritewebflow.comment_replies.listList Comment Repliesread
Component content2
webflow.component_content.listGet Component Contentreadwebflow.component_content.updateUpdate Component Contentwrite
Component properties2
webflow.component_properties.listGet Component Propertiesreadwebflow.component_properties.updateUpdate Component Propertieswrite
Forms2
webflow.forms.getGet Form Schemareadwebflow.forms.listList Formsread
Inventory2
webflow.inventory.getList Inventoryreadwebflow.inventory.updateUpdate Item Inventorywrite
Page content2
webflow.page_content.listGet Page Contentreadwebflow.page_content.updateUpdate Page Contentwrite
Product skus2
webflow.product_skus.createCreate SKUswritewebflow.product_skus.updateUpdate SKUwrite
Well known files2
webflow.well_known_files.deleteDelete a well-known filedestructivewebflow.well_known_files.setSet a well-known filewrite
Authorized user1
webflow.authorized_user.getGet Authorization User Inforead
Components1
webflow.components.listList Componentsread
Custom code blocks1
webflow.custom_code_blocks.listList Custom Code Blocksread
Custom domains1
webflow.custom_domains.listGet Custom Domainsread
Ecommerce settings1
webflow.ecommerce_settings.getGet Ecommerce Settingsread
Site activity logs1
webflow.site_activity_logs.listGet Site Activity Logsread
Site plan1
webflow.site_plan.getGet Site Planread
Token1
webflow.token.introspectGet Authorization Inforead
Workspace audit logs1
webflow.workspace_audit_logs.listGet Workspace Audit Logsread
Questions
The Webflow MCP server, answered.
Is there a Webflow MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 126 Webflow actions across collection items, custom fonts, live collection items and orders, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Webflow.
What do I need to connect Webflow?
Your own Webflow OAuth app, registered with Webflow (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Webflow app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "webflow" } lists exactly what to paste.
Can an AI agent delete or change things in Webflow?
Only if its key allows it, and only with an explicit confirmation. 21 Webflow actions are destructive, including delete Site, delete Asset and delete Form Submission. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Webflow API limit?
actionlake paces every call to the limits in the Webflow service file: 60 calls a minute per connection. Repeated reads are answered from cache (54 Webflow actions can be), which never reaches Webflow.
What does a Webflow action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (20 Webflow actions page). Cache hits, searches, dry runs and calls Webflow refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Webflow API does it cover?
The Webflow Data API v2 (OpenAPI 3.1.0) at api.webflow.com/v2. It is built from Webflow's documentation as read on 23 October 2026. 126 actions in 39 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Webflow data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Webflow credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Webflow today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.