General concepts > Workflows

    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 it is possible to set up a precise state machine able to bring a draft content up to the final publication (and beyond), through a series of intermediate, fully customizable approval steps, keeping the whole team in sync without scattering the process into a number of external softwares 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 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 from to 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 Settings > Workflows, and create the following workflow:

    Interface to configure a workflow and its stages

    The second step is to assign this workflow to one or more models. You can do so entering the Settings > Models area, and editing the Additional settings of a specific model:

    We can move to Settings > 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 on the Creator role for example:

    Configure which transition/actions are allowed for each role

    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 enabled only for 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 one-month trial!