Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Varbase FAQs 9.2.1 Minor update available for module varbase_faqs (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This project provides a quick-start for ECA (Events - Conditions - Actions) by installing all necessary modules and the visual Workflow Modeler. It includes a demo model for user registration customization and enables in-place form editing without code.

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
3 months ago
Releases (12 mo)
4 ▲ from 0
Maintenance
Active

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