Skip to main content
← All articles
craft cms

Craft 6 finally ships an approval workflow — and I checked it against Drupal's Content Moderation

Craft 6 finally ships an approval workflow — and I checked it against Drupal's Content Moderation

I've written here before that the one thing missing from the Craft box was an approval workflow — Drupal ships Content Moderation in core, and Craft 5 just… didn't have an equivalent. As of the Craft 6 alpha, that gap is closing. Alpha.19 (1 Oct 2026) adds publishing workflows, "releases," and comments on the activity timeline. So I did the obvious thing for a Drupal hand: held it up against Workflows and Content Moderation to see whose model I'd rather explain to an editor.

What landed

From the 6.x changelog, alpha.19: "Added publishing workflows, which control when drafts may be applied to entries. Workflows are configured from Settings → Workflows and assigned to sections. (Craft Pro and Enterprise only.)" The mechanic is the important part: "Changes to enabled entries in sections with a workflow are now saved as drafts, which must be submitted for review and approved by each workflow stage before they can be applied." There's one built-in stage type, "User Review," supporting per-group approval requirements, carried-over approvals, change requests, and email notifications; a "Workflow" tab in the element pane for submitting and reviewing; and extension points (WorkflowStageInterface, a Workflows facade, WorkflowTransitioning/Transitioned/Commented events) for custom stages.

Two companions shipped alongside. Releases: "saved drafts of root elements to be grouped, scheduled, and published atomically," with a releaseId query param and GraphQL argument — think "stage twelve edits and publish them as one." And comments: Markdown on the activity timeline, with editing, structured user mentions and email notifications. Alpha.20 (7 Oct) already fixed a race condition where concurrent requests could invalidate the same workflow run — the kind of bug that tells you this is real, load-bearing code and also that it's an alpha.

Draft-centric vs state-centric

Here's the design difference I keep coming back to. Craft's model is draft-centric: editing an enabled entry forces your change into a draft, and that draft climbs approval stages before it applies. Drupal's is state-centric: core Workflows ("Provides an interface to create workflows with transitions between different states") plus Content Moderation attach arbitrary states and transitions to the entity itself, with a published revision staying live while a forward revision moves through review.

Neither is obviously better, and the honest field-note question is which one an editor finds less confusing. Craft's "your edit is now a draft awaiting approval" is arguably more intuitive than Drupal's "this entity is in the Needs Review state and there's a forward revision" — but I'm hedging that, because I know Drupal's editorial UX from years of use and I've only read Craft's from a changelog, not driven it. I genuinely couldn't find user docs: /docs/6.x/system/workflows, /docs/6.x/workflows and /docs/6.x/system/releases all 404. Everything above is reconstructed from the changelog and PR #19667, so treat it as "what the code says it does," not "what I watched it do."

Core eating a plugin category is the quiet story here. Verbb's Workflow plugin has filled this gap for years — it shipped 3.0.24 on 17 Oct, still for Craft 3/4/5, at $49 plus $15/year. If Craft 6 bakes workflows in, "wait for 6 or buy the plugin now" becomes a real client question, and nobody yet knows whether Verbb ships a 6 version or bows out.

The catch, and the timing

One catch worth flagging plainly: the changelog says Pro and Enterprise only, where Drupal's Workflows and Content Moderation are free core modules. I'll leave the paid-tier debate to one sentence — I've written about Craft's paid economy already — but it's a real difference when you're pricing a build.

The other is timing, and I want to state it carefully rather than as a gotcha. The September 2025 roadmap promised approval workflows, releases and commenting, and said to "expect to ship Craft 6 Beta in Q3 of 2026, with a GA release following in Q4." It's 20 October and we're on alpha.20. A newer, undated transition-planning page now says "near the end of 2026 or in first quarter of 2027." Those are two official statements that don't quite line up; the first beta date isn't announced. Read that as an alpha finding its feet, not a broken promise.

The takeaway

If the missing approval workflow was your reason to keep a Craft site on a plugin — or your reason to reach for Drupal on a governance-heavy build — Craft 6 is closing the distance, and the draft-centric design is a reasonable one. Just don't build a client's editorial process on an alpha whose feature has no docs yet. Stand it up somewhere disposable, run a real submit-review-approve loop, and see whether your editors find it clearer than states and transitions. That test, not the changelog, is the answer.

Links

BM
Blue Moose
The moose behind Blue Moose. Full-stack PHP developer — Drupal by day, Symfony by night, tests always.