Ocoya
Blogging · FramerBeta

Your Framer CMS, written from Ocoya.

Publish articles straight into a Framer collection — title, formatted content, cover image and date filled in, and the site published for you. Or run it the other way: a new item in your CMS goes out to every network on its own.

Framer Fri, 09:00
CMS ⌄Harbour Kitchen⑂ mainPublish
+⇅☰⌕···
TitleStatusSlug
A summer menu from the coastLive⌄a-summer-menu-from-the-coast
Meet our new head chefLive⌄meet-our-new-head-chef
Wine pairing nightsLive⌄wine-pairing-nights
Behind the passDraft⌄behind-the-pass
PublishedJust now
harbourkitchen.comharbour-kitchen.framer.website
Update
OAdded by Ocoya
Connecting

One key from your project, pasted once.

Framer has no sign-in for apps. It has a Server API, opened with a key you make in the project’s own settings — so you decide which project, and the key reaches nothing else.

Step 1

Make a key in Framer

Open the project in Framer, go to Site Settings → General and create an API key. Copy it, and copy the project’s address from your browser.

Site Settings → General → API Keys
Step 2

Paste it into Ocoya

Open Channels in Ocoya, choose Framer under Blogging, and paste the address and the key. Ocoya opens the project straight away to check the key works.

Channels → Connect channel → Framer
Step 3

Choose your collections

Every CMS collection in the project is listed. Each one you tick becomes a channel on your calendar and a trigger for your workflows.

Connected
One project per key

The key opens one project. That is the whole of the access.

A Framer API key belongs to a single project, so connecting the blog never reaches your portfolio or a client’s site. Have three Framer sites? Connect each with its own key. Delete the key in Framer and Ocoya’s access ends with it.

  • Made in Site Settings — nothing to install, no plugin
  • One project per key, connected separately
  • Delete the key in Framer to cut the access at once
Framer → OcoyaOne key per project

API Keys

Keys let services reach this project through Framer’s Server API.

Ocoyafr_••••••••3f9aCopy
+ Create key
Connect FramerProject addresshttps://framer.com/projects/Harbour-Kitchen--x4TqFramer API key••••••••••••••••Connect Framer
Collections as channels

Any collection you manage can be a channel.

Once the key is in, every CMS collection in the project is listed. Tick the journal, the case studies or the changelog, and each becomes a channel: scheduled like any network and ready to start workflows. A collection a plugin keeps in sync is shown too, but greyed out — Framer only lets the plugin write to it.

  • Every collection you manage yourself can be picked
  • Plugin-synced collections are named, with the reason
  • The same collection can receive articles and start workflows
OcoyaPick your collections
Choose the collections to connect
Harbour Kitchen
Journal18 itemsChannel
Menu42 itemsChannel
Events7 items
Reviews (Google sync)A plugin manages this collection
Your fields, filled in

An article in, a finished CMS item out.

Ocoya reads the collection’s fields and fills the ones an article has. The headline becomes the Title — and the slug — the article becomes formatted Content with real headings, lists and links, the first image becomes the Cover, and a Date field is stamped with the moment it was published. A Summary or Excerpt field gets the article’s excerpt.

  • Fields are found by name and type — Title, Content, Cover, Date
  • Markdown arrives as real formatted text
  • A slug already taken gets -2, -3 instead of an error
Ocoya → FramerFields found for you
Your article

A summer menu from the coast

## Straight from the boats
Grilled mackerel, sea herbs and the first tomatoes of the year.

JournalLive⌄
TTitleA summer menu from the coast
ContentStraight from the boatsGrilled mackerel, sea herbs and the first tomatoes of the year.
▣Cover
▦DateAutoToday, 09:00
Headline → TitleThe article → ContentFirst image → CoverPublish time → Date
Live or draft

Published to your site, or left for review.

Each Publish to Framer step chooses. Publish live adds the item and publishes the project to your domain, retrying if Framer is busy and taking the item back out if it still cannot — so a failed post never leaves a stray item behind. Keep as draft marks the item Draft, which Framer leaves out of every publish.

  • Publish live: the item is added and the site published at once
  • Keep as draft: it waits in the collection, unpublished
  • Posts from the composer go live; workflows let you choose

Framer publishes a project as a whole, so any other unpublished changes in it go live with the article. Keep as draft if somebody is mid-redesign.

Workflow stepYour call, per step
Publish to FramerIn FramerPublish liveKeep as draft
PublishedJust now
harbourkitchen.com
Update
Publishes the whole project
Publish to FramerIn FramerPublish liveKeep as draft
+⇅☰⌕···
TitleStatusSlug
A summer menu from the coastDraft⌄a-summer-menu-from-the-coast

Marked Draft — left out of every publish until someone changes it.

Publish to FramerIn FramerPublish liveKeep as draft
PublishedJust now
harbourkitchen.com
Update
Publishes the whole project
Publish to FramerIn FramerPublish liveKeep as draft
+⇅☰⌕···
TitleStatusSlug
A summer menu from the coastDraft⌄a-summer-menu-from-the-coast

Marked Draft — left out of every publish until someone changes it.

Workflows

Add an item in Framer. Watch it share itself.

Write in your Framer CMS as you always do. Ocoya checks the collection every 15 minutes, and each new item that is not a draft goes out to Instagram, LinkedIn and Threads — with its title, its cover and a link to its page. Or run only when a field reaches a value, like Category is Menu.

  • Runs for every new item that is not a draft, or only when a field matches
  • Checked every 15 minutes — Framer sends no notifications
  • Each item runs once, and items already there are left alone
  • Add an AI step in between to phrase it for each network
Build the workflow
Framer → WorkflowChecked every 15 minutes
Checking JournalFramer sends no notifications, so Ocoya looks
+⇅☰⌕···
TitleStatusSlug
Meet our new head chefLive⌄meet-our-new-head-chef
A summer menu from the coastLive⌄a-summer-menu-from-the-coast
New item in a Framer collectionJournal
Posted
Posted
Posted
Every field

Every field of the item, ready to use.

Each field of the collection is handed to the steps after the trigger under its own name, with the item's page on your site. A post can quote the title, a prompt can read the whole article, and the cover becomes the post's picture without anybody exporting it.

  • Any field as {{trigger.field_name}}, named as in your collection
  • The item’s page as {{trigger.url}}, read from your CMS page
  • Picked from a list in the builder, with the newest item to test with
FramerItem opened
CMS · Journal

A summer menu from the coast

TitleA summer menu from the coast{{trigger.title}}
ContentGrilled mackerel, sea herbs…{{trigger.content}}
Cover{{trigger.image}}
CategoryMenu{{trigger.category}}
Pageharbourkitchen.com/journal/…{{trigger.url}}

In the builder, every field of the collection is offered by its own name with the newest item’s value beside it — pick it, test it, use it.

Ideas

What teams do with it.

Framer is where the site is designed and published. These are the jobs that stop needing a copy and paste once Ocoya can write to its CMS and read from it.

Run your blog from an AI campaign

Start a blog campaign in Ocoya and each article lands in your Framer journal with its title, content, cover and date — published on the day you scheduled.

Announce every new item

Add a post in your Framer CMS, and a workflow shares it to Instagram, LinkedIn and Threads with its cover and link.

Publish release notes from your tools

Send each release to Ocoya’s webhook and publish it as an item in a Changelog collection — the site updates without anybody opening Framer.

Keep events current

Schedule event pages ahead in Ocoya and publish them into an Events collection on the day, alongside the posts that promote them.

Draft from a feed

Point a workflow at an RSS feed and let AI write a draft item for each new article, waiting in Framer for an editor.

Publish once, everywhere

Pick Framer alongside WordPress, Webflow and DEV.to and the same article goes to each, under its own rules and on the same calendar.

What Framer accepts

The details, before you plan around it.

These follow from how Framer’s CMS and Server API work, and from how Ocoya reads and writes them.

ChannelA collection you manage, in one project
ConnectingAn API key from Site Settings
ArticleUp to 100,000 characters, as formatted text
TitleUp to 256 characters, and the slug
ImagesThe first image becomes the cover
PublishingPublishes the project, or keeps a draft
DeletingRemoved; gone at the next publish
Workflow triggerNew item, or a field reaching a value
Trigger speedChecked every 15 minutes

A blog campaign, straight into Framer.

Give an AI blog campaign a goal and a schedule, choose your Framer collection, and each article arrives as a finished item — title, formatted content, cover, date, excerpt — with the site published on its day, alongside the social posts that announce it.

How campaigns work

Your project stays yours.

Ocoya opens the project only to do what you asked: list its collections, add the items it publishes, publish when you chose Publish live, and — for a workflow — read the collection it watches. It never edits an item your team created and never touches your pages or design. Delete the key in Framer and the access ends at once.

Read our privacy policy

Start from an example

Announce every new Framer item on Facebook and Threads. Publish a blog campaign into your journal. Each one is a ready-made workflow you switch on in a minute.

See Workflows
Questions

Before you connect

Framer has no sign-in flow for apps. Its Server API is opened with a key made in a project’s Site Settings, and each key reaches that one project only. Make one under Site Settings → General, paste it into Ocoya with the project’s address, and delete it in Framer whenever you want the access to end.

Your calendar, writing to Framer.

Paste one key and choose your collections in a minute.