Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Configuration Language Lock 1.0.2 Minor update available for module config_language_lock (1.0.2). Release: Canvas Override 1.0.1 Minor update available for module canvas_override (1.0.1). Release: Media Remote Image 8.x-1.2 Minor update available for module media_entity_remote_image (8.x-1.2). Release: IDNA Convert Service (punycode) 2.0.4 Minor update available for module idna (2.0.4). Release: Bootstrap Cloud 7.1.3 Minor update available for theme bootstrap_cloud (7.1.3). Release: Token Browser 1.0.2 Minor update available for module token_browser (1.0.2). Release: Varbase Project 11.0.8 Minor update available for module varbase_project (11.0.8). Release: Media Remote Image 2.0.0-beta1 First beta version released for module media_entity_remote_image (2.0.0-beta1). Usage Milestone: Term CSV Export Import Module term_csv_export_import crossed 1,000 active installs. Security Coverage: Module Scout Module module_scout now has official Drupal security advisory coverage.

This module provides a user-friendly administrative interface for configuring state machine workflows, allowing non-developers to define workflow groups, workflows, states, and transitions without editing YAML files. It also includes a custom field widget that enables per-transition permissions, conditional field visibility, and a transition history tracker, with a visual Mermaid diagram of the workflow displayed on the edit page.

State Machine UI adds an admin interface to the State Machine module. You configure workflow groups, workflows, states and transitions from the admin pages instead of editing YAML files.

It also includes a custom field widget that handles per-transition permissions, conditional field visibility and a transition history table, plus a Mermaid diagram on each workflow edit page.

Features

  • Build workflow groups, workflows, states and transitions through the UI
  • Two metadata schemas (one for states, one for transitions) to tag elements with typed key/value pairs, validated on save
  • Filter states or transitions by their metadata, using AND or OR logic
  • Custom "State (rules)" field widget:
    • Per-transition permission check. A transition is hidden if the user lacks the matching permission.
    • Conditional fields: show, hide or mark a field as required depending on the target state
    • Transition comment, with three modes: none, optional, required
    • Transition history table, backed by content entity revisions
    • Configurable empty option, label source and select wording
  • Mermaid state diagram on every workflow edit page
  • French translation included (.po)

Use this module when:

  • non-developers need to configure workflows directly on the site
  • the same entity needs different visible or required fields depending on its state
  • editors need a clear audit trail of who moved an entity from state A to state B
  • stakeholders want to see the workflow visually instead of reading YAML

Post-Installation

When the module is enabled, any State Machine workflow already declared in YAML is imported as a config entity, along with its group and transitions. Only the basic structure is copied over (label, states, transitions with their from/to mapping). State and transition metadata are not part of the YAML format and can be added afterwards from the UI. Entries that already exist as config entities are skipped, so enabling the module on a site that mixes YAML and UI-managed workflows is safe. The original YAML files keep priority until they are removed, so the UI-managed versions only take effect once the YAML files are deleted.

  1. Enable the module.
  2. Go to Configuration, Workflow, State Machine (/admin/config/workflow/state-machine).
  3. Create a Workflow group (groups workflows by domain, for example "Editorial" or "Order").
  4. Create a Workflow inside the group, then add states and transitions.
  5. Optional: create Metadata schemas to tag your states or transitions with typed key/value pairs.
  6. On your content type, add a State field pointing to your workflow.
  7. Set the form widget to State (rules) and configure its options (history, permissions, conditional fields).

No extra step is required. The workflow is immediately available to any state_machine-aware field.

Additional Requirements

  • State Machine 1.14 or newer
  • Drupal 11.1 or newer
  • PHP 8.3 or newer
  • Diff: improves how the transition history table renders when revisions also carry field changes.

Similar projects

  • Content Moderation (core): built-in, but limited to content entities and tied to the Workflows core module. No per-transition permission UI, no conditional fields, no field widget customization.

Supporting this Module

Issues and merge requests are welcome on the project page.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Jun 2026
Latest release
1 month ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-alpha2 Pre-release 11 Aug 1, 2026
1.0.0-alpha1 Pre-release 11 Jun 14, 2026