# Dictate a founder note into a Webflow article draft

Speak a first-hand observation and give it an audience and a few approved facts. The workflow creates a Webflow article draft with a title, summary, and two to four sections.

**Category** Marketing · Content Creation  
**Tools** Wispr Flow, n8n, OpenAI, Webflow, n8n Data Tables  
**Trigger** Private n8n Form submission  
**Package** [Workflow JSON](voice-to-webflow-article.n8n.json) · [Test payloads](test-payloads.json) · [Validation report](validation-report.txt)

## Try this dictation

> We used to confirm kickoff before we knew who owned delivery. Start with the signed scope and one owner. Check for missing access before the client meeting.

## Set up the private form

1. Import the JSON in n8n and run **Run with sample data**. It imports inactive with **dryRun** enabled. The built-in run uses fictional inputs and skips connected apps.
2. Select a **Basic Auth** credential on **Receive event** for your editors. Open the **Test URL** after starting the form test in n8n. Place the cursor in the dictation field, speak with your configured Wispr Flow shortcut, review the inserted text, and submit.
3. Add an OpenAI **Header Auth** credential using **Authorization: Bearer <OpenAI key>**. Keep the draft ID stable for a retry and use a new ID for a deliberate revision. Enter an ID such as **kickoff-note-v1**.
4. Use fictional content first. When your destinations are set, disable dry run in a staging copy and verify the outcome. The form confirmation acknowledges receipt. Check the workflow execution or review destination for the result.

## Connect the Webflow collection

1. Create an n8n Data Table for this workflow with text columns **event_key**, **status**, **detail**, and **result_id**. In **Setup**, enter its ID, the Webflow collection ID, the model, and the brand voice.
2. Set **bodyField** to the API slug of the collection’s Rich Text field. Set **summaryField** to its Plain Text summary slug, or clear it if you use only the body. Configure any other required collection fields in the payload before staging.
3. Select a Webflow **Header Auth** credential using **Authorization: Bearer <Webflow token>** with **cms:write** on **Create Webflow CMS draft**. The workflow uses the staged-item endpoint with **isDraft** enabled. Review the item in the Webflow CMS and publish through your normal editorial process.
4. 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 ID.

## Form inputs and output

Enter a **Working title** and **Audience**. Dictate the story in **Dictated notes**. Add facts you can verify in **Approved facts**. The model’s supporting excerpt for each section must appear in the input. The default collection field slugs are **body** and **summary**.

## What to test

- The sample draft has two article sections and **isDraft** enabled.
- An invented metric or unsupported excerpt stops before the Webflow write.
- Review whether the suggested title, summary, and first-person account reflect what you meant. Add citations or links in the CMS where the editor wants them.

[n8n source · Notion to Webflow drafts](https://n8n.io/workflows/7935-sync-notion-content-to-webflow-cms-as-draft-items-with-status-tracking/) · [Wispr Flow dictation instructions](https://docs.wisprflow.ai/articles/6409258247-starting-your-first-dictation) · [Webflow CMS draft API](https://developers.webflow.com/data/reference/cms/collection-items/staged-items/create-item)
