Publish Notion blog posts to Webflow CMS automatically
Mark a Notion page Ready to publish and a quiet agent moves it into your Webflow blog, cover image and meta tags and all.
Build me an agent workflow that publishes my Notion blog drafts to my Webflow CMS blog collection automatically. I write posts in a Notion database and I want them live on the site as soon as I mark them ready, with no copy-paste.
Trigger: cron, every 15 minutes.
What the agent should do on each run:
1. Call Notion Query a Database against my blog database, filtered to pages where the Status property equals "Ready to publish" AND the Published flag is empty (unchecked / empty date). Ask me for the database ID and the exact property names on first run.
2. If there are no matching pages, exit quietly. Don't post or log anything noisy.
3. For each matching page, in order:
a. Read the page title, slug (if present), tags, author, and cover image URL from the page properties.
b. Call Notion Retrieve Page as Markdown to pull the full body.
c. Convert the markdown into clean HTML rich text that Webflow's CMS rich text field accepts. Preserve headings, lists, quotes, code blocks, inline links, bold/italic, and inline images. Strip Notion-only artifacts like callouts or toggles into reasonable equivalents (a blockquote, or expanded body text).
d. Draft an SEO meta title (about 50-60 characters) and meta description (about 140-160 characters) based on the post body. Keep them natural and outcome-focused, not keyword stuffed.
e. Call Webflow Create Collection Item against my blog collection. Map fields like this (confirm with me on first run): name = Notion title, slug = Notion slug or a slugified title, post-body = converted rich text, main-image = cover image URL, meta-title = drafted meta title, meta-description = drafted meta description, plus any extras (author, tags, published-on date) I tell you about.
f. Call Webflow Publish Collection Items on the new item so it goes live on the site.
g. Call Notion Update a Page on the source page to set the Published flag (check the checkbox or set the date to now), so the next run skips it.
Error handling: if a single page fails (bad image URL, missing required Webflow field, rate limit), log a clear reason against that page, leave its Published flag alone so the next run can retry, and keep processing the rest. Respect Webflow's rate limits and its 1-publish-per-minute cap by pacing publishes if there are several at once.
Ask me for: the Notion database ID, the exact property names for Status / Published / Title / Slug / Cover / Author / Tags / Published-on, the Webflow site ID, and the Webflow blog collection ID and field slugs. Then build it.
Additional information
What does this prompt do?
- Watches your Notion blog database every 15 minutes for posts marked Ready to publish.
- Pulls the page body, title, and cover image, then converts the markdown into clean Webflow rich text.
- Writes a fresh SEO meta title and meta description tuned to each post before it ships.
- Creates a draft in your Webflow blog collection, pushes it live, and flips the Notion page to Published so it never ships twice.
What do I need to use this?
- A Notion workspace with a blog database that has a Status property and a Published checkbox or date field.
- A Webflow site with a CMS blog collection ready to receive new posts.
- Permission to share the Notion database with the integration and to sign in to Webflow.
How can I customize it?
- Change the cadence to hourly, daily, or weekdays only.
- Watch a different Status value, or layer on extra filters like Category or Author.
- Give the agent voice and length guidance for the meta description and meta title it writes.
- Map extra Notion properties like tags, author, or custom slug to matching Webflow collection fields.
Frequently asked questions
Will the same post ever publish twice?
Can I keep editing the post in Notion after it goes live?
What happens to images inside the body of the post?
Will this run on a Webflow Starter or free plan?
How does the agent decide on a meta title and meta description?
Stop copy-pasting Notion drafts into Webflow.
Connect Notion and Webflow once, and Geni ships every Ready to publish post on its own.