Drupal is a registered trademark of Dries Buytaert

eca

Security covered
View on drupal.org

ECA is the no-code solution that empowers you to orchestrate your Drupal site.

ECA is a powerful, versatile, and user-friendly rules engine for Drupal. The core module is a processor that validates and executes event-condition-action plugins. Integrated with the graphical user interface BPMN.iO, ECA is a robust system for building conditionally triggered action sets.

How it works

ECA gets triggered for every Drupal event. It validates these events against event-condition-action models and processes all the models for the current event. Like Drupal Rules, ECA leverages existing components of Drupal core, i.e. events and actions. It comes with its own plugin manager for conditions, which results in all three components (events, conditions, actions) being available as plugins that can easily be extended by other modules. ECA models are stored in config, so they can be imported and exported via the admin UI or Drush.

ECA Guide

To learn all about ECA, and it's growing ecosystem, please visit the ECA Guide which provides a range of useful content:

  • Explaining ECA and how it works
  • Describing the main ECA concepts and how you can use them for your models
  • Documentation of modellers and all plugins
  • A library with downloadable ECA models to learn from
  • Video tutorials

There is more to come all the time. So, it's always worth checking back.

User interface

ECA Core is a processing engine that runs in the background. It needs an integrated modeller - a front-end tool with which you define event-condition-action models (a.k.a. rules). ECA provides a plugin manager with an interface to easily integrate existing tools that already provide that capability. And if the modeller supports templates for events, conditions and actions, ECA will provide them for all the plugins that are available on the current Drupal site.

Modellers

BPMN.iO is the recommended ECA modeller. It's a JavaScript-based implementation for building models as two-dimensional diagrams, integrated into the Drupal admin UI.

Alternatively, you can use these modellers. Please do not use them unless you have no other option:

  • Camunda: User-friendly desktop client for designing and deploying automated processes
  • ECA Classic Modeller: "Low-level" modelling tool using Drupal core's form API

Important: You will need to install the modeller separately

You will find instructions on how to install and use the modeller you select over at their respective project pages and in the documentation. On production sites, however, you can run ECA models without having any modeller being available or enabled.

Features

  • Plugin managers for modellers, events, and conditions
  • Interfaces and abstract base classes and traits
  • Integration of all actions from the Drupal core Actions module and all available contrib modules
  • Extensive context stack support (optional with Context Stack)
  • Support for caching, loops, logging, states, tokens, etc.
  • Prevents recursions
  • TypedData support
  • Tagging for event characterization
  • Models are stored in config, so they can be imported and exported via Drush or the configuration management UI

Included sub-modules

Installing ECA Core has no dependencies other than Drupal Core! Additional functionality with extra events, conditions and actions can be tailored to the needs of each Drupal site. Currently, these sub-modules are packaged with ECA and can be enabled individually:

  • ECA Access: Events and actions to control access on entities and fields
  • ECA Base: Base events, conditions and actions
  • ECA Cache: Actions to read, write or invalidate cache items
  • ECA Config: Config events
  • ECA Content: Content entity events, conditions and actions
  • ECA Endpoint - since 1.1.0: Events to define your own endpoint/routes on the fly and actions to interact with their requests and responses
  • ECA File: File system related actions
  • ECA Form: Form API events, conditions and actions
  • ECA Language: Language and translation events and actions
  • ECA Log: Events and actions for Drupal log messages
  • ECA Menu: Integration with Drupal's menu system
  • ECA Migrate: Migrate events
  • ECA Misc: Miscellaneous events and conditions from Drupal core and the kernel
  • ECA Project Browser: Integration with Project Browser
  • ECA Queue: Events, conditions and actions for queued operations
  • ECA Render - since 1.1.0: Events and actions to work with Drupal's render API for blocks, views and all around themes and Twig
  • ECA User: User events, conditions and actions
  • ECA Views: Execute and export Views query results within ECA
  • ECA Workflow: Content entity workflow actions

The sub-modules extend ECA with plugins for events, conditions and actions. In addition, there is the sub-module ECA UI which gives you access to the ECA admin interface and ECA Development which brings a couple of Drush commands for ECA developers.

Installation

It is easy to get started with ECA:

  • Download the ECA module and a modeller, BPMN.iO is recommended
  • Install ECA, the sub-modules you want to use, and the modeller

For a Quick Start, see the Install section in the ECA Guide.

More integrations

The maintainers are interested to help maintainers of other Drupal modules to integrate their projects with ECA by providing either event, condition or action plugins - or all three of them. In this issue we maintain a list of modules, where discussion or even work has already been started and where you can follow its progress.

Modules integrating with ECA

Requirements

  • Drupal 10+
    • ECA 2 requires Drupal 10.3 or 11
    • ECA 3 requires Drupal 11.2 or later
  • PHP 8.1+
    • ECA 3 requires PHP 8.3+

Documentation

Please follow the links in the right column, especially the documentation link which gets you to the ECA Guide. And if you want to help out, please get in touch. Contributors are very welcome, and there is a lot to do.

And here are some links to further information:

Join the team

Not only are developers needed, we have so much more that needs to be addressed. Here is a list but even that may not be complete:

  • Development
    • ECA and plugins
    • Optimization of the integrated BPMN.iO client
  • Writing tests
  • Review and feedback
  • Support (Issue queue and in chats)
  • Documentation
  • Translations
  • Descriptions on the drupal.org project pages
  • Spread the word

Please get in touch by opening an issue in the issue queue, sending the maintainers a message on their drupal.org profile or head over to Drupal Slack #ECA channel.

Credits:

ECA Logo by Nico Grienauer

Activity

Total releases
56
First release
Dec 2024
Latest release
3 days ago
Release cadence
8 days
Stability
71% stable

Release Timeline

Releases

Version Type Release date
3.1.0-alpha3 Pre-release Feb 25, 2026
3.1.0-alpha2 Pre-release Feb 24, 2026
3.1.0-alpha1 Pre-release Feb 24, 2026
3.1.x-dev Dev Jan 18, 2026
2.1.18 Stable Jan 16, 2026
3.0.10 Stable Jan 16, 2026
3.0.9 Stable Dec 9, 2025
2.1.17 Stable Dec 9, 2025
2.1.16 Stable Nov 22, 2025
3.0.8 Stable Nov 19, 2025
3.0.7 Stable Nov 5, 2025
3.0.6 Stable Oct 24, 2025
2.1.15 Stable Oct 24, 2025
3.0.5 Stable Oct 10, 2025
2.1.14 Stable Sep 23, 2025
3.0.4 Stable Sep 23, 2025
3.0.3 Stable Sep 10, 2025
2.1.13 Stable Aug 16, 2025
3.0.2 Stable Aug 16, 2025
3.0.1 Stable Aug 11, 2025
2.1.12 Stable Aug 9, 2025
3.0.0 Stable Jul 30, 2025
3.0.0-rc2 Pre-release Jul 29, 2025
2.1.11 Stable Jul 26, 2025
3.0.0-rc1 Pre-release Jul 26, 2025
3.0.0-beta3 Pre-release Jul 16, 2025
3.0.0-beta2 Pre-release Jul 9, 2025
3.0.0-beta1 Pre-release Jul 4, 2025
2.1.10 Stable Jul 3, 2025
3.0.0-alpha5 Pre-release Jun 24, 2025
2.1.9 Stable Jun 24, 2025
2.0.18 Stable Jun 24, 2025
3.0.0-alpha4 Pre-release Jun 11, 2025
3.0.0-alpha3 Pre-release Jun 2, 2025
2.1.8 Stable Jun 2, 2025
2.0.17 Stable Jun 2, 2025
1.1.13 Stable Jun 2, 2025
3.0.0-alpha2 Pre-release May 21, 2025
3.0.0-alpha1 Pre-release May 12, 2025
2.1.7 Stable Apr 9, 2025
2.0.16 Stable Apr 9, 2025
1.1.12 Stable Apr 9, 2025
3.0.x-dev Dev Mar 17, 2025
1.1.11 Stable Mar 14, 2025
2.0.15 Stable Mar 14, 2025
2.1.6 Stable Mar 14, 2025
2.1.4 Stable Feb 21, 2025
2.0.13 Stable Feb 21, 2025
2.1.3 Stable Jan 30, 2025
2.0.12 Stable Jan 30, 2025