Webflow

Sync data to Webflow CMS collection items. Use Zeotap to push product catalogs, blog posts, team directories, or any structured content to your Webflow site via the CMS API v2.

Prerequisites

  • A Webflow account with a published site
  • A CMS collection configured in the target site
  • A Webflow API token with CMS:write scope
  • The site ID and collection ID (found in Webflow site and collection settings)

Authentication

Webflow uses an API Token for authentication.

  1. Log in to your Webflow dashboard
  2. Navigate to Site Settings > Apps & Integrations > API Access
  3. Generate a new API token with the CMS:write scope
  4. Copy the token and paste it into the API Token field in Zeotap

Required Scopes

  • CMS:write — create, update, and delete CMS collection items

Configuration

FieldTypeRequiredDescription
Site IDTextYesThe Webflow site ID. Found in Site Settings > General > API.
Collection IDTextYesThe CMS collection ID to sync items to. Found in the collection settings panel.

Supported Operations

Sync Modes

ModeSupportedDescription
InsertYesCreates new CMS items in the collection
UpdateYesUpdates existing CMS items by item ID
UpsertYesCreates items without a primary key, updates items with one
MirrorYesFull sync with creates, updates, and deletes for removed items

Audience Sync Modes

Webflow does not support audience sync modes. CMS collections are not membership-based lists.

Features

  • Field Mapping: Yes — map source fields to Webflow CMS field slugs
  • Schema Introspection: No — field names must be configured manually using Webflow CMS field slugs

Required Mapping Fields

FieldDescription
nameThe display name for the CMS item
slugURL-safe identifier for the CMS item (used in the published URL)

Default Destination Fields

FieldTypeDescription
namestringItem display name
slugstringURL-safe slug

How It Works

Zeotap writes data to Webflow CMS collections using the v2 REST API bulk endpoints:

  1. Insert mode: Items are sent via POST /v2/collections/{collection_id}/items/bulk with isDraft: false so they are immediately publishable
  2. Update mode: Items are sent via PATCH /v2/collections/{collection_id}/items with the Webflow item ID and updated field data
  3. Upsert mode: Rows with a primary key (Webflow item ID) are updated; rows without one are created as new items
  4. Mirror mode: New and changed items are created or updated; items marked as removed are deleted via DELETE /v2/collections/{collection_id}/items

Batch Processing

  • Items are sent in batches of up to 100 items per request (the Webflow API maximum)
  • Failed batches are retried automatically with exponential backoff
  • The API returns 429 Too Many Requests when rate limits are exceeded, and Zeotap respects the Retry-After header

Publishing

Items created or updated via the API are staged (draft) by default. Zeotap sets isDraft: false on created items. To make changes visible on your live site, you may need to publish the site after the sync completes, depending on your Webflow publishing settings.

Rate Limits

Webflow enforces rate limits per API token:

PlanRequests Per Minute
Starter / Basic60
CMS / Business / eCommerce120
EnterpriseCustom

If a 429 response is received, Zeotap automatically retries with exponential backoff, respecting the Retry-After header when present.

Best Practices

  • Use descriptive slugs: Slugs form part of the published URL. Changing a slug after publication breaks existing links.
  • Keep collections focused: Sync to a single collection per destination. Create separate destinations for different collections.
  • Monitor rate limits: For large collections on Starter/Basic plans, syncs may take longer due to the 60 requests/minute limit.
  • Set up primary keys: For upsert and update modes, ensure your source data includes the Webflow item ID as the primary key.
  • Test with drafts first: Use a staging site to verify your field mappings before syncing to production.

Troubleshooting

Authentication failed: invalid API token

Verify that the API token is correct and has the CMS:write scope. Tokens can be regenerated in Site Settings > Apps & Integrations > API Access. Expired or revoked tokens return a 401 error.

Site not found

The site ID is incorrect or the site has been deleted. Find the correct site ID in Site Settings > General > API. The site ID is a 24-character alphanumeric string.

Collection not found

The collection ID is incorrect or the collection has been deleted. Open the CMS collection in Webflow, and find the collection ID in the collection settings panel or the URL.

Rate limited (429 Too Many Requests)

Your Webflow plan’s rate limit has been exceeded. Zeotap retries automatically. For high-volume syncs, consider upgrading to a CMS or Business plan for higher rate limits (120 requests/minute).

Items not appearing on the live site

CMS items created via the API may need to be published. Check your Webflow publishing settings, or manually publish the site after the sync completes. Zeotap creates items with isDraft: false, but they still need to be published to the live site.

Slug conflicts

Each CMS item must have a unique slug within the collection. If a create request fails with a slug conflict, ensure your source data generates unique slugs. Webflow appends a number suffix to duplicate slugs automatically in some cases, but the API may reject exact duplicates.

Field mapping errors

Verify that destination field names match the Webflow CMS field slugs (not display names). Field slugs are lowercase with hyphens (e.g., product-name, hero-image). Open the collection field settings in Webflow to find the correct slug for each field.

Large batch failures

If an entire chunk of 100 items fails, check the error message for details. Common causes include invalid field types (e.g., sending a string to a number field), missing required CMS fields, or exceeding Webflow’s item size limits.