Skip to main content
Browse Documentation
HTTP - Management

Workflow state

Created by c.neale, last modified by zengenti on 12 Oct 2021

A state that an entry can be assigned to as part of its life cycle. The workflow state becomes visible in the entry listing screen and filterable from the search panel.

To publish an entry with a custom workflow, one or more events on one or more states must transition to the sysWorkflow state, which is a system state. Once the entry is in this state, it will either be published immediately, or if a publishing schedule is set for the entry, scheduled for publishing.

Properties

NameData typeData formatDescription
idstringAn identifier for the state, which must be unique within the workflow.
nameobjectlocalized valueThe friendly name given to the state.
eventsobject[...]eventA collection of events that can occur to an entry in this state.
colorstringcolorThe color to be displayed in the Contensis UI for the state.
uiEditorViewstringui editor viewThe view used by the Contensis UI to display the entry when it is in this state.
allowUpdatesbooleanIndicates if updates are allowed in the current state. Defaults to true, set this to false to prevent authors from saving entries in the current state.

Example

This example shows an awaiting approval workflow state and its associated events.

{
    "id": "awaitingApproval",
    "name": {
        "en-GB": "Awaiting approval"
    },
    "events": [
        {
            "id": "revoke",
            "name": {
                "en-GB": "Revoke and edit"
            },
            "auditText": {
                "en-GB": "Revoked"
            },
            "description": {
                "en-GB": "Revoke the entry submission"
            },
            "transitionTo": "draft",
            "color": "white",
            "groupId": "submitRevoke",
            "uiAction": "none",
            "validate": false,
            "parameters": []
        },
        {
            "id": "decline",
            "name": {
                "en-GB": "Decline"
            },
            "auditText": {
                "en-GB": "Declined"
            },
            "description": {
                "en-GB": "Decline the entry for approval"
            },
            "transitionTo": "declined",
            "color": "red",
            "groupId": "approveDecline",
            "uiAction": "navigateToEntryListing",
            "validate": false,
            "parameters": [
                {
                    "id": "message",
                    "name": {
                        "en-GB": "Add a message to explain to the author why this content is being declined"
                    },
                    "dataType": "string",
                    "dataFormat": null,
                    "description": {
                        "en-GB": "The decline reason"
                    },
                    "default": null,
                    "validations": {
                        "required": {
                            "message": {
                                "en-GB": "The decline reason is required"
                            }
                        }
                    },
                    "editor": {
                        "id": "multiline",
                        "instructions": {
                            "en-GB": "Include a message to let an approver know your changes"
                        },
                        "properties": null
                    }
                }
            ]
        },
        {
            "id": "approve",
            "name": {
                "en-GB": "Approve"
            },
            "auditText": {
                "en-GB": "Approved"
            },
            "description": {
                "en-GB": "Approve the entry changes for publishing"
            },
            "transitionTo": "sysWorkflow",
            "color": "green",
            "groupId": "approveDecline",
            "uiAction": "navigateToEntryListing",
            "validate": false,
            "parameters": []
        }
    ],
    "color": "yellow",
    "uiEditorView": "previousPublishedVersionCompare",
    "allowUpdates": false
}