nowo-tech/workflow-bundle

Symfony bundle to define and run Symfony Workflow state machines from database definitions with built-in CRUD.

Maintainers

Package info

github.com/nowo-tech/WorkflowBundle

Documentation

Type:symfony-bundle

pkg:composer/nowo-tech/workflow-bundle

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.2.0 2026-06-30 08:35 UTC

README

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Give it a star on GitHub! It helps us maintain and improve the project.

Define Symfony Workflow state machines and workflows in the database, manage them with a built-in CRUD UI, and execute transitions at runtime through DatabaseWorkflowRegistry and WorkflowApplicator.

📋 Compatible with Symfony 7.x (PHP 8.2+) and 8.x (PHP 8.4+)

Features

  • Persist workflow definitions (places, transitions, subject class, marking property) in Doctrine
  • Configurable Doctrine table_prefix for table and constraint names
  • Built-in admin UI at /workflow (configurable path), optionally protected via WorkflowUiAccessCheckerInterface
  • Runtime resolution via DatabaseWorkflowRegistry (Symfony Workflow component)
  • WorkflowApplicator helper to apply transitions and flush subjects
  • Demo with order approval (state machine) and document review (parallel workflow)
  • FrankenPHP demo with PostgreSQL (see Demo with FrankenPHP)

Quick start

composer require nowo-tech/workflow-bundle
# config/packages/nowo_workflow.yaml
nowo_workflow:
    enabled: true
    ui:
        path: '/workflow'
php bin/console nowo:workflow:sync-schema

Demo

make -C demo up-symfony8

Open http://localhost:8022 — try the CRUD at /workflow and playgrounds for orders/documents.

Documentation

Additional documentation

Tests and coverage

Area Coverage
PHP 100%
make test
make test-coverage

License

MIT — see LICENSE.