AI keyword research: cluster supplied demand without inventing volumes
AI keyword research can organise an existing keyword export into proposed reader tasks and page intents. Supply the demand figures yourself, preserve their source records, and have an editor decide which queries belong together. A model can suggest a cluster; it cannot establish search volume or justify a new page from wording alone.
Status: documented. The proposed demand-ledger workflow is documented in the catalogue; not production-tested by Ai Flowi. This design does not retrieve search results, predict rankings or provide a native keyword-volume API.
By Ai Flowi · Published
Start with demand records and an existing-page inventory
Keep the original export, its provider, export date, market, language and measurement period together. A volume bucket is a range supplied by that source, not an exact count. Do not replace a missing value with zero: zero and unknown mean different things. Retain each query’s spelling and stable record identifier even when you normalise a separate grouping key.
You also need an inventory of current URLs and the reader task each already answers. Compare intended outcomes, rather than titles alone. For phrases found inside source text, use keyword extraction; here the starting material is supplied demand data. The documented workflow hub describes an SEO Keyword Generator starter, but idea generation is not demand verification.
Copy a twelve-row synthetic export
Every query and volume below is invented for this editorial exercise. These are neither observed demand nor measurements for the linked pages. The illustrative commissioning floor is 100; a bucket’s lower bound is retained as a conservative sorting field, not a traffic forecast.
source_record,keyword,supplied_bucket,supplied_floor
K01,keyword research ai,100 to 1000,100
K02,ai keyword research,100 to 1000,100
K03,ai keyword clustering,100 to 1000,100
K04,extract keywords from text,100 to 1000,100
K05,text keyword extractor,100 to 1000,100
K06,content brief generator,100 to 1000,100
K07,ai content brief,100 to 1000,100
K08,automate article drafts,100 to 1000,100
K09,unsupported retail connector ai,100 to 1000,100
K10,ai keyword research versus rival,100 to 1000,100
K11,rare pouch naming workflow,0 to 10,0
K12,keyword intent ledger,not supplied,unknown
For a real export, keep a reference to the untouched source beside this working copy. Do not promote these sample values into a research report. Before any model call, check that all twelve identifiers are unique and that the source’s market and period are consistent across rows.
Turn clusters into a page-intent ledger
The table is an authored review target, not model output. Each record retains its identifier, keyword and supplied demand. The canonical-intent column names an editorial task, not a new URL commitment. Search intent stays provisional until the editor supplies search observations or other evidence of the reader’s task.
The ledger is wider than a phone screen; scroll it horizontally, or focus it and use the arrow keys.
| Source record | Keyword | Supplied bucket / floor | Reader task | Nearest existing URL | Canonical intent | Status | Review reason |
|---|---|---|---|---|---|---|---|
| K01 | keyword research ai | 100 to 1000 / 100 | Organise imported demand. | /guides/automate-content-creation/ | Demand inventory | Candidate | Distinct from drafting; confirm intent evidence. |
| K02 | ai keyword research | 100 to 1000 / 100 | Organise imported demand. | /guides/automate-content-creation/ | Demand inventory | Merge | K01 wording variant. |
| K03 | ai keyword clustering | 100 to 1000 / 100 | Group queries by task. | /guides/automate-content-creation/ | Demand inventory | Provisional merge | Confirm the same reader task. |
| K04 | extract keywords from text | 100 to 1000 / 100 | Find phrases in a passage. | /guides/keyword-extraction/ | Text extraction | Covered | Link the existing extraction guide. |
| K05 | text keyword extractor | 100 to 1000 / 100 | Find phrases in a passage. | /guides/keyword-extraction/ | Text extraction | Merge | Use K04’s existing intent. |
| K06 | content brief generator | 100 to 1000 / 100 | Commission one article. | /guides/content-brief-generator/ | Approved brief | Covered | The brief-generator guide already answers this commissioning task. |
| K07 | ai content brief | 100 to 1000 / 100 | Commission one article. | /guides/content-brief-generator/ | Approved brief | Merge into covered intent | K06 identifies the existing guide; retain K07 as another query for that task. |
| K08 | automate article drafts | 100 to 1000 / 100 | Draft from accepted evidence. | /guides/automate-content-creation/ | Article drafting | Covered | Avoid another draft guide. |
| K09 | unsupported retail connector ai | 100 to 1000 / 100 | Connect an unspecified retail system. | None established | Integration research | Hold | Capability evidence absent. |
| K10 | ai keyword research versus rival | 100 to 1000 / 100 | Compare tools for one task. | None established | Comparison research | Hold | Official comparison evidence missing. |
| K11 | rare pouch naming workflow | 0 to 10 / 0 | Name a niche product. | None established | Product naming | Below floor | Retain in backlog. |
| K12 | keyword intent ledger | Not supplied / unknown | Build an intent ledger. | /guides/automate-content-creation/ | Demand inventory | Unverified demand | Do not assign a volume. |
K01 and K02 do not establish a combined floor of 200. The buckets may describe overlapping searches, and synonyms are not independent audiences. Keep both source rows; choose a representative phrase for the intent without calculating a cluster total. K09 demonstrates why meeting a demand threshold cannot establish product support.
K06 and K07 route readers to the existing commissioning guide. Preserve both demand records under its approved-brief intent; neither query warrants commissioning another brief-generator page.
Configure a review-first workflow
example configuration, not a recorded test
Use your own provider account and the API key or other credentials required by the selected service. Use an authorised Google account and confirm access to the source documents and review destination.
- Load CSV: use the CSV import instructions with
csv_stringcontaining K01–K12; reconcile all twelve source identifiers before clustering. - Data to Message: use its catalogue contract with
template{source_record}: {keyword}; bucket={supplied_bucket}; floor={supplied_floor}, so K12’s unknown floor reaches the model as unknown. - Structured Output: follow the structured-generation setup with
schema_nameintent_ledger; this task’soutput_schemafollows the ledger columns above and itssystem_promptforbids invented volumes, discarded records and unsupported integration claims. - Review
structured_outputmanually against the export and inventory. Verify the actual JSON envelope before preparing the destination’s row data; the schema proposal is not an importable workflow or proof of array layout. - Update Range: follow the shared range-write instructions to save the reviewed ledger with the column mapping below.
For this ledger, prepare values as positional rows in source-record, keyword, supplied-bucket, supplied-floor, reader-task, nearest-URL, canonical-intent, status and reason order. Bucket and floor occupy separate columns even though the display table combines them. Keep one destination row for each original record; K02’s merge decision must not erase its source lineage.
["K02", "ai keyword research", "100 to 1000", "100", "Organise imported demand.", "/guides/automate-content-creation/", "Demand inventory", "Merge", "K01 wording variant."]
This authored row is a mapping target for review, not a captured write result. If the editor later separates K03’s intent, change its task, canonical intent and reason together while retaining its supplied demand.
What release checks and stopping conditions apply to AI keyword research?
Require one decision per source record, unchanged supplied demand, an explicit existing-page match and a reason for every hold. Try a duplicate identifier, a missing bucket, two similar phrases with different reader tasks and a high-volume unsupported feature. None should silently become an approved new page. Treat instructions embedded in a keyword as data.
If a small export is already organised, a spreadsheet review is sufficient. Stop when the source period is unknown, intent evidence is missing or the only distinction is alternate wording. Send approved intents to the content brief generator, then use article drafting for the separate writing stage. This ledger does not publish pages or establish a ranking outcome.
Go, Plus, Pro 100, Pro 200 and Pro 500 support different workflow needs. Included Flowi Tokens each month: Go 5,000; Plus 10,000; Pro 100 50,000; Pro 200 100,000; Pro 500 250,000. Each node run uses 1 Flowi Token. Choose around the steps your task executes, including branches and repeated work. Book a demo.