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¶
- (P) Write the rule as EVENT → CONDITION → ACTION. If it does not fit, it may be a pipeline (FlowDrop) or a Tool.
DO THIS¶
- (P) Model in the modeler; actions call Tool API plugins where a typed capability exists (R) standard §9.
- (P) Export the model as config; ship reusable models in a recipe (R) Rule I.
- (P) After every config import:
drush eca:subscriber:rebuild(R) standard §19. - (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
orchestrationspeculatively (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.