Content Plan Flow: Sample Flows

This article presents possible use cases and corresponding sample flows that you can support. It provides a useful starting point as you plan your implementation.

Generate a content plan and read the results

A site owner wants suggestions for what to blog about next. Your app generates a content plan for the site, waits for it, and then presents the resulting blog post briefs.

Generation takes several minutes and pauses part way through, so this flow polls twice: once while the keywords are researched, and once while the briefs are written.

To generate a content plan and read the results:

  1. Call Trigger Content Plan Generation Flow and store the returned contentPlanFlowId. You need it for every step that follows.
  2. Poll Get Content Plan Flow with that ID until status is KEYWORD_RESEARCH. Poll every 10 to 15 seconds. If status is PENDING_REQUIREMENTS, tell the site owner to add their business information, because the flow can't continue without it. If status is FAIL or CANCELED, stop polling and tell the site owner that generation didn't complete, because neither status recovers on its own.
  3. Call List Keyword Research Items to show the site owner the keywords the flow produced.
  4. Call Update Keyword Research Item for any keyword the site owner wants to change. Store the keywordResearchId from the response, because editing a keyword can move the research to a new ID.
  5. Call Create Content Plan with the flow ID. Check success in the response as well as the HTTP status. If success is false, show message to the site owner and stop, because no briefs were generated. Otherwise the call releases the flow and starts generating the briefs.
  6. Poll Get Content Plan Flow again until status is SUCCESS. If status is FAIL or CANCELED, stop polling and tell the site owner that generation didn't complete, because neither status recovers on its own.
  7. Call List Blog Post Candidates to retrieve the briefs and present them to the site owner.

Pick up a content plan generated in the dashboard

A site owner has already generated a content plan in their site dashboard. Your app shows that plan without generating a new one, which saves the owner several minutes of waiting.

To pick up an existing content plan:

  1. Call Get Content Plan Flow without a contentPlanFlowId. This returns the site's most recent successful flow. If it returns a not found error, the site has no completed plan, so fall back to triggering one.
  2. Read keywordResearchId from the returned flow to identify the research the plan was built from.
  3. Call List Blog Post Candidates to retrieve the plan's blog post briefs.
  4. Call List Keyword Research Items to show the keywords behind those briefs.

Cancel a generation the site owner no longer wants

A site owner starts a content plan generation and then changes their mind, or your app needs to stop a flow that's waiting on business information the owner won't provide.

Cancellation is permanent, so confirm the owner's intent before you call it.

To cancel a generation:

  1. Call Get Content Plan Flow with the flow ID to confirm the flow is still running.
  2. Call Cancel Content Plan Flow with the same ID. The keyword research linked to the flow is canceled with it.
  3. Call Trigger Content Plan Generation Flow if the site owner later wants a plan. A canceled flow can't be restarted, so this starts a separate flow with a new ID.

Last updated: 31 August 2026

Did this help?