This module allows you to create arbitrary Workflows, and assign them to Entities.

Workflows are made up of workflow states. Transitions between states can be allowed per role. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type. Only users with role 'chief editor' can set Stories to the published state.
You can set up the Workflow to alter states from form, page, comment, a special block, and a special workflow tab.
Additionally, the submodule Workflow Access allows you to manage view/edit/delete permissions for content types per User role and Workflow state.

Transitions between workflow states can have actions assigned to them. In our example, we could assign an action so that when the story moves from the Draft state to the Review state an email is sent out. Another action could be assigned to the transition from Review to Published so that the node's status is set to Published (and becomes visible on your website).

A nice overview is published by Michael J. Ross in Drupal Watchdog. More detailed info can be found at the Workflow documentation page. You can update that page yourself, with anything you have learned anything when implementing this module.
If you are interested in the future of the workflow module, please join the workflow group on

Developer notes: If you are upgrading your custom, Workflow supporting, module please review the available functions and check the change records.
The D8-version has renamed hooks and function names, to align with D8 practices.
Check the file workflow.api.php for explanation of each hook.

Drupal 8 version:
A new and shiny Drupal 8 version is available. The functionality is mostly identical to version 7.x-2.5. Some permissions have been moved to the 'normal' permissions page.

There is still lots to do, and any help is much appreciated. See the list of open tasks.

New in 7.x-2.x
- Now you can add a Workflow to terms, users or other entity types as you do with other Field types, and enjoy the features the Field API provides, such as revisioning, multilingual, etc. Enable the 'Workflow Field' submodule, and leave the 'Workflow Node' submodule disabled. You still use 'Workflow Node' if you come from version 7.x-1.2 or 6.x.
- You can have multiple workflows on an Entity type.
- You can select States using radiobuttons, select list or action buttons. The available options can have the traditional State labels, but now you can also use Transition labels!
- To change the State from a comment, add the same field to the Node and the Comment.
- When 'Entity tokens' module is enabled, lots of tokens are provided.

Run Update.php after downloading a new version.

New in 7.x-1.2
If you are upgrading from an older version to 7.x-1.2 or 7.x-2.5, see the release notes for new features:

Related Projects

  • Workflow Extensions compatible with version 7.x-1.x. Its functionality is incorporated in version 7.x-2.x. Disable when upgrading from 1.x to 2.x.
  • Workflow Fields now compatible with Workflow 7.x-1.2. There is an open issue for compatibility with 7.x-2.x
  • Workflow Named Transitions compatible with version 7.x-1.x. Its functionality is incorporated in version 7.x-2.x. Disable when upgrading from 1.x to 2.x.
  • OG Workflow
Supporting organizations: 
Bug fixes, exportables

Project Information