Skip to content

Automate on an event

Briefing, not authority. (R) rule at linked source · (O) dated upstream fact · (P) procedure · (C) open work · (G) not established.

WHAT THIS MEANS IN DRUPAL

"When X happens, if Y, do Z" is an ECA model: event, condition, action, stored as config and edited in the BPMN modeler (R) how-we-build §12.

OWNER

  • Event-driven workflow: ECA (R) Rule E, standard §3. ECA is KEEP, security-covered (O 2026-09-20) matrix.
  • Visual modeling: Modeler API (R) capability map.
  • AI steps inside ECA: drupal/ai_integration_eca (R) how-we-build §12.
  • Multi-step pipelines with approval pauses: FlowDrop, only with a real pipeline consumer (R) standard §10 platform stack.
  • External orchestrators driving Drupal: drupal/orchestration, not local workflow (R) standard §2.

PREREQUISITES

  1. (P) Write the rule as EVENT → CONDITION → ACTION. If it does not fit, it may be a pipeline (FlowDrop) or a Tool.

DO THIS

  1. (P) Model in the modeler; actions call Tool API plugins where a typed capability exists (R) standard §9.
  2. (P) Export the model as config; ship reusable models in a recipe (R) Rule I.
  3. (P) After every config import: drush eca:subscriber:rebuild (R) standard §19.
  4. (P) Prove it fires; import success is not execution (R) standard §17.

WATCH FOR

  • Model locks admin UI: $settings['eca_disable'] = TRUE; then fix (R) standard §19.
  • Debug mode left on costs every run; clear _eca_internal_debug_mode (R) standard §19.
  • Long work leaves the request: ECA Queue (R, reference) architecture ref.

DO NOT

  • Write an event subscriber or hook_* for workflow logic ECA can model (R) Rule E.
  • Build a custom workflow engine (R) standard §8.
  • Install FlowDrop or orchestration speculatively (R) standard §10 platform stack.

OWNERSHIP / CAN-SHOULD-MAY

  • CAN: modeler UI, config import.
  • SHOULD: recipe owns reusable models; site owns site models.
  • MAY: agent entity writes go to draft (R) standard §7.5.

DO NOT REDISCOVER

  • ECA owns local workflow; orchestration is external bridging only (R) standard §2. Stale event cache is the usual "ECA is broken" (R) §19.

CONFLICTS

ID A B Resolution
C-FLOWDROP-SPECULATIVE baseline stack: requires flowdrop, orchestration standard §10 platform stack: only with a consumer Standard wins; baseline needs a consumer note.

GO DEEPER

Anchored sources: frontmatter authority_sources. Expires last_verified + 30d.