- Disparador → acción: si una acción está en
ALLOWED_TRIGGERS_BY_ACTION, solo esos triggers pueden usarla. - Acción → siguiente acción: si una acción está en
ALLOWED_NEXT_ACTIONS, solo las acciones listadas pueden ir inmediatamente después en la secuencia ordenada (pasos o recorrido del grafo).
Fuente de verdad:
packages/shared/src/workflow-synergy.ts (ALLOWED_TRIGGERS_BY_ACTION, ALLOWED_NEXT_ACTIONS). La API y la UI usan la misma validación.Regla 1 — Triggers permitidos por acción
| Acción | Triggers permitidos |
|---|---|
create_investigation | alert_created, rule_triggered |
generate_checklist, assign_to, add_note | alert_created, investigation_created, investigation_status_changed, investigation_updated |
start_investigation, change_status, change_priority, set_stage_role_access | investigation_created, investigation_status_changed, investigation_updated |
set_entity_status, run_risk_matrix | entity_created, create_entity_flow, alert_created, investigation_created, investigation_status_changed, investigation_updated, transaction_created, rule_triggered, kyc_approved, kyc_rejected, kyc_validation_finished, manual_execution |
run_basic_enrichment | manual_execution, entity_created, create_entity_flow |
run_enrichment, run_shareholders_flow | entity_created, create_entity_flow (run_shareholders_flow también admite manual_execution) |
create_kyc_validation | entity_created, create_entity_flow, alert_created, rule_triggered, kyc_approved, kyc_rejected, kyc_validation_finished, manual_execution |
request_transaction_approval, set_transaction_status | transaction_created, rule_triggered, manual_execution, scheduled |
send_webhook, send_push_notification, create_alert y cualquier acción no listada aceptan cualquier trigger.
Nota: scheduled no está en la lista de set_entity_status, run_risk_matrix, run_enrichment, create_kyc_validation, etc. Diseñá automatizaciones programadas solo con acciones permitidas para scheduled.
Regla 2 — Siguiente acción inmediata
Solo se valida el par inmediato. En grafos, el motor ordena las acciones (p. ej. BFS desde el trigger) y valida los mismos pares.| Acción previa | Puede ir seguida inmediatamente por |
|---|---|
run_enrichment | run_risk_matrix, set_entity_status, create_alert, send_webhook, send_push_notification, create_kyc_validation |
run_basic_enrichment | run_shareholders_flow, run_risk_matrix, set_entity_status, create_alert, send_webhook, send_push_notification, create_kyc_validation |
run_shareholders_flow | run_risk_matrix, set_entity_status, create_alert, send_webhook, send_push_notification, create_kyc_validation |
run_risk_matrix | set_entity_status, create_alert, send_webhook, send_push_notification, create_kyc_validation |
set_entity_status | run_risk_matrix, create_alert, send_webhook, send_push_notification, create_kyc_validation |
create_alert | send_webhook, send_push_notification, create_investigation |
create_kyc_validation | set_entity_status, create_alert, send_webhook, send_push_notification, run_risk_matrix |
create_investigation | assign_to, add_note, change_status, change_priority, set_stage_role_access, send_webhook, send_push_notification, generate_checklist, start_investigation |
start_investigation, change_status, change_priority, assign_to, set_stage_role_access, add_note, generate_checklist | assign_to, add_note, change_status, change_priority, set_stage_role_access, send_webhook, send_push_notification, generate_checklist (igual para cada una; start_investigation como siguiente solo desde create_investigation) |
request_transaction_approval | set_transaction_status, send_webhook, send_push_notification |
set_transaction_status | request_transaction_approval, send_webhook, send_push_notification |
Cadenas típicas (ejemplos)
- Onboarding:
run_enrichment→run_risk_matrix→set_entity_status→create_alert/create_kyc_validation. - Alerta:
create_investigation→assign_to→change_status→send_webhook. - Pagos:
request_transaction_approval→set_transaction_status→send_webhook.
Mantenimiento: cambios de sinergia en código → primero
workflow-synergy.ts, luego esta página.