Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module adds a new Webform element that allows you to manage submission workflows using Drupal's core Workflows functionality. It enables tracking submissions, triggering handler events based on workflow progress, and controlling access to transitions.

This module provides a new element type for Webforms (D8+) that uses the core Workflows functionality to move submissions through a webform.

This means you define the workflow (with workflow type "Webform workflow"), then users with access can use the workflow transitions to modify the workflow status for each submission when editing. You can then track these submissions, trigger handler events, etc based on the workflow progress.

This is the Drupal 8/9 alternative to "webform_workflow" in D7.

Functionality

  • Results view is filterable by workflow status
  • Access controls for the workflow element determine who can use the workflow
  • Access controls for the element per transition controls who can do what
  • Conditional logic can be used to disable workflow transitions
  • Emails can be sent per transition using a handler, including using tokens relating to the workflow change
  • User facing and private log messages can be entered when transitioning, and set to be optional/required/hidden per element
  • Each transition is logged for the submission, if logs enabled for the webform
  • Maestro task plugin for assigning workflow transitions

Included submodules

Enable via drush or via the Extend user interface:

  • webform_workflows_element_views: provides a filter for views to filter submissions by workflow state, including showing colors if set in the workflow element
  • webform_workflows_element_query: provides a service for querying submissions based on webform workflow state
  • webform_workflows_element_maestro: [experimental] provides a maestro task for submission workflow transitions

Example

As an example, if you have the following states and transitions:

States:
1. Submitted
2. In process
3. Approved

Transitions:
a) "Start processing" (Submitted -> In process)
b) "Approve" (In process -> Approved)

A user will only be able to move a Submitted form to In process - however they will not be able to skip to Approved as there is no transition set up in the workflow for that. This allows controlling the logic of the workflow (and represents a change from the D7 webform_workflows module which allowed any state to be changed to any state).

How to use

See https://www.drupal.org/docs/contributed-modules/webform-workflows-element/how-to-use-the-webform-workflows-element

Create an e-mail handler on a workflow change

See https://www.drupal.org/docs/contributed-modules/webform-workflows-element/create-an-e-mail-handler-on-a-workflow-change

Control access to individual transitions

See https://www.drupal.org/docs/contributed-modules/webform-workflows-element/control-access-to-individual-transitions

Disable states based on conditional logic

See https://www.drupal.org/docs/contributed-modules/webform-workflows-element/disable-transitions-based-on-conditional-logic

Development status

This module is under active development as of August 2021, and welcomes testing and contribution. A key area that would be valuable are writing tests, as the module was developed for immediate business needs and there has not been time to write these yet.

Contributors

This module originally contributed by Students' Union UCL (UCLU), continuing our tradition of using webforms and workflows for everything - we also originally developed the original D7 webform workflow modulemany years ago.

Depends on

Dependencies of the latest stable release

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
13
Tracked since
Jan 2025
Latest release
2 months ago
Releases (12 mo)
7 ▲ from 6
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
2.1.1 Stable 10–11 Jun 26, 2026
2.1.0 Stable 10–11 Jun 17, 2026
2.1.0-beta1 Pre-release 10–11 May 13, 2026
2.x-dev Dev 10–11 Feb 27, 2026
2.0.2 Stable 10–11 Dec 9, 2025
1.0.0-alpha4 Pre-release 9–10 Nov 7, 2025
2.0.1 Stable 10–11 Oct 17, 2025
2.0.0 Stable 10–11 Jul 8, 2025
2.0.0-beta1 Pre-release 10–11 Jun 9, 2025
2.0.0-alpha3 Pre-release 10–11 Mar 5, 2025
2.0.0-alpha2 Pre-release 10–11 Feb 15, 2025
2.0.0-alpha1 Pre-release 10–11 Jan 6, 2025
2.0.x-dev Dev 10–11 Jan 6, 2025