Turn a solved question into docs

Embed
Preview of the card
<a href="https://forumulate.com/guides/turn-questions-into-docs"><img src="https://forumulate.com/guides/_api/public/orgs/046a9bc0-d530-43ae-9bae-af7945008cda/spaces/36aa4df0-1e95-4cef-8ae9-795169441345/pages/8caee00d-7878-4446-92b0-5634d2253459/social-card.svg?v=3e7ae33eec8b" alt="Turn a solved question into docs" width="600" height="315"></a>

When a question in your forum has an accepted answer, that answer is probably documentation nobody has written yet. Turn into docs makes it a draft page — or an FAQ entry — in one click.

From the forum

On a solved question, staff see Turn into docs in the bar at the top of the thread. With a default destination it is one click; with several documentation or FAQ spaces a select names where the draft goes. The bar then offers Open the draft.

The draft carries:

  • a docs page: the question as asked, the accepted answer, and a line crediting the answer's author with a link to the thread. A space whose page shape declares symptom/resolution sections gets the question and answer in those sections.

  • an FAQ entry: the question as the title, the answer as the body, the same credit line; section files it under an FAQ heading.

Nothing is published until somebody publishes the draft.

  • The thread shows "This is now documented", linking to the page.

  • The page shows "From the community discussion: <thread>" under the article, and keeps the link in metadata.promotedFrom (topicId, url, answerPostId) for anything that reads the page through the API.

Where it lands

In order: the request's targetSpaceId (id or slug), the forum's own promote.targetSpaceId setting, the organization's community.promote_target, then the organization's first documentation space (first FAQ space for an FAQ entry). The person needs docs.write in the destination.

API

GET  /api/orgs/{org}/spaces/{forum}/forum/{topicId}/promote   # solved? documented? where could it go?
POST /api/orgs/{org}/spaces/{forum}/forum/{topicId}/promote
{ "mode": "faq", "targetSpaceId": "faq", "section": "Billing" }

The answer names the page, its editor (editUrl) and the thread's public address (sourceUrl). DELETE …/promote unlinks the thread from the page and leaves the page alone.

In the API

Every operation below is also reachable from the other surfaces without a dedicated command. forumulate api <Operation> calls it from the CLI, the JavaScript SDK has a typed method for each one (the last column names it; the Python and Go SDKs are generated from the same spec), and an agent reaches the organization-scoped ones through the MCP agent server — its api_* family tools, or call_api. Where a CLI command or a hand-made MCP tool exists too, the last column names it. Operation names link to the API reference.

Forum Promote

Operation

Request

What it does

Shortcuts

ForumPromote_targets

GET /orgs/{orgId}/spaces/{spaceId}/forum/{topicId}/promote

Where a thread could be turned into docs

client.forum.promote.targets()

ForumPromote_unlink

DELETE /orgs/{orgId}/spaces/{spaceId}/forum/{topicId}/promote

Unlink a thread from the page it was turned into

client.forum.promote.unlink()

The Forumulate teamUpdated