# Webflow

> Push Mentionwell articles into Webflow's CMS via the Data API v2 so they render natively in your Webflow site.

Mentionwell pushes articles into a CMS Collection in your Webflow project, then triggers a site publish so they go live. Same mechanism Mintlify, SEObot, Outrank, and Zapier all use.

## What you need

- A Webflow site on a paid plan (the API requires CMS access — free plans don't have it).
- A "Blog Posts" CMS Collection in your Webflow site (we'll set up the fields below).
- A Webflow API token with the right scopes.

## Setup

### 1. Create the Blog Posts collection

In Webflow Designer → CMS → New Collection → name it **Blog Posts**. Add these fields (the **API slug** must match exactly):

| Field name | Type | API slug |
|---|---|---|
| Name | Plain text (built-in) | `name` |
| Slug | Slug (built-in) | `slug` |
| Excerpt | Plain text | `excerpt` |
| Body | Rich text | `body` |
| Featured Image | Image | `featured-image` |
| Published On | Date/Time | `published-on` |
| Updated On | Date/Time | `updated-on` |
| Tags | Plain text | `tags` |
| Category | Plain text | `category` |
| Author | Plain text | `author` |
| JSON-LD | Plain text (long) | `json-ld` |

### 2. Generate an API token

Webflow → **Site settings → Apps & integrations → API access → Generate API token**. Pick scopes:

- CMS: **read & write**
- Sites: **read & write**

Copy the token.

### 3. Find your Site ID and Collection ID

- **Site ID:** Site settings → General → Site ID
- **Collection ID:** open the collection in CMS view; the URL ends in the Collection ID

Paste the token, Site ID, and Collection ID into Mentionwell's Webflow integration card.

## What gets pushed

Mentionwell creates a CMS item via `POST /collections/{collectionId}/items/live`, then calls `POST /sites/{siteId}/publish` so the item goes live. New articles appear within ~30 seconds of publishing in Mentionwell.

For updates, Mentionwell looks up the existing item by slug and PATCHes it.

## Caveats

- **Rich text:** Webflow only accepts a constrained HTML subset. Mentionwell strips unsupported tags before sending. `<script>` is not allowed in body, so JSON-LD lives in a separate Plain Text field — surface it in your template using an Embed.
- **Images:** Webflow fetches the featured image once and hosts it on its CDN. Use a stable, public image URL (Mentionwell's default CDN qualifies).
- **Slug collisions** return 409. Mentionwell auto-suffixes (`-2`, `-3`).
- **Publish budget:** every push triggers a site republish. We batch pushes in a 30-second window so you don't burn through your project's publishes.

## Common failures

- **400 ValidationError: Unknown field 'body'** — a field's API slug doesn't match the table above. Check the slugs in Designer; they're shown next to each field's settings.
- **Article created but not on the live site** — your token lacks `sites:write`, so Mentionwell created the item but couldn't trigger publish. Regenerate the token with both scopes.
- **401 / 403 missing_scopes** — token regenerated without the right scopes; old tokens don't auto-upgrade.


---

Canonical URL: https://mentionwell.com/docs/publish/webflow
Live HTML version: https://mentionwell.com/docs/publish/webflow
Section: Publish to your CMS
Site index for AI ingestion: https://mentionwell.com/llms.txt
Full reference: https://mentionwell.com/llms-full.txt
