π¬ Sync Notion content to Webflow CMS as draft items with status tracking
β‘ 157 views Β· π¬ Content Creation & Video
Description
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: Tech 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 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.
π Nodes Used
HTTP Request, Notion
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File