> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ocoya.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webflow

> Connect Webflow CMS collections, how an article becomes a Webflow item, live or draft, required fields, and starting a workflow when an item is published.

A Webflow channel is one **CMS collection** on one of your Webflow sites — your *Blog Posts*, a *Changelog*, *Case Studies*. Post to it and Ocoya adds a new item: the title becomes its **Name** and slug, the text its rich text body, the first image its main image. One Webflow connection can give you a channel for every collection on the sites you chose.

Webflow can also start a workflow: an item published on your site can be shared to your other channels a moment later. See [Webflow in workflows](#webflow-in-workflows) below.

## Before you start

You need a Webflow site that uses the **CMS** and has at least one collection, and you need to be allowed to install apps on it. Webflow asks you to choose the sites while you connect, and Ocoya can only ever reach the collections on those sites. It can read and write CMS items; it cannot change your pages, styles or settings.

## Connect Webflow

<Steps>
  <Step title="Open Channels">
    Select **Channels** in the left sidebar, then **Connect channel**.
  </Step>

  <Step title="Choose Webflow">
    Pick **Webflow** from the **Add a connection** panel, under Blogging.
  </Step>

  <Step title="Choose sites in Webflow">
    Webflow shows what Ocoya will be able to do and asks which sites it may use. Tick the ones you want, then **Authorize**. You have 10 minutes to finish.
  </Step>

  <Step title="Select the collections to add">
    Back in Ocoya, every CMS collection on those sites is listed, named *Site name · Each post becomes an item*. Choose the ones you want as channels for this brand. If there is only one collection, it's added without asking.
  </Step>

  <Step title="Fill in required fields, if asked">
    If a collection requires a field an article has nothing for — an *Author*, a *Category* — Ocoya asks what every post should use. See [Required fields](#required-fields).
  </Step>
</Steps>

Connecting again — to add more sites, or to change the values for required fields — updates the same connection, and your existing channels keep working.

## How posts appear

| Part of your post | Where it goes in Webflow |
| - | - |
| Title | The item's **Name**, up to 256 characters. With no title, the first line of your text is used |
| Title | The **Slug**, in lowercase letters, numbers and hyphens. A slug already used in the collection gets a short random ending |
| Text | A **Rich text** field named *Post Body*, *Body*, *Content* or similar — otherwise the first Rich text field |
| First image | An **Image** field named *Main Image*, *Thumbnail*, *Cover* or similar — otherwise the first Image field |
| All images | The first **Multi-image** field, if the collection has one |
| Summary | A Plain text field named *Post Summary*, *Summary*, *Excerpt*, *Card Text* or similar gets the article's excerpt, or the first 160 characters of the text |
| Reading time | A field named *Time to read* or *Reading time* gets the minutes, at 200 words a minute — in the same format as your other items, such as *5 min read* |

If the text's first line repeats the title, it's left out of the body so the title isn't shown twice. Links you added to the post that aren't already in the text go at the end.

Text written in Markdown — headings, lists, quotes, bold, links — arrives as real rich text. Plain text keeps its paragraphs and line breaks, and web addresses become clickable links. Image alt text is passed to Webflow, which keeps its own copy of each image.

Every other field is left alone, unless the collection requires it.

## Required fields

Webflow collections often require fields an article doesn't have — an **Author** reference, a **Category** option, a region. When you connect, Ocoya opens **Fill in required Webflow fields** and asks what every post from Ocoya should use:

* **References** (an author, a category, tags) are chosen from the items in the referenced collection.
* **Options** are chosen from the field's own choices.
* **Numbers, text, links, emails and phone numbers** take a fixed value.

Choose **Save**, or **Not now** to do it later by connecting Webflow again. Until a value is chosen, the post editor warns you before you schedule a post to that collection, and the post fails if it goes out anyway.

<Note>
  Some required fields can't be filled by Ocoya at all — a required date, file or switch, or a second Rich text field. Make them optional in Webflow, or post to another collection.
</Note>

## Live or draft

Posts from the post editor are **published live**: the item goes up on your site the moment it posts. Only that one item is published — the rest of your site, and any unpublished changes to your pages, stay as they are.

In a workflow, the **Publish to Webflow** step lets you choose under **In Webflow**:

| Setting | What happens |
| - | - |
| **Publish live** (default) | The item is published to your live site straight away |
| **Keep as draft** | The item is added as a draft, for somebody to publish in Webflow |

This is separate from the step's **Save as draft** switch, which keeps the post in your Ocoya planner without sending it to Webflow at all.

A published post links to its page: your site's address, the collection's slug and the item's slug. A draft links to your site.

## What you can post

| Post type | Supported |
| - | - |
| Text | Yes |
| Images | Yes, up to 10. The first is the main image |
| GIF | Yes, as an image |
| Video | No. A Webflow video field is a link to a hosted video, not an upload |

A post needs text or at least one image.

## Webflow's limits

| | Limit |
| - | - |
| Post text | 100,000 characters |
| Title | 256 characters |
| Images | 10 per post |
| Hashtags | No limit. Webflow shows them as plain text |

## Deleting a post

Deleting a published post in Ocoya unpublishes the item from your site and removes it from the collection. Webflow has no trash for CMS items, so it can't be restored there. Items your team created are never touched.

## Webflow in workflows

Webflow works at both ends of a workflow.

**Publish to Webflow** is an action. Choose the collection, a **Title** (its slug is made from it), the caption, and **In Webflow**: Publish live or Keep as draft.

**New item published in a Webflow collection** is a trigger. Choose a collection channel, and the workflow runs once for each item published.

| Setting | What it does |
| - | - |
| **Collection** | The collection to watch. It has to be connected as a channel first |
| **Only when** | Optional. A field name and a value, such as *Category* and *News*. The workflow then runs when an item reaches that value — drafts included — instead of when it's published |

How the trigger behaves:

* **A published item runs within moments.** Webflow tells Ocoya as soon as an item is published or changed. Ocoya also checks once a day, in case a notice went missing.
* **Nothing before you switch the workflow on counts.** Items already on your site are left alone.
* **Each item runs once.** Editing or republishing it later doesn't post it again.
* **Up to 10 items run per check.** Publish fifty at once and they're worked through over the next checks, oldest first.

Every field of the item is available to the steps after the trigger, written in lowercase with underscores: a field called *Post Summary* becomes `{{trigger.post_summary}}`. You can also use:

| Value | What it holds |
| - | - |
| `{{trigger.title}}` | The item's Name |
| `{{trigger.url}}` | The item's page on your site. Empty for a draft or an unpublished item |
| `{{trigger.text}}` | The summary field, otherwise the body as plain text, otherwise the Name |
| `{{trigger.image}}` | The first image. `{{trigger.images}}` holds them all |

Rich text arrives as plain text, options as their names, and references as item IDs rather than names. Leave a following **Post to** step's caption or media empty and it uses `{{trigger.text}}` and the item's images.

## Disconnecting

Disconnecting a Webflow channel in Ocoya stops Ocoya posting there. Items it already published stay on your site.

To remove Ocoya from Webflow entirely, revoke the **Ocoya** app in your Webflow account's apps and integrations settings. Every Webflow channel from that connection then shows **Reconnect needed** the next time it posts.

## Common problems

**"… has required fields with no value chosen: …"** The collection requires a field Ocoya has no value for. Connect Webflow again and fill in **Fill in required Webflow fields**, or make the field optional in Webflow.

**"… has required fields Ocoya cannot fill: …"** The collection requires a field of a type Ocoya can't fill, such as a date or a file. Make it optional in Webflow, or post to another collection.

**"… has no Rich text field for the post's text."** Add a Rich text field to the collection in Webflow.

**"… requires an image."** The collection's main image is required. Add an image to the post.

**"Webflow no longer accepts this connection. Reconnect Webflow."** Ocoya was revoked in Webflow. Reconnect — see [Reconnect a channel](/help/reconnect-a-channel).

**"Ocoya can no longer reach this Webflow site."** The site was left out the last time you connected. Connect Webflow again and choose it.

**"Webflow cannot find this collection."** The collection was deleted, or its site is no longer shared with Ocoya. Pick a different channel.

**"Webflow is rate limiting requests."** Webflow asked Ocoya to slow down. The post can be retried in a minute.

**"Webflow authorization was declined."** You selected **Cancel** on Webflow's screen. Connect again and choose **Authorize**.

**A collection I expected isn't listed.** Check its site was ticked on Webflow's screen. Connect again to add it.

## Related

<Columns cols={2}>
  <Card title="Character and media limits" icon="ruler" href="/help/channel-limits">
    Every network's limits in one table.
  </Card>

  <Card title="Why didn't my post publish?" icon="triangle-alert" href="/help/post-didnt-publish">
    Diagnosing a post a network refused.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.