Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

This recipe provides a quick-start setup for ECA
(Events - Conditions - Actions) together with the new
Workflow Modeler — a modern,
React Flow-based visual editor for building ECA models by drag-and-drop.

Why use this recipe?

Setting up ECA manually means choosing which sub-modules to enable, installing
the modeler stack, and figuring out how the pieces fit together. The Starterkit
does all of that in a single command:

  • Installs the recommended set of 20 modules covering the full ECA
    ecosystem, so you can start building workflows right away without going back
    to enable modules you missed.
  • Sets up the new Workflow Modeler (including the Modeler API), giving you
    a visual canvas where you can drag, drop, and connect events, conditions, and
    actions — no YAML editing required.
  • Ships a working demo model that customises the user registration form,
    so you can open the modeler immediately and see a real ECA model in action
    rather than staring at an empty screen.

What gets installed

ECA core sub-modules

Module Purpose eca_access Access control events and conditions eca_base Foundation actions (tokens, lists, scalars, logging, etc.) eca_cache Cache invalidation and rebuilding eca_config Configuration entity operations eca_content Content entity CRUD events and actions eca_endpoint Custom route / endpoint handling eca_file File and media operations eca_form Form build, alter, validate, and submit handling eca_log Logging actions eca_menu Menu link events and actions eca_misc Miscellaneous utilities eca_queue Queue processing eca_render Render and display operations eca_ui Makes ECA a model owner for the Modeler API eca_user User-related events and actions eca_views Views integration

Extension modules

Module Purpose eca_tamper Tamper plugins as ECA actions (explode, string length, find/replace, etc.) eca_tool Events and actions for the Drupal Tool API

Modeler stack

Module Purpose modeler_api Framework that connects model owners (ECA) with visual modelers modeler The Workflow Modeler — a React Flow canvas with drag-and-drop, undo/redo, search, dark mode, execution replay, live testing, and export to recipes, archives, JSON, or SVG

In-place customization

One of the standout features enabled by this recipe is in-place
customization
— the ability to customize any Drupal form directly on the
form page itself, without opening the modeler or writing code.

How it works

The eca_form module ships a set of form templates: reusable ECA patterns
with configurable placeholders. When an authorized user (with the
modeler api edit eca permission) visits a page containing a form, the template
system activates:

  1. Focus a form field — a lightning-bolt icon appears next to it.
  2. Click the icon — a popup lists all available customizations for that
    field type (e.g., "Set label", "Set max length", "Hide this field").
  3. Configure and save — fill in the values, check "Apply this template",
    and click Save. The system creates a fully functional ECA model behind the
    scenes — no modeler interaction needed.

Returning to the same form later shows a checkmark on templates that were
already applied, with the previous values pre-populated so you can adjust them.

Available form templates

Template What it does Set label Change a field's label Set default value Pre-fill a field with a default Set max length Validate that a text field does not exceed a character limit Hide this field Completely hide a single field Hide fields when selected Make fields invisible when a checkbox is checked Show fields when selected Make fields visible when a checkbox is checked Disable this field Disable a single field Enable this field Enable a previously disabled field Require this field Make an optional field required Make field optional Make a required field optional Disable fields for certain value Disable fields when a select dropdown matches a value Set field value to selected index Copy a select dropdown's selection into another field

These templates work on any Drupal form, not just the forms you build
yourself. This makes in-place customization a powerful tool for tailoring
admin forms, contrib module forms, and user-facing forms alike.

Demo model: User Registration Form

The recipe ships a ready-to-use ECA model (form_user_register_form) that was
built entirely through in-place customization on the user registration form. It
demonstrates three common form-manipulation patterns:

  1. Relabelling fields — Changes the "Email address" label to "E-Mail" and
    the "Username" label to "Name".
  2. Conditionally hiding fields — Hides the notification, preferred language,
    and timezone fields when the "Administrator" role checkbox is selected (using
    a loop over a list of field names).
  3. Custom validation — Rejects the name field if its length exceeds 10
    characters.

Open this model in the Workflow Modeler after installation to see the resulting
ECA model, or visit /user/register and click into a form field to try
in-place customization yourself.

Requirements

  • Drupal 11.3 or later
  • ECA 3.1 or later

Installation


# Require the recipe and its dependencies composer require drupal/eca_starterkit # Apply the recipe with Drush (version 13 or later) drush recipe ../recipes/eca_starterkit # Or apply without Drush cd web && php core/scripts/drupal recipe ../recipes/eca_starterkit

After applying the recipe, navigate to Administration > Configuration >
Workflow > ECA
to see the installed model and open the Workflow Modeler.

Activity

Total releases
4
First release
Mar 2026
Latest release
4 weeks ago
Release cadence
6 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.0-rc1 Pre-release Mar 20, 2026
1.0.0-beta2 Pre-release Mar 18, 2026
1.0.0-beta1 Pre-release Mar 13, 2026
1.0.x-dev Dev Mar 2, 2026