Skip to navigation

Data

Data tools work directly against your Webflow project’s content and settings. They don’t require an open Designer session or the companion bridge app. You can call them headlessly, from a server, script, or agent, without the Designer being open.

For tools that operate on the live Designer canvas (selecting elements, navigating between pages, reading breakpoints), see Design tools. For discovery, guidance, and AI tools, see Utility tools.

Each tool below lists whether it reads, writes, or both. Access is governed at the tool level, so granting a tool grants all of its actions. Under each tool is the full set of actions and the parameters each one requires.

Note: The page-building tools (data_element_tool, data_element_settings_tool, data_component_tool, data_component_props_tool, data_component_variants_tool, data_element_builder, data_component_builder, data_whtml_builder, data_style_tool, data_variable_tool, and data_interactions_tool) operate on a specific page. Every action on these tools requires siteId and pageId in addition to the parameters listed.


data_agent_instructions_tool

read write

Manage a site’s agent instructions: the markdown-based rules and skills that give agents custom guidance for working on that site. Instructions can reference Webflow primitives (variables, styles, components, pages, CMS collections and items, locales, and other instructions), which resolve server-side against the site’s own data.

  • Create, read, search, update, move, or delete the rules and skills stored on a site so agents working on it follow site-specific guidance
  • Generate a skill from a site’s own structure or from a CMS collection, then review the draft before publishing it

Note: Generation is asynchronous and saves a draft. Call generate_instruction to start it, then call it again with task_id set to the returned task ID until it finishes and returns a resource URI.


ActionDescriptionRequired parameters
search_instructionsSearch a site’s instructions by name, description, or markdown substring; returns metadata and a resource URI per result.site_id
read_instructionRead a single instruction by path; by default resolves and inlines any referenced instructions.site_id, path
create_instructionCreate a new instruction. The kind selects the path grammar.site_id, kind, path, markdown
update_instructionUpdate an existing instruction; only the fields you provide change.site_id, kind, path
delete_instructionDelete an instruction by path. Deleting a skill’s SKILL.md cascades to all its descendants.site_id, kind, path
move_instructionRename or move an instruction; SKILL.md or subfolder renames cascade. The destination must keep the same parent folder.site_id, kind, fromPath, toPath
generate_instructionGenerate new instructions from an existing site or CMS. Poll an in progress generation for a status update.site_id, instruction_type or site_id, task_id

data_analyze_tool

read

Read-only access to Webflow Analyze report data for a site: traffic over time, ranked pages, ranked dimensions, engagement events, and time on page. It also exposes two guide actions that return static guidance for building queries and interpreting results; these make no API call.

Note: Requires the Webflow Analyze add-on. Actions return an error on sites without it.

  • Pull a site’s traffic trend over a date range
  • Rank top pages or break traffic down by country, browser, or source
  • Use the guide actions first when you’re unsure how to shape a query or trace an event back to the element that produced it

ActionDescriptionRequired parameters
get_query_guideReturn guidance for constructing valid Analyze queries.None
get_resolve_event_element_guideReturn guidance for resolving event rows back to elements, components, or CMS items.None
get_time_on_page_reportAverage time on a site or page, as a single aggregate or bucketed over time.site_id, startTime, endTime, metricScope
get_top_dimensions_reportTop values for one dimension (country, browser, traffic source, etc.), ranked by sessions or users.site_id, startTime, endTime, dimension, metricScope, limit
get_top_events_reportTop engagement events ranked by frequency, with page context.site_id, startTime, endTime
get_top_pages_reportTop pages ranked by session, user, or pageview count.site_id, startTime, endTime, limit
get_traffic_reportTime series of sessions, users, or pageviews over a window.site_id, startTime, endTime, metricScope, bucketTimeZone

data_apps_tool

read write

Inspect and manage Webflow Cloud apps: their GitHub sources, environments, environment variable metadata, deployments, custom domains, and logs. Apps created through this tool are built from a GitHub repository. Use the Webflow CLI for local-source apps, local-source deployment, and writing environment variable values.

Note: This tool never accepts environment variable values. list_variables returns plaintext values for non-secret entries and omits secret values entirely. Set and change values with the Webflow CLI.

Note: Build-phase and runtime logs are returned unsanitized and can contain secrets or presigned URLs. Treat the output of get_build_logs and get_runtime_logs as sensitive.

  • Diagnose a failed deployment from its build logs, then redeploy the same commit once the fix lands
  • Deploy the HEAD of a connected GitHub branch, or roll back to the commit from an earlier deployment
  • Map a Git branch to a new environment mount, or retire an environment you no longer need
  • Audit which variables an environment defines without reading any secret values

The destructive and deployment actions (delete_app, delete_environment, delete_variable, redeploy, trigger_deployment, and create_app) accept a dry_run parameter that reports what the call would do without applying it.


ActionDescriptionRequired parameters
create_appCreate a standalone or site-attached app from a GitHub repository and attempt its first deployment.name, source_url, branch
create_environmentCreate an environment mapping a Git branch to an app mount. Doesn’t deploy code.app_id, branch, mount
delete_appRemove an app, either by archiving it or by permanently deleting it and all of its environments.app_id
delete_environmentPermanently delete an environment, including its worker, KV, D1, and R2 storage, deployments, and variables.app_id, env_id
delete_variableDelete one environment variable by key.app_id, env_id, key
get_appGet an app’s ID, name, description, site ID, app path, GitHub source, and site-attachment status.app_id
get_app_domainsList custom domains for the app’s underlying site. Excludes *.webflow.io hostnames.app_id
get_build_logsGet build and deploy logs for a deployment, with a timestamp, message, and phase per entry.app_id, env_id, deployment_id
get_deploymentGet a deployment’s status, commit, build and deploy timestamps, build size, and framework.app_id, env_id, deployment_id
get_runtime_logsGet runtime logs for an environment. Base plans retain roughly one hour of history.app_id, env_id
list_appsList visible apps, optionally filtered by site, name, or search query.None
list_deploymentsList an environment’s deployments, newest first, optionally filtered by status.app_id, env_id
list_environmentsList an app’s environments with their branch, mount, public URL, and deployment status.app_id
list_variablesList an environment’s variables. Non-secret values are returned in plaintext and secret values are omitted.app_id, env_id
redeployRebuild and deploy the exact commit from an earlier deployment, to retry or roll back. GitHub sources only.app_id, env_id, deployment_id
trigger_deploymentDeploy the HEAD commit of the connected GitHub branch. GitHub sources only.app_id, env_id
update_appUpdate an app’s name, description, or GitHub source. Source updates need a user-authorized token.app_id
update_environmentChange an environment’s Git branch or mount. Doesn’t deploy code.app_id, env_id

data_assets_tool

read write

Manage a site’s assets and asset folders. Uploads are a two-step process: create the asset metadata to get a presigned upload target, then POST the file bytes to it. The tool also lists, updates, organizes, and deletes assets and folders, and compresses images to WebP or AVIF through asynchronous tasks.

  • Upload an image and organize it into folders
  • Audit or update asset metadata like alt text
  • Clean up unused assets
  • Batch-compress a site’s images to reduce their size

ActionDescriptionRequired parameters
compress_assetsStart an async task compressing image assets (JPG/PNG/WebP) to WebP or AVIF, replacing files in place. Rate-limited to 10 calls per minute per site.site_id, asset_ids[], format
create_assetCreate an asset metadata entry; returns a presigned upload URL and details for uploading the bytes (step one of a two-step upload).site_id, file_name, file_hash
create_asset_folderCreate a new asset folder (names must be unique among siblings). Folders can’t be deleted via the API.site_id, display_name
delete_assetDelete an asset. Soft delete; not restorable via the API.asset_id
get_assetGet one asset’s metadata, including hosted URL, alt text, and folder.asset_id
get_asset_folderGet one asset folder, including its display name, parent, and asset IDs.folder_id
get_compression_taskPoll the status and result of a compression task.site_id, task_id
list_asset_foldersList a site’s asset folders (default page size 25).site_id
list_assetsList a site’s assets, newest first; optional folder or locale filter.site_id
list_compression_tasksList a site’s compression tasks, newest first.site_id
update_assetUpdate an asset’s metadata (display name, alt text, folder).asset_id
update_asset_folderRename an asset folder or move it under a different parent.folder_id

data_campaigns_tool

read write

Manage Campaign Hub sites, campaigns, page variations, and campaign analytics. A campaign is generated from a markdown brief and produces a landing page. Personalization binds campaign fields to element settings and component props, so a single page can present different content per variation.

Note: Campaign generation is asynchronous. create_campaign returns a task ID, and get_campaign_task_status is the only signal that the landing page has finished generating.

  • Find a workspace’s Campaign Hub sites, then list the campaigns on one of them
  • Generate a campaign and its landing page from an approved markdown brief
  • Create page variations for different audiences and update their field values in bulk
  • Bind a campaign field to an element setting or a component prop so its content varies by variation
  • Read how a campaign performed: traffic over time, form submissions, engaged companies, and CRM opportunity totals

ActionDescriptionRequired parameters
bulk_update_page_variationsUpdate the name, slug, or field values of up to 30 page variations, returning a result per row.site_id, campaign_id, variations[]
create_campaignCreate a campaign and landing page from a confirmed markdown brief. Returns a task ID to poll.site_id, markdown_brief, campaign_description
create_page_variationCreate a page variation with a name, slug, and summary of its audience or personalization intent.site_id, campaign_id, name, slug, summary
delete_campaignPermanently delete a campaign, its landing-page record, and its generated assets. Only some states are deletable.site_id, campaign_id
delete_page_variationPermanently delete a page variation. Published variations can’t be deleted.site_id, campaign_id, page_variation_id
get_campaignGet one campaign’s metadata, including name, brief, state, timestamps, and landing page ID.site_id, campaign_id
get_campaign_task_statusPoll the landing-page generation task started by create_campaign until it finishes or fails.site_id, task_id
get_engaged_accountsGet the companies that engaged with a campaign landing page, with session, user, and submission counts.site_id, campaign_id, start_time, end_time, sort_by, sort_direction
get_form_submissions_countGet the total form submissions for a campaign landing page over a time window.site_id, campaign_id, start_time, end_time
get_opportunity_summaryGet CRM opportunity totals, open and closed-won value and counts, for campaign landing-page visitors.site_id, campaign_id, start_time, end_time
get_page_variation_suggestionsList suggested page variations for a campaign, with IDs, names, and summaries.site_id, campaign_id
get_page_variationsList a campaign’s page variations and their field-value matrix, paginated.site_id, campaign_id
get_time_seriesGet a daily session, user, or pageview series for a campaign landing page.site_id, campaign_id, start_time, end_time, metric_scope
list_campaign_hub_sitesList a workspace’s Campaign Hub sites, with IDs, names, and preview URLs.workspace_id
list_campaignsList a site’s campaigns, paginated, with state and landing page ID.site_id
personalize_elementCreate a PlainText campaign field and bind it to a setting on a non-component element.site_id, campaign_id, field{name, type}, element_id{component, element}, key
personalize_propertyCreate a PlainText campaign field and bind it to a prop on a component instance.site_id, campaign_id, field{name, type}, element_id{component, element}, prop_id
unlink_delete_personalized_fieldPermanently unlink and delete a personalized field. All page variations then share the same content.site_id, campaign_id, field_slug
update_campaignUpdate a campaign’s name or markdown brief. Doesn’t regenerate or republish the landing page.site_id, campaign_id
update_personalized_fieldRename a personalized field’s display name. Its slug and type can’t be changed.site_id, campaign_id, field_slug, name

data_cms_tool

read write

Manage a site’s CMS: collections, their fields (static, option, and reference), collection field groups, and the items within them. Items are created and updated as drafts; publishing them live is a separate action.

Note: The field-group actions aren’t available for Ecommerce collections.

Note: list_collection_items filters on custom fields with bracket notation, filter[<fieldSlug>][<operator>]=<value> (for example filter[price][gte]=10&filter[price][lte]=100), combined with AND. Supported operators vary by field type: eq/ne/in/nin on most types, gt/gte/lt/lte on Number and DateTime, contains/ncontains on text-like types, and exists everywhere. Sort on custom fields with sort[<fieldSlug>]=asc|desc (sortable on PlainText, Email, Phone, Number, DateTime, and Switch); when present, sort takes precedence over sortBy/sortOrder. A request allows up to 10 filter terms (2 of them contains/ncontains) and 3 sort fields.

  • Build or inspect a collection’s schema
  • Read a collection’s field groups and reorganize how its fields are grouped
  • Filter and sort items by custom field, not just the default system fields
  • Bulk-create or update items programmatically
  • Publish and unpublish content on a schedule

ActionDescriptionRequired parameters
create_collectionCreate a new CMS collection in a site.siteId, request{displayName, singularName}
create_collection_itemsCreate new items in a collection (as drafts).collection_id, request{fieldData}
create_collection_option_fieldCreate an option field with a predefined set of choices.collection_id, request{type=Option, displayName, metadata}
create_collection_reference_fieldCreate a reference or multi-reference field linking another collection.collection_id, request{type, displayName, metadata{collectionId}}
create_collection_static_fieldCreate a static field (text, number, date, image, etc.).collection_id, request{type, displayName}
delete_collection_fieldDelete a custom field from a collection. No bulk delete.collection_id, field_id
delete_collection_itemsDelete existing items from a collection.collection_id, request{items[].id}
get_collection_detailsGet a collection’s schema and field definitions.collection_id
get_collection_field_groupsGet a collection’s field groups, its public fields, and the fields that can be assigned to a group.collection_id
get_collection_listList all CMS collections in a site.siteId
list_collection_itemsList items in a collection. Optionally filter and sort by system fields or by custom field.collection_id
publish_collection_itemsPublish existing items in a collection, making them live.collection_id, request{itemIds}
unpublish_collection_itemsUnpublish live items, reverting them to draft. Up to 100 per call.collection_id, request{items[].id}
update_collection_fieldUpdate the properties of an existing field.collection_id, field_id, request
update_collection_field_groupsReplace a collection’s field groups, up to 50. An empty array removes all groups.collection_id, field_groups[]
update_collection_itemsUpdate existing items in a collection (as drafts).collection_id, request{items[].id, fieldData}

data_comments_tool

read write

Read Designer comment threads and their replies (filterable by page, resolution status, and date), look up comment participants by email, and post replies to existing threads.

  • Surface open (unresolved) comments across a site
  • Pull a specific thread and its replies
  • Reply to a thread programmatically as part of a review workflow

ActionDescriptionRequired parameters
create_replyPost a reply on an existing comment thread (1–2040 characters).site_id, comment_thread_id, content
get_comment_threadGet details of a specific comment thread.site_id, comment_thread_id
list_comment_repliesList all replies on a comment thread.site_id, comment_thread_id
list_comment_threadsList comment threads for a site; filter by page, resolution, or date.site_id
search_comment_user_by_emailFind a workspace comment participant by email.site_id, email

data_component_builder

write

Insert component instances onto a page as a child of an element or into a slot of an existing component instance, including recursive trees of nested components in a single call.

  • Assemble a page from existing components
  • Drop a component into a slot of another component, without hand-building each instance in the Designer

ActionDescriptionRequired parameters
insert_in_elementInsert a component instance as a child of a parent element.build_label, parent_element_id, creation_position, component_schema{name}
insert_in_slotInsert a component instance into a slot of a component instance.build_label, parent_element_id, creation_position, component_schema{name}, slot_name

data_component_props_tool

read write

Manage a component’s prop definitions and the prop values on its instances. Create, update, and remove prop definitions, and set or reset the values on an instance.

  • Define the props a component accepts
  • Set or reset prop values on individual instances, including binding them to prop, CMS, page, or locale data

ActionDescriptionRequired parameters
create_propCreate prop definitions on a component (10 prop types).component_id, props[]
get_component_instance_propsGet prop definitions and current values for a component instance (optionally resolving bindings).element_id {component, element}
remove_propRemove prop definitions. Each is removed independently, with per-prop errors aggregated.component_id, prop_ids
reset_all_props_valueReset all prop values on a component instance to their defaults.element_id {component, element}
set_component_instance_prop_valuesSet prop values on a component instance (supports prop, CMS, page, and locale bindings).element_id, values[]
update_propUpdate prop definitions; omitted fields stay the same.component_id, props[].prop_id

data_component_tool

read write

Manage component definitions and instances: get and query components, create blank components, transform elements into components, and insert and unlink instances. Prop definitions and values live in data_component_props_tool, and variants in data_component_variants_tool. Navigating the canvas and component views happens in the Designer tools.

  • Audit a site’s components and their instance counts
  • Create or duplicate components
  • Turn an existing element into a reusable component
  • Insert and unlink instances on a page

ActionDescriptionRequired parameters
create_blank_componentCreate a blank component with no root element.name
duplicate_componentDuplicate a component under a new name.source_component_id, name
get_all_componentsGet all components in the site, optionally with props, variants, and instance counts.(options)
get_componentGet a component by ID or by name (optionally narrowed by group).component_id or name
get_parent_componentGet the component that contains an element (null for page-level elements).id {component, element}
insert_component_instanceInsert a component instance on the active page.parent_element_id, component_id, creation_position
query_componentsQuery components by keywords, prop characteristics, and code/library flags.queries[]
set_component_metadataUpdate a component’s name, group, or description.component_id
transform_element_to_componentTransform an element into a component (optionally replacing the source with an instance).id {component, element}, name
unlink_component_instanceUnlink an instance back into editable elements. Not for library or code components.component_instance_id
unregister_componentUnregister a component. Affects all instances.component_id

data_component_variants_tool

read write

Manage a component’s variants and the styles scoped to each one. Create, duplicate, delete, reorder, and rename variants, and read or set per-variant style overrides.

  • Add or organize a component’s variants
  • Style a specific variant without affecting the base or other variants

ActionDescriptionRequired parameters
create_variantCreate a new variant on a component.component_id, name
delete_variantDelete a variant. The base variant can’t be deleted.component_id, variant_id
duplicate_variantDuplicate a variant, copying its settings and styles.component_id, source_variant_id
get_variant_settingsGet a variant’s settings (ID, name, selection state).component_id, variant_id
get_variant_stylesGet the styles scoped to a variant (independent of the base component’s styles).variant_id, style_name
reorder_variantsReorder a component’s variants. Pass the full ordered list, including base, for a deterministic order.component_id, variant_ids
set_variant_nameRename a variant (base is allowed).component_id, variant_id, name
set_variant_stylesSet or update styles scoped to a variant (base and other variants unaffected; breakpoint- and pseudo-aware).variant_id, style_name

data_element_builder

write

Create elements on a page from an element schema, including nested child elements in a single call.

  • Build out page structure programmatically from a defined schema, including sections with child divs, headings, and text, rather than adding each element by hand

ActionDescriptionRequired parameters
create_elementCreate one element, with optional nested children, from an element schema at a given position.build_label, parent_element_id, creation_position, element_schema{type}

data_element_settings_tool

read write

Read and write element-level settings and data bindings. Get and set settings, discover the data sources an element can bind to, and set an element’s tag, visibility, and DOM id as static values or bindings.

  • Configure an element’s settings
  • Bind an element to a data source (prop, CMS, page, or locale)
  • Set its tag, visibility, or DOM id as a static value or a binding

ActionDescriptionRequired parameters
get_bindable_sourcesGet the data sources an element can bind to (prop, CMS, page, locale); optional setting and value-type filters.queries[] (label, element_id)
get_settingsRead element-level settings (raw, resolved, or query modes).type, element_id
set_dom_idSet an element’s DOM id (#id), static or bound.element_id
set_settingsWrite element-level settings; multiple writes per element are batched into one atomic call.operations[]
set_tagChange an element’s HTML tag, static or bound (valid tags depend on the element type).element_id
set_visibilitySet element visibility, static boolean or bound.element_id

data_element_tool

read write

Inspect and modify the elements on a page: query the element tree, move and remove elements, and edit text, styles, links, images, heading levels, attributes, and display names. Element settings and data bindings live in data_element_settings_tool; selecting an element happens in the Designer tools.

  • Read a page’s structure and find elements matching a query
  • Make targeted edits across one or many elements: set text, swap an image, change a heading level, or update an attribute

ActionDescriptionRequired parameters
get_all_elementsGet all elements on the page (optional depth or component scope).pageId, siteId
get_attributesRead an element’s attributes (optionally resolving bindings).id {component, element}
get_display_nameRead an element’s Navigator display name (null if automatic).element_id {component, element}
move_elementMove an element to a new location, keeping its bindings and styles.id, anchor_element_id, creation_position
query_elementsQuery elements by filters, scope, or parent lookup; multiple queries per call.queries[]
remove_attributeRemove one or more attributes from an element.id, attribute_names
remove_elementRemove an element from the page.id {component, element}
set_attributesAdd or update attributes on an element.id, attributes[]
set_display_nameSet an element’s Navigator display name (empty string resets it to automatic).element_id, display_name
set_heading_levelSet the heading level (1–6) on a heading element.id, heading_level
set_image_assetSet the image asset on an image element.id, image_asset_id
set_linkSet a link on an element (URL, file, page, element, email, or phone).id, linkType, link
set_styleReplace an element’s styles (removes existing, applies the given ones).id, style_names
set_textReplace an element’s text content.id, text

data_enterprise_tool

read write

Manage enterprise site settings: 301 redirects, robots.txt, well-known files, and site activity logs.

Note: Requires an Enterprise (or higher) workspace plan. Actions return an error on lower plans.

  • Set up and maintain redirects during a site migration
  • Manage robots.txt and /.well-known/ files
  • Review a site’s activity log on Enterprise hosting

ActionDescriptionRequired parameters
add_well_known_fileAdd or update a file in the site’s /.well-known/ directory.site_id, fileName, fileData, contentType
create_301_redirectCreate a new 301 redirect for a site.site_id, fromUrl, toUrl
delete_301_redirectDelete a 301 redirect from a site.site_id, redirect_id
delete_robots_txtRemove rules and/or the sitemap URL from robots.txt. Doesn’t remove the whole file.site_id
get_robots_txtGet the robots.txt configuration for a site.site_id
list_301_redirectsList all 301 redirects for a site.site_id
list_site_activity_logsList activity log events for a site (Enterprise hosting).site_id
remove_well_known_filesRemove one or more well-known files.site_id, fileNames
replace_robots_txtCompletely replace robots.txt.site_id
update_301_redirectUpdate an existing 301 redirect.site_id, redirect_id, fromUrl, toUrl
update_robots_txtPartially update robots.txt.site_id

data_fonts_tool

read write

Manage a site’s uploaded custom fonts: list and inspect them, register new fonts and replace their files (a two-step upload), update metadata, and remove fonts individually or in batches.

  • Upload a custom font to a site
  • Audit which fonts a site uses and their upload status
  • Clean up unused fonts one at a time or in bulk

ActionDescriptionRequired parameters
batch_delete_fontsDelete up to 100 custom fonts in one call.site_id, items[]
create_fontRegister a new custom font and return a presigned upload target (step one of a two-step upload).site_id, file_name, file_hash, font_family, weight, italic, font_display
delete_fontDelete a single custom font.site_id, font_id
get_fontGet metadata and upload status for one font.site_id, font_id
list_fontsList a site’s custom fonts (paginated).site_id
replace_font_fileReplace the file behind an existing font (step one of a two-step upload).site_id, font_id, file_name, file_hash
update_fontUpdate a font’s metadata without changing the file.site_id, font_id

data_forms_tool

read write

Read a site’s forms and manage their submissions: list forms and their schemas, list and retrieve submissions site-wide or per form, update user-hidden submission fields, and delete submissions.

  • Export or process form submissions
  • Inspect a form’s schema
  • Update hidden fields on a submission as part of a workflow
  • Delete spam submissions

ActionDescriptionRequired parameters
delete_form_submissionDelete a form submission.site_id, form_submission_id
get_formGet the schema for a single form (fields and metadata).form_id
get_form_submissionGet a single form submission by ID.site_id, form_submission_id
list_form_submissionsList submissions for a specific form.site_id, form_id
list_formsList a site’s forms and their metadata.site_id
list_site_form_submissionsList submissions across an entire site; optional element or locale filter.site_id
update_form_submissionUpdate user-hidden field values on a submission. Only user-hidden fields are writable.site_id, form_submission_id, form_submission_data

data_interactions_tool

read write

Create and manage IX3 interactions, the animations and interactive behavior attached to a page. An interaction carries its triggers and its inline timelines in a single call. The tool runs headlessly and needs no Designer session or bridge app.

Note: triggers and timelines pass through to the interactions service, so the tool’s own schema doesn’t validate their shape. Call the guide action for the legal payload shapes, or read the webflow://guides/interactions resource.

  • Read the interactions already on a page before changing any of them
  • Create a timeline-based animation together with its triggers in one call
  • Replace an interaction’s timelines, or clear fields you no longer need
  • Remove an interaction from a page

Animate opacity under wf:transform, for example ["0%", "100%"], rather than under wf:style.


ActionDescriptionRequired parameters
create_interactionCreate an interaction from object-format triggers and inline timelines in one call.name, triggers[], timelines[]
delete_interactionSoft-delete an interaction by ID. Repeating the call on a deleted interaction still succeeds.id
get_interactionGet one interaction by ID, with its timelines resolved inline.id
guideReturn the IX3 authoring guide, which describes the legal payload shapes for creates and updates.None
list_interactionsList the site’s interactions as paginated summaries, optionally filtered to those visible on one page.None
update_interactionUpdate an interaction by ID. Only the fields you provide change, and timelines replaces the existing set in full.id

data_localization_tool

read write

Localize page and component content into secondary locales. Reads from the primary or a secondary locale, but writes only to secondary locales. Also lists a site’s components.

  • Translate a page or component into another locale
  • Read the source content to feed a translation step
  • List a site’s components before localizing them

ActionDescriptionRequired parameters
get_component_contentRead a component’s content (text, images, nested content) for a locale.site_id, component_id
get_component_propertiesRead a component’s property definitions and values for a locale.site_id, component_id
get_page_contentRead a page’s content structure for a locale.page_id
list_componentsList all components in a site (IDs, names, versions).site_id
update_component_contentLocalize a component’s text nodes and property overrides. Secondary locales only.site_id, component_id, localeId, nodes
update_component_propertiesLocalize a component’s property values. Secondary locales only.site_id, component_id, localeId, properties
update_static_contentLocalize a static page’s text nodes and property overrides. Secondary locales only.page_id, localeId, nodes

data_pages_tool

read write

List, create, and update a site’s pages, manage page branches and their staging previews, and read or write page-level SEO metadata and JSON-LD schema markup.

Note: The branch actions require the site’s workspace to be on an Enterprise plan. Every branch action except get_branch_details, list_branches, and get_branch_conflicts is asynchronous: it returns a task ID that you poll with get_branch_task_status.

  • Create pages programmatically
  • Bulk-update page settings or SEO across a site
  • Run a page branch through its full lifecycle: create it, pull main into it, publish its preview, then merge or delete it
  • Read and write structured data (schema markup) for multiple pages at once

ActionDescriptionRequired parameters
bulk_update_pagesUpdate settings for 1–100 pages in one request (title, slug, draft, folder, SEO, Open Graph, schema markup; per-item locale).site_id, pages[]
bulk_update_pages_schema_markupWrite or clear JSON-LD schema markup for 1–25 pages.site_id, pages[]
create_branchEnqueue a task to create a branch from a page on a site.site_id, page_id
create_pageCreate a new page. Title and slug required; optional folder, draft state, page to duplicate, SEO, Open Graph.site_id, title, slug
delete_branchEnqueue a task to delete a branch from a site.site_id, branch_id
get_branch_conflictsList a branch’s unresolved conflicts with the site’s main pages, without attempting a merge.site_id, branch_id
get_branch_detailsGet details about a specific branch.site_id, branch_id
get_branch_task_statusPoll an asynchronous branch task until it finishes or fails.site_id, task_id
get_page_metadataGet a page’s metadata: SEO, Open Graph, and draft/published status.page_id
list_branchesList all branches on a site (paginated).site_id
list_pagesList all pages within a site (IDs, titles, slugs).site_id
merge_branchEnqueue a task merging a branch into the site’s main pages. The branch is consumed on success.site_id, branch_id
publish_branchEnqueue a task publishing only the branch’s page preview to its staging domain.site_id, branch_id
query_pages_schema_markupRead JSON-LD schema markup for 1–100 pages.site_id, pages[]
update_branchEnqueue a task pulling the latest main-page changes into a branch. Doesn’t merge the branch into main.site_id, branch_id
update_page_settingsUpdate a single page’s settings (title, slug, draft, folder, SEO, Open Graph, schema markup; optional locale).page_id

data_scripts_tool

read write

Register, apply, update, and remove custom code scripts at the site or page level, and read or write the freeform head and footer custom-code blocks. Registering a script and applying it are separate steps.

  • Add a third-party or inline script to a site or page
  • Manage which registered scripts are applied where
  • Read and write the freeform head/footer code blocks

ActionDescriptionRequired parameters
add_page_scriptApply one registered script to a page (additive).page_id, script_id, location, version
add_site_scriptApply one registered script to a site (additive).site_id, script_id, location, version
clear_page_scriptsRemove all scripts applied to a page. The registry is untouched.page_id
clear_site_scriptsRemove all scripts applied to a site. The registry is untouched.site_id
delete_registered_scriptDelete a registered script and all its versions. Irreversible.site_id, script_id
get_page_freeform_codeRead the freeform head and footer custom-code blocks on a page.page_id
get_page_scriptsGet the scripts currently applied to a page.page_id
get_registered_scriptGet a single registered script by ID (latest version if omitted).site_id, script_id
get_registered_scriptsList all registered scripts for a site (max 800).site_id
get_site_freeform_codeRead the freeform head and footer custom-code blocks on a site.site_id
get_site_scriptsGet the scripts currently applied to a site.site_id
register_hosted_scriptRegister an externally hosted script (not yet applied).site_id, hosted_location, integrity_hash, version, display_name
register_inline_scriptRegister an inline script hosted by Webflow (max 2000 characters).site_id, source_code, version, display_name
remove_page_scriptRemove one script from a page.page_id, script_id
remove_site_scriptRemove one script from a site.site_id, script_id
set_page_freeform_codeWrite the freeform head or footer code block on a page. Replaces the block’s content.page_id, location, content
set_page_scriptsReplace all scripts applied to a page.page_id, scripts
set_site_freeform_codeWrite the freeform head or footer code block on a site. Replaces the block’s content.site_id, location, content
set_site_scriptsReplace all scripts applied to a site.site_id, scripts
update_registered_scriptUpdate a registered script (name, source or location, version, copy permission).site_id, script_id

data_sitemap_tool

read write

Read and set the sitemap indexing status (includeInSitemap) of static pages and CMS collection items, individually or in bulk. Folder, collection-template, and utility pages aren’t supported by the page actions.

  • Control which pages and CMS items appear in a site’s sitemap
  • Collection-item changes are staged; publish the site afterward to make them live

ActionDescriptionRequired parameters
bulk_update_items_sitemap_statusBulk update sitemap status for up to 100 collection items. Staged; publish afterward to go live.collection_id, items[]
bulk_update_pages_sitemap_statusBulk update sitemap status for up to 100 pages. Excludes folder, template, and utility pages.site_id, pages[]
get_item_sitemap_statusGet the sitemap status of one collection item.collection_id, item_id
get_page_sitemap_statusGet the sitemap status of one static page.page_id
list_items_sitemap_statusList sitemap status for all items in a collection.collection_id
list_pages_sitemap_statusList sitemap status for all supported pages on a site.site_id
update_item_sitemap_statusUpdate the sitemap status of one collection item. Staged; publish afterward to go live.collection_id, item_id, includeInSitemap
update_page_sitemap_statusUpdate the sitemap status of one static page.page_id, includeInSitemap

data_sites_tool

read write

List the sites accessible to the authenticated user, get a site’s details, and publish a site to its domains.

  • Find the site you want to work with and its ID
  • Check a site’s settings and publishing status
  • Publish the latest changes live

ActionDescriptionRequired parameters
get_siteGet details about a site: settings, domains, and publishing status.site_id
list_sitesList all sites accessible to the authenticated user.None
publish_sitePublish a site to its specified domains, making the latest changes live.site_id

data_style_tool

read write

Create, query, update, rename, and remove styles (classes and combo classes), and manage the variable modes applied to a style.

  • Inspect a site’s classes
  • Create or update styles programmatically
  • Rename or remove classes
  • Apply and clear variable-mode overrides on a style

ActionDescriptionRequired parameters
create_styleCreate a new style (class), optionally as a combo class.name, properties[]
get_style_variable_modesGet the variable modes applied to a style (collection-to-mode map).style_name
get_stylesGet all styles, or a filtered set (optional breakpoints, pseudos, properties).query
query_stylesQuery styles by name path, ID, or CSS properties.queries[]
remove_all_style_variable_modesRemove all variable mode overrides from a style.style_name
remove_styleRemove a style (and optional combo parents).style_name
remove_style_variable_modeRemove the mode override for one collection from a style.style_name, variable_collection_id
rename_styleRename an existing style (class).style_name, new_name
set_style_variable_modeApply a variable mode to a style (per breakpoint or pseudo).style_name, variable_collection_id, mode_id
update_styleUpdate a style’s properties (breakpoint- and pseudo-aware).style_name

data_variable_tool

read write

Create, update, rename, and delete variables (color, font family, number, percentage, size), create collections and modes, and query and reorder collections.

  • Build or edit a site’s design tokens programmatically: define color, size, or font variables
  • Organize them into collections and modes
  • Keep them in sync with an external source

ActionDescriptionRequired parameters
create_color_variableCreate a color variable.variable_collection_id, variable_name, value
create_font_family_variableCreate a font family variable.variable_collection_id, variable_name, value
create_number_variableCreate a number variable.variable_collection_id, variable_name, value
create_percentage_variableCreate a percentage variable.variable_collection_id, variable_name, value
create_size_variableCreate a size variable (value and unit).variable_collection_id, variable_name, value
create_variable_collectionCreate a new variable collection.name
create_variable_modeCreate a new mode within a variable collection (optional breakpoint).variable_collection_id, name
delete_variableDelete a variable.variable_collection_id, variable_id
get_variable_collectionsGet all variable collections and their modes.query
get_variablesGet all variables in a collection (and its modes).variable_collection_id
query_variablesQuery variables by name, ID, CSS name, or type.queries[]
rename_variableRename a variable.variable_collection_id, variable_id, new_name
reorder_variable_collectionReorder a collection before or after another collection.collection_id, anchor_collection_id, position
update_color_variableUpdate a color variable.variable_collection_id, variable_id, value
update_font_family_variableUpdate a font family variable.variable_collection_id, variable_id, value
update_number_variableUpdate a number variable.variable_collection_id, variable_id, value
update_percentage_variableUpdate a percentage variable.variable_collection_id, variable_id, value
update_size_variableUpdate a size variable (value and unit).variable_collection_id, variable_id, value

data_webhook_tool

read write

List, create, retrieve, and delete a site’s webhooks.

  • Wire up integrations that react to Webflow events by creating a webhook for a trigger
  • Review what’s registered
  • Remove webhooks that are no longer needed

ActionDescriptionRequired parameters
create_webhookCreate a webhook for a site (up to 75 per trigger type per site).site_id, trigger_type, url
delete_webhookRemove a webhook registration.webhook_id
get_webhookGet details of a specific webhook.webhook_id
list_webhooksList all app-created webhooks for a site.site_id

data_whtml_builder

write

Insert elements onto a page from HTML and CSS strings.

  • Bring in markup from an external source or generate structure as HTML and drop it onto a page, rather than building it element by element

ActionDescriptionRequired parameters
insert_whtmlInsert one HTML/CSS fragment at a position relative to a parent or target element. Max 5 per call.build_label, parent_element_id, creation_position, html