> For the complete documentation index, see [llms.txt](https://docs.sageseo.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sageseo.ai/getting-started/kanban.md).

# Kanban Content Pipeline

The Kanban Board is Sage's **operational view** for content in flight. Where the Content Calendar shows you what's *scheduled* and the Performance Dashboard shows you what's *published*, the Kanban shows you what's *moving through the pipeline right now* — and who's responsible for each piece.

It's the page you use when you're actually running the day-to-day work.

{% hint style="info" %}
**Key Takeaways**

* Visual column-based view of every article's current stage
* Drag-and-drop to move articles between stages (queued, generating, ready for review, published)
* Filter to one client or view across all domains in your portfolio
* Per-card actions: generate, preview, publish, edit — no need to navigate elsewhere
* Replaces the messy "spreadsheet + email + Slack" workflow most agencies fall into
  {% endhint %}

## What the board shows

```mermaid
flowchart LR
  A[Queued] --> B[Generating]
  B --> C[Ready for Review]
  C --> D[Published]
  C --> E[Failed]
  E -.retry.-> B
  classDef queued fill:#F4F5F7,stroke:#5E6C84,color:#091E42
  classDef active fill:#F0F6FF,stroke:#0052CC,color:#091E42
  classDef review fill:#FFF4E5,stroke:#FF8B00,color:#091E42
  classDef done fill:#E3FCEF,stroke:#006644,color:#091E42
  classDef fail fill:#FFEBE6,stroke:#DE350B,color:#091E42
  class A queued
  class B active
  class C review
  class D done
  class E fail
```

Each column represents a stage in the content pipeline. Each card is one article — drag them between columns or use the per-card actions to move them.

### The columns

| Column               | Meaning                                                    | Card actions                        |
| -------------------- | ---------------------------------------------------------- | ----------------------------------- |
| **Queued**           | Scheduled for generation but hasn't started yet            | Edit title, generate now, delete    |
| **Generating**       | Sage AI Writer is running through the 7-stage pipeline     | Watch progress, view stage timeline |
| **Ready for Review** | Generation complete, awaiting your approval before publish | Preview, edit, publish, regenerate  |
| **Published**        | Live on the client's WordPress site                        | View on site, view stats, edit      |
| **Failed**           | Generation hit a terminal error                            | Retry, view error, edit + retry     |

### What each card shows at a glance

| Element                  | What it tells you                                            |
| ------------------------ | ------------------------------------------------------------ |
| **Title**                | The article headline                                         |
| **Domain badge**         | Which client this article belongs to (domain name + favicon) |
| **Status pill**          | Current stage in the pipeline                                |
| **Source pill**          | Sage AI (auto-suggested) vs Manual (custom topic you added)  |
| **Owner initials**       | Who's assigned (writer, editor, reviewer)                    |
| **Created/Updated time** | How long ago this card last moved                            |

Click any card to expand the full article view: preview, edit, full pipeline timeline, publish controls.

## Filtering + organizing

```mermaid
flowchart TD
  A[Open Kanban Board] --> B{What are you doing?}
  B -->|Working one client| C[Filter to that domain]
  B -->|Reviewing pipeline health| D[Show all domains]
  B -->|Hunting failures| E[Filter to Failed column]
  B -->|Looking for stuck work| F[Show Ready for Review > 7 days]
  C --> G[Single-client workflow]
  D --> H[Portfolio operational view]
  E --> I[Retry batch / diagnose patterns]
  F --> J[Push reviewers, unblock the pipeline]
  classDef question fill:#F0F6FF,stroke:#0052CC,color:#091E42
  classDef action fill:#E3FCEF,stroke:#006644,color:#091E42
  class A,B question
  class C,D,E,F,G,H,I,J action
```

**The most common views:**

* **One client at a time** — pick a domain from the filter to see only that client's pipeline. Useful for daily standups or client check-ins.
* **All clients** — see the full operational picture. Useful when checking overall agency throughput or hunting for stuck work.
* **Just the failures** — filter to the Failed column to triage anything that went wrong. Sage's 30-minute stale-guard catches stuck generations, so the Failed column should be small and actionable.

## Typical workflow

```mermaid
sequenceDiagram
    participant You
    participant Sage
    participant Sage AI Writer
    participant WP as WordPress
    You->>Sage: Queue article topic from Content Calendar
    Note over Sage: Card appears in "Queued" column
    Sage->>Sage AI Writer: Trigger generation (auto or manual)
    Note over Sage: Card moves to "Generating"
    Sage AI Writer->>Sage: Article complete
    Note over Sage: Card moves to "Ready for Review"
    You->>Sage: Click Preview, then Publish
    Sage->>WP: Push article to WordPress
    Note over Sage: Card moves to "Published"
    Sage->>Sage: Submit to Google for indexing
```

In **review-first mode**: you click Publish on each Ready-for-Review card to push to WordPress.

In **autopilot mode**: Sage skips the Ready-for-Review stop and pushes directly to Published — cards move Queued → Generating → Published without your involvement.

You can change modes per-domain at any time.

## Per-card actions

Click any card to open the per-card actions:

| Action           | What it does                                                                                          | When to use                                             |
| ---------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| **Preview**      | Opens the assembled article in a preview pane                                                         | Confirming an article reads right before publishing     |
| **Edit**         | Opens the article in the TinyMCE editor                                                               | Tweaking body, title, or meta before publish            |
| **Publish**      | Pushes the article to WordPress                                                                       | When Ready for Review and approved                      |
| **Generate now** | Skips the schedule and runs the writer immediately                                                    | When you need an article faster than the scheduled date |
| **Regenerate**   | Re-runs the writer on the same topic                                                                  | When you don't like the current output                  |
| **View stages**  | Shows the per-stage timeline (Brief → Keywords → Research → Writing → Image → Enriching → Publishing) | Diagnosing where generation got stuck                   |
| **Delete**       | Removes the article from Sage                                                                         | When the topic is no longer relevant                    |

## Why the Kanban exists

Most content agencies fall into one of two anti-patterns:

1. **The spreadsheet approach** — a Google Sheet with article statuses, manually updated, perpetually out of date
2. **The chat-thread approach** — Slack DMs and email threads with file attachments, no single source of truth

Both fail when you scale beyond 3-4 clients. The Kanban replaces both with a real-time view that anyone on the team can open and instantly understand: *what's happening right now, what's stuck, what needs attention.*

It's the difference between an operation that scales and one that doesn't.

## When to use the Kanban

* **Daily morning check** — see what moved overnight, what's ready for review, what failed
* **During team standups** — visual overview of the week's pipeline by client
* **Hunting bottlenecks** — articles stuck in Ready-for-Review for >7 days = reviewer is the bottleneck
* **Batch publishing** — work through Ready-for-Review cards one at a time on a scheduled "publish day"
* **Client transparency** — many agencies share read-only Kanban access with clients so they can see their pipeline

## Frequently asked questions

### Can clients see the Kanban?

Currently no — the Kanban is agency-side only. Client-visible status views are on the roadmap.

### What happens if I drag a card to the wrong column?

For most moves: nothing destructive. You can drag back. But: dragging a Queued card to "Published" doesn't actually publish it to WordPress — that requires the explicit Publish action. The drag updates Sage's internal status only.

### Can I assign articles to specific team members?

Currently the owner is derived from who queued the article or who generated it. Custom assignee/team-member features are on the roadmap. For now, use the article's title prefix or tags to indicate ownership manually.

### What's the difference between Kanban and Content Calendar?

* **Content Calendar** = scheduling view (when articles publish, calendar grid)
* **Kanban** = operational view (current pipeline stage, who's doing what now)

Calendar answers "what's coming up?"; Kanban answers "what's happening right now?"

### What's the "Failed" column for?

Articles that hit a terminal error during generation or publishing. Common causes: AI service hiccup, WordPress credentials revoked, source page timed out during research. Each failure surfaces a one-click retry; most resolve themselves on retry.

## Related

* [AI Content Suggestions Engine](/getting-started/content-calendar.md) — where article cards get queued
* [Sage AI Writer](/getting-started/ai-writer.md) — what happens during the Generating stage
* [Publishing Articles to WordPress](/getting-started/publishing.md) — what happens during the Publish action
* [Autopilot](/reference/autopilot.md) — when the Kanban auto-moves cards through the pipeline
