Skip to content
DocsGo to Dashboard
Ship content actions

Every action is one of four kinds, each with its own deploy target

Content actions come in exactly four kinds. The kind decides what approving and publishing actually do — and where the artifact ends up living.

SEO & AI Search Generated drafts list showing metadata, schema, llms.txt, and redirect drafts with status badges and action buttons
Four content-action kinds side by side: draft rows offer Approve and Reject, the approved llms.txt row offers Publish.

| Kind (the id shown on each draft) | What it proposes | Where it lands when published | |---|---|---| | metadata-draft | title + meta description for pages without explicit rules | the auto-injected SEO rule, deployed to the serving path | | schema-markup-publish | JSON-LD block with a schema @type | an SEO rule carrying the JSON-LD, deployed on save | | llms-txt-publish | the full /llms.txt file | a static file + the Serve llms.txt rewrite, edge-served | | broken-link-redirect-proposal | a 301 from a broken path to its replacement | a redirect rule, deployed to the serving path |

All four share the registry conventions: executionMode: "guided" (a human approves each step) and a documented rollback (for llms.txt: delete the static file and serving rewrite, redeploy).

The shared lifecycle#

draft → (Approve) → approved → (Publish) → published, with rejected as the off-ramp and exported recording a text hand-off. Statuses appear verbatim as pills on each row of Generated drafts — the meta line's action id tells you the kind at a glance (screenshot below). Approval and publication are separate, deliberate clicks; the metadata registry entry says it outright: Draft must be explicitly approved by the customer before publishing — never auto-published. (The one exception is the auto-injection path described in Approve a metadata draft.) Each transition writes activity: content_action.approved|rejected|exported|published.

Back to Ship content actions