General concepts > Workflows


Larger teams often stumble through many bottlenecks caused by disconnected systems, duplicate content, and inefficient workflows. Organizations invest more in content, but their ROI remains lower due to friction, and their content engines stall.

With Workflows, you can set up a precise state machine that can bring a draft content from initial creation to final publication (and beyond), through a series of intermediate, fully customizable approval steps, keeping the whole team in sync without scattering the process across a number of external software tools to keep track of what needs to be done.

A simple example of what you can achieve with DatoCMS workflows

How it works

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:

A workflow is composed of a series of stages, which are essentially labels

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:

Workflows can be assigned to multiple models

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:

The final experience for your editors. Clean, simple, secure.

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.

How to configure workflows

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 an Enterprise feature

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: