<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Topic runs","description":"How to seed a single run with your own topic instead of leaving keyword discovery to HarperFlow.","dateModified":"2026-07-12","inLanguage":"en","author":{"@type":"Organization","name":"HarperFlow"},"publisher":{"@type":"Organization","name":"HarperFlow","url":"https://www.harperflow.io","logo":{"@type":"ImageObject","url":"https://www.harperflow.io/favicon.png"}},"mainEntityOfPage":"https://www.harperflow.io/docs/topic-runs"}</script>
Autopilot & Publishing
How to seed a single run with your own topic instead of leaving keyword discovery to HarperFlow.
Most runs start with HarperFlow discovering a keyword on your behalf. You can also hand it a specific topic yourself and get exactly one article written on that subject, without waiting for discovery to surface it. You'll find this option alongside the default "let HarperFlow discover a keyword" choice, wherever you start an on-demand run.
A topic needs to be a plain phrase, not a URL: no http:// links and no www. addresses. It has to land between 3 and 100 characters, using letters, numbers, spaces, apostrophes, and hyphens only. Anything else comes back with a plain-language reason instead of a cryptic error, so you can fix it and try again.
HarperFlow cleans up whatever you type into a search-shaped phrase (lowercase, no stray punctuation) and checks it against real keyword volume data, so the article is still built around a term people actually search for, not just your exact wording. That one topic becomes the only candidate for the run: there's no separate discovery step, no niche scoring, and no competing keyword that can win out over the one you asked for. The result reads like any other HarperFlow article: full body, citations, images, and metadata, just built around your exact subject instead of a discovered one.
Before the run starts, HarperFlow checks whether that topic, or something close enough to it, is already published or mid-flight for this project. If it is, you're told so directly instead of quietly getting a near-duplicate article. If you deliberately want to cover the same ground again anyway, for instance refreshing an older take, the request can force past that check instead of being blocked by it.
Tip: An "already covered" result isn't a dead end. It usually points at an existing article worth looking at, updating, or linking from, rather than one you need HarperFlow to rewrite from scratch.