Skip to content
Publishing

THE FIELD GUIDE · 4 min read

Content review and publishing

Review generated drafts, approve them, and publish to the channels you choose.

Draft review

Content workflows save drafts for human review. The Content area lists drafts and their states, opens the generated body and metadata, and allows authorized users to approve eligible work.

Typical states move from draft or review to approved, then published once a copy is confirmed live.

EDITORIAL DELIVERY

A generated draft becomes published content

  1. 01

    Draft

    A workflow creates a reviewable content artifact.

  2. 02

    Review

    A human checks accuracy, tone, and publication risk.

  3. 03

    Approve

    Authorization records the editorial decision.

  4. 04

    Publish

    The piece goes to the channels you chose, each link confirmed live.

Only reviewed content reaches your publishing channels

Approval and publication are intentionally separate. Approving records the editorial decision; it does not by itself prove publication. Publication happens when the piece is released to your publishing channels and a copy is confirmed live.

Publishing channels

A publishing channel is any service or account you have marked for publishing. Mark a resource with Publishing channel when you add or edit it under Settings → Connections, or tick Publishing channel on a connected account. Only channels are offered when you publish, and only their credentials reach the agent that publishes.

Mark one channel Canonical to make it the original: it is published first, and its link is set as the canonical link on every other copy.

Publishing a piece

Publishing runs declare their channels before work starts. If there is no destination, the launch needs a reason; approval still needs at least one channel selected. Human approvers can add registered publishing channels, while agents cannot widen the declared destinations. Include the canonical channel when one is configured.

When you approve a piece from its review page or the Inbox, review the selected channels. Approval releases a separate publishing run to that selection; it does not publish to every channel automatically. The publishing agent adapts the piece to each channel, posts it, and opens each link to confirm the piece is live before reporting it.

The review page then shows Where it was published: the link for each channel, whether it was confirmed live, and why any channel was skipped. The piece counts as published once at least one copy is confirmed. If no selected outlet confirms publication, the release reports failure. Inspect the outlet results and correct the problem before retrying.

What to expect

Nothing is posted until you, or your team's reviewer, approve the piece. Reopening a piece does not remove published copies. To take one down through Organ, use the retraction flow below. Return reviewed text runs do not enter publishing approval and cannot be published through that approval path.

Unpublishing a piece

Owners and Admins can request Unpublish with a reason and selected outlets. Agents can also propose a retraction, but a human must approve it before removal. Review the targets and choose Approve & unpublish when offered.

The retraction report shows removal checks for each outlet. Inspect failures before using Retry unpublish; approval alone does not prove that a copy is gone. Older posts can be retracted only when Organ can verify their link belongs to the selected outlet and venture.

Chart infographics in published markdown

Use a chart fenced block to embed a Chart.js bar, line, doughnut, or pie chart wherever the shared published-content renderer is used, for every tenant. Write strict JSON (quoted keys and strings, no comments or trailing commas). The site chooses the palette from its chart theme tokens and uses its inherited font; colours update with light/dark mode. Authors cannot supply colours or Chart.js options beyond the fields below.

  • type: bar, line, doughnut, or pie.
  • title: a non-empty string, shown in the figure caption.
  • caption and source: optional strings. Sources appear as “Source: …”.
  • data.labels: a non-empty array of category strings.
  • data.datasets: a non-empty array of objects with a non-empty label and a data array of finite numbers. Each dataset must have exactly one value per category. Pie and doughnut values must be non-negative.
  • options: optional object containing only stacked (boolean), xLabel, yLabel, and unit (strings). Stacking and axis labels apply to bar/line charts; units label values in tooltips, axes and the accessible table.
```chart
{
  "type": "bar",
  "title": "Monthly signups",
  "caption": "Example data illustrating growth over three months.",
  "source": "Demo dataset",
  "data": {
    "labels": ["January", "February", "March"],
    "datasets": [
      { "label": "Signups", "data": [120, 185, 240] }
    ]
  },
  "options": { "xLabel": "Month", "yLabel": "Signups", "unit": "people" }
}
```

Each figure includes a text summary and a visually hidden table for screen readers. Reduced-motion preferences disable animation. Invalid JSON or unsupported fields/types show the original code and “Chart could not be rendered.” while the rest of the post remains readable. Pages without a valid chart do not load Chart.js. External publishing services need their own support for this fence.