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.
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:
-
Manual Trigger You start the run with When clicking 'Execute workflow'.
-
Get Notion Pages (Notion – Database: Fetch Content Tasks) Pull all pages with Status = Ready for publish scoped to the target Project.
-
Loop Over Items (Split In Batches) Process one Notion page at a time.
-
Code (Pass-through) Expose page fields (e.g., name, id, url, sector) for downstream nodes.
-
Get Notion Block (children) Fetch all blocks under the page id.
-
Merge Content (Code) Concatenate code-block fragments, parse them into one
mergedContentJSON, and attach the page metadata. -
Get Webflow Items (HTTP GET) List items in the target Webflow collection to see if an item with the same name already exists.
-
Update or Create (Switch)
- No match: Create Webflow Item (POST) with
isDraft: true, mapping allfieldData(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, leaveisDraft: true.
- No match: Create Webflow Item (POST) with
-
Write Back Status (Notion)
- Success path set Status = 5. Done.
- Error path set Status = On Hold.
-
Log Submission (Code) Log a compact object with status, notionPageId, webflowItemId, timestamp, and action.
-
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.
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
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Business Operations & ERPs workflows
- Automate Job Applications and Track Status with LinkedIn, Indeed, and Google Sheets$14.99
- Automated Stock Price Monitoring and Alerts for Indian & US Markets$9.99
- Build Custom Workflows Automatically with GPT-4o, RAG, and Web Search$24.99
- AI Chat Agent Receptionist for Clinics$150
- Automatically Archive Zoom Recordings to Google Drive and Log in Airtable$4.99
- Automate Call Scheduling with Voice AI Receptionist Using Twilio, Google Calendar & Airtable$24.99
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.