How it works
What this workflow does
Turn a spoken founder observation into a Webflow article draft for editorial review. The editor opens a private n8n form, dictates into the notes field with Wispr Flow, reviews the inserted text, and submits. The workflow validates the brief, drafts a title, summary, introduction, and two to four sections with OpenAI, and creates a staged Webflow CMS item.
The workflow imports inactive with dryRun: true. Run with sample data uses a fictional founder note, so the preview does not call OpenAI, Webflow, or the Data Table and does not need a form submission.
This is the voice-to-CMS layer for the Content Publishing, Social Distribution & Newsletter Intelligence blueprint; the Campaign Launch Assurance & Weekly Performance blueprint covers distribution and measurement.
The private form
Receive event is an n8n Form Trigger protected by Basic Auth. Editors get fields for Draft ID, Working title, Audience, Dictated notes, and Approved facts. Wispr Flow types into the active text field; the editor reviews the transcription before submitting.
The draft ID must be a stable lowercase value such as kickoff-note-v1. A live run also requires a Data Table, OpenAI model, a 24-character Webflow collection ID, and valid distinct CMS field slugs. The default body field is body and the optional summary field is summary.
Grounded copy and staged publishing
Every section must include an exact evidence quote from the dictated notes or the approved facts. Titles, summaries, and section text are checked for length and plain text. Any number in the copy must also appear in the approved facts, which blocks invented metrics.
The workflow escapes the content and builds HTML paragraphs and section headings. It creates the item through the Webflow staged-item endpoint with isDraft: true and isArchived: false. It verifies the returned 24-character item ID, draft state, archive state, and slug before recording draft_ready. The workflow never publishes.
Replays and validation scope
The Data Table is keyed by the draft ID. An existing request stops the run and preserves the current review state. A new request is reserved as draft_pending before the Webflow call.
The supplied report confirms the isolated n8n 2.47.4 import, inactive state, the built-in sample, and a local copy of the native form with a fictional multipart submission. It also covers matching form fields, staged-only Webflow behavior, malformed draft IDs, reserved field slugs, unsupported numbers or excerpts, and non-draft API responses. Live Wispr Flow dictation, deployed forms, credentials, model responses, and Webflow or Sheets operations require staging.
How to use
Before you start
- A current n8n instance with Form Trigger and Data Table support.
- A Webflow account, site, and collection for article drafts.
- A Webflow API token with
cms:write. - An OpenAI API key and a JSON-mode model.
- Wispr Flow configured for the editors who will dictate.
1. Import and run the sample
Download the complete package, extract the ZIP, and read the full setup guide. Import voice-to-webflow-article.n8n.json and keep it inactive.
Open Run with sample data and choose Test workflow. Assemble founder article draft should return a title, summary, introduction, and two sourced sections with isDraft enabled.
2. Prepare the private form
Select a Basic Auth credential on Receive event for your editors. Start the form test in n8n and open the Test URL. Place the cursor in the dictation field, speak with your configured Wispr Flow shortcut, review the inserted text, and submit.
3. Create the state table
Create an n8n Data Table with text columns event_key, status, detail, and result_id. Enter its ID in Setup together with the Webflow collection ID, the model, and the brand voice.
Set bodyField to the API slug of the collection's Rich Text field. Set summaryField to the Plain Text summary slug, or clear it if you use only the body. Configure any other required collection fields before staging.
4. Connect OpenAI and Webflow
Add an OpenAI Header Auth credential on Draft with OpenAI using Authorization: Bearer <OpenAI API key>. Select a Webflow Header Auth credential on Create Webflow CMS draft using Authorization: Bearer <Webflow token> with cms:write.
The workflow uses the staged-item endpoint. Review the item in the Webflow CMS and publish through your normal editorial process.
5. Test and operate
Use fictional content first. Disable dryRun in a staging copy and submit the form. The confirmation acknowledges receipt; check the n8n execution or Webflow for the result. Add citations or links in the CMS where the editor wants them.
If draft_pending remains, look up uptune-draft-<draft-id> in Webflow before retrying. Store the item ID and mark the record ready if the draft exists. Serialize requests for the same draft ID and use a new ID for a deliberate revision.
Related automations
Use the Source-Backed WordPress Draft System for long-form publishing outside Webflow, and the Article-to-Social Draft System for channel copy. The Voice-to-Webflow SEO Review System handles metadata review after publication. Read the Content Publishing & Newsletter Intelligence blueprint for the wider content process.