Features
MarkdownEditorial approvals
Optional editorial approvals for versioned collections: editor submits a draft → reviewer approves or rejects → publish (promote) only when approved.
Enable
- Turn on Content versioning on the collection.
- Turn on Approvals required (same collection drawer). Approvals without versioning are rejected.
States
draft ──submit──► in_review ──approve──► approved ──Publish──► published (+ approval resets)
│
└──reject(+note)──► rejected ──(edit / resubmit)──► in_review
- Saving a draft while
in_review,approved, orrejectedinvalidates approval and returns todraft. - Discarding a draft resets approval state.
- Scheduled publish also requires
approvedwhen approvals are on.
Permissions
| Permission | Who |
|---|---|
can-submit-collections | Submit draft for review |
can-approve-collections | Approve or reject (note required on reject) |
can-edit-collections | Publish / discard / edit (unchanged) |
Assign via Roles & permissions. Super Admin / Admin get both submit and approve after permissions:sync + role seed / upgrade.
Review queue
On collections with approvals, the items list has an In review filter for the awaiting queue. Item form shows status badge + Submit / Approve / Reject actions.
Webhooks
Reserved outbound events (same catalog as Outbound webhooks):
| Type | When |
|---|---|
item.submitted | Draft submitted for review |
item.approved | In-review item approved |
item.rejected | In-review item rejected (rejection_note in payload) |
In-app notifications go to users with can-approve-collections on submit, and to the submitter on approve/reject.
Out of scope
Multi-step BPM graphs, e-sign, and Slack/Telegram fan-out (see outbound notifiers) are separate.