Features

Markdown

Editorial approvals

Optional editorial approvals for versioned collections: editor submits a draft → reviewer approves or rejects → publish (promote) only when approved.

Enable

  1. Turn on Content versioning on the collection.
  2. 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, or rejected invalidates approval and returns to draft.
  • Discarding a draft resets approval state.
  • Scheduled publish also requires approved when approvals are on.

Permissions

PermissionWho
can-submit-collectionsSubmit draft for review
can-approve-collectionsApprove or reject (note required on reject)
can-edit-collectionsPublish / 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):

TypeWhen
item.submittedDraft submitted for review
item.approvedIn-review item approved
item.rejectedIn-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.