Note This plugin is currently under active development and still in an early stage. Check the roadmap below in this readme for more details / upcoming features.

The most recent version of payload-workflow currently only supports Payload 2.0 and up.
For older payload versions, please use payload-workflow@0.2.0
$ yarn add payload-workflow
import { payloadWorkflow } from 'payload-workflow';
const config = buildConfig({
collections: [ ... ],
plugins: [
payloadWorkflow({
'my-collection-slug': {
statuses: [
{value: 'draft', label: 'Draft'},
{value: 'in-progress', label: 'In Progress'},
{value: 'ready-for-review', label: 'Ready for review'},
{value: 'published', label: 'Published'},
],
defaultStatus: 'draft',
hideNoStatusColumn: false
}
})
],
});
The workflow plugin introduces a new field called workflowStatus. This field does not interact with the draft/publish
system of Payload.
You can "integrate" the workflow status with the draft/publish system of Payload yourself by using Payloads hooks.
For example: Automatically publish the document when the workflowStatus has been changed to published.
Upcoming Features / Ideas. Have a suggestion for the plugin? Feel free to open an issue or contribute!
title and createdAt)workflowStatus aren't
visible on the board)defaultLimit amount of cards)$ claude mcp add payload-workflow \
-- python -m otcore.mcp_server <graph>