Sync Notion Content to Webflow CMS as Draft Items with Status Tracking

## **How it works:** This template takes approved Notion pages and syncs them to a Webflow CMS collection as **draft** items. It reads pages marked **Status = Ready for publish** in a specific Notion database/project, merges JSON content stored across page blocks into a single object, then either **creates** a new CMS item or **updates** the existing one by **name**. On success, it sets the Notion page to **5. Done**; on failure, it switches the page to **On Hold** for review. ## **Step-by-step:** 1. **Manual Trigger** You start the run with **When clicking 'Execute workflow'**. 2. **Get Notion Pages (Notion – Database: Fetch Content Tasks)** Pull all pages with **Status = Ready for publish** scoped to the target **Project**. 3. **Loop Over Items (Split In Batches)** Process one Notion page at a time. 4. **Code (Pass-through)** Expose page fields (e.g., **name**, **id**, **url**, **sector**) for downstream nodes. 5. **Get Notion Block (children)** Fetch all blocks under the page **id**. 6. **Merge Content (Code)** Concatenate code-block fragments, **parse** them into one `mergedContent` JSON, and attach the page metadata. 7. **Get Webflow Items (HTTP GET)** List items in the target Webflow **collection** to see if an item with the same **name** already exists. 8. **Update or Create (Switch)** - **No match:** **Create Webflow Item** (POST) with `isDraft: true`, mapping all `fieldData` (e.g., category titles, meta title, excerpt, hero copy/image, benefits, problem pointers, FAQ, ROI). - **Match:** **Update Webflow Item (Draft)** (PATCH) for that **id**. Keep the **existing slug**, write the latest `fieldData`, leave `isDraft: true`. 9. **Write Back Status (Notion)** - **Success path** set **Status = 5. Done**. - **Error path** set **Status = On Hold**. 10. **Log Submission (Code)** Log a compact object with **status**, **notionPageId**, **webflowItemId**, **timestamp**, and **action**. 11. **Wait – Loop** Short pause, then continue with the next page. ## **Tools integration:** - **Notion** - source database and page blocks for approved content. - **Webflow CMS API** - destination collection; items created/updated as **drafts**. - **n8n Code** - JSON merge and lightweight logging. - **Split In Batches + Wait** - controlled, item-wise processing. Want hands-free publishing? Add a **Cron** trigger before step 2 to run on a schedule.

n8n

How it works:

This template takes approved Notion pages and syncs them to a Webflow CMS collection as draft items. It reads pages marked Status = Ready for publish in a specific Notion database/project, merges JSON content stored across page blocks into a single object, then either creates a new CMS item or updates the existing one by name. On success, it sets the Notion page to 5. Done; on failure, it switches the page to On Hold for review.

Step-by-step:

  1. Manual Trigger You start the run with When clicking 'Execute workflow'.

  2. Get Notion Pages (Notion – Database: Fetch Content Tasks) Pull all pages with Status = Ready for publish scoped to the target Project.

  3. Loop Over Items (Split In Batches) Process one Notion page at a time.

  4. Code (Pass-through) Expose page fields (e.g., name, id, url, sector) for downstream nodes.

  5. Get Notion Block (children) Fetch all blocks under the page id.

  6. Merge Content (Code) Concatenate code-block fragments, parse them into one mergedContent JSON, and attach the page metadata.

  7. Get Webflow Items (HTTP GET) List items in the target Webflow collection to see if an item with the same name already exists.

  8. Update or Create (Switch)

    • No match: Create Webflow Item (POST) with isDraft: true, mapping all fieldData (e.g., category titles, meta title, excerpt, hero copy/image, benefits, problem pointers, FAQ, ROI).
    • Match: Update Webflow Item (Draft) (PATCH) for that id. Keep the existing slug, write the latest fieldData, leave isDraft: true.
  9. Write Back Status (Notion)

    • Success path set Status = 5. Done.
    • Error path set Status = On Hold.
  10. Log Submission (Code) Log a compact object with status, notionPageId, webflowItemId, timestamp, and action.

  11. Wait – Loop Short pause, then continue with the next page.

Tools integration:

  • Notion - source database and page blocks for approved content.
  • Webflow CMS API - destination collection; items created/updated as drafts.
  • n8n Code - JSON merge and lightweight logging.
  • Split In Batches + Wait - controlled, item-wise processing.

Want hands-free publishing? Add a Cron trigger before step 2 to run on a schedule.

$9.99
Last updated October 17, 2026
30-day money-back guarantee
Instant download
Lifetime updates included

New buyers can create an account from the cart to unlock a controlled $10 first-purchase credit on eligible orders of $25+.

Secure checkout powered by Stripe

Support

How to import this workflow into n8n

  1. 1Purchase or download the workflow to get the n8n workflow JSON file.
  2. 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
  3. 3Open each node marked with a credential warning and connect your own accounts and API keys.
  4. 4Run the workflow once manually to verify the data flow, then toggle it to Active.

Related Business Operations & ERPs workflows

Need this deployed? We'll set it up for you.

Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.