A workflow is composed of a series of stages, which are essentially labels and a description. One of the stages has to be marked as the initial one, so that new records will start from there:
Within the same DatoCMS project, you can create multiple workflows and assign them to different models. When you apply a workflow to a model, all its existing records will be assigned the initial stage:
Once everything is configured, users will be able to filter records by stage — optionally creating saved filters and sharing them with the team — and move records from one stage to another, in batch or one at a time:
Using our roles and permissions system, you can specify exactly which team members are in charge of performing the necessary checks and operations on the content so that it can advance to the next step in the approval chain and the team never publishes something by mistake.
Workflows are completely custom: you are free to tailor the stages you need with no limits, following your organization's natural processes. For this example, we'll create a new workflow with three stages:
Writing
In review
Approved
For this workflow, we also want to enforce the following simple rules:
Creators work on the content in the Writing stage. When they're done, they move articles to the In review stage, so that..
Editors can either reject or approve them, moving them back to Writing or forward to Approved stage;
The first step is actually creating the workflow itself. Go to Configuration > Workflows, and create the following workflow:
The second step is to assign this workflow to one or more models. You can do so by entering the Schema > Models area, selecting a model and clicking on "Edit model":
We can move back to Configuration > Content permissions to specify which actions and transitions between stages are allowed for the two Creator and Editor roles. This what you need to setup for the Creator role, for example:
The permissions are pretty self-explanatory, and refer to the same set of rules we have determined at the beginning. Rules can be both positive or negative — to allow or block a specific permission.
You can setup rules for every model under a specific workflow, or even override some rules for some of your models. In this example, on top of all the rules enforced on all models that are under the workflow, we additionally block publishing only for blog posts:
Workflows is a feature available only to Enterprise customers. Whichever plan you are on, you can still create and configure workflows to see if they solve your needs, but you won't be able to actually associate them with any model. If your company is interested in this feature, please contact our Sales team for more details on pricing; we'll be happy to offer you a trial!
To have an overview on all DatoCMS features, check out this video tutorial: