> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Acciones

> Acciones del motor de automatizaciones: IDs, comportamiento, contexto mínimo y qué escriben en event.data. Consulta el esquema del request, códigos.

Las automatizaciones ejecutan **acciones** (el **ENTONCES**). Cada acción tiene un **`type`** (abajo) y un objeto **`config`**. El motor valida el tipo y aplica las reglas de sinergia con [Disparadores](/es/workflows/triggers) y [Sinergia](/es/workflows/synergy).

<Info>
  **Lista canónica:** `AUTOMATION_ACTION_TYPES` (20 tipos). Cualquier otra cadena no es acción de primera clase del motor.
</Info>

## Catálogo de acciones

### Inteligencia e investigaciones

| ID de acción            | Qué hace                                                                                                                                                                                                                                                                                                   |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `create_investigation`  | Abre una investigación sobre la entidad; puede usar contexto de alerta si existe.                                                                                                                                                                                                                          |
| `generate_checklist`    | Genera checklist sobre una investigación existente.                                                                                                                                                                                                                                                        |
| `start_investigation`   | Pasa la investigación a trabajo activo.                                                                                                                                                                                                                                                                    |
| `change_status`         | Cambia el estado de la investigación.                                                                                                                                                                                                                                                                      |
| `change_priority`       | Cambia la prioridad.                                                                                                                                                                                                                                                                                       |
| `assign_to`             | Asigna la investigación.                                                                                                                                                                                                                                                                                   |
| `assign_load_balanced`  | Asigna entre un pool de destinatarios (`assigneePool`: filas usuario, equipo o rol), minimizando carga sobre investigaciones abiertas (no cerradas/archivadas) con el mismo `assignedTo` + `assignedToType`; sigue admitiendo solo `userIds` (retrocompat). `balanceScope`: `all_open` \| `same_category`. |
| `set_stage_role_access` | Restringe etapa por rol.                                                                                                                                                                                                                                                                                   |
| `add_note`              | Agrega una nota a la investigación.                                                                                                                                                                                                                                                                        |

### Riesgo, entidad, enriquecimiento

| ID de acción            | Qué hace                                                       |
| ----------------------- | -------------------------------------------------------------- |
| `run_basic_enrichment`  | Enriquecimiento básico según entidad/país.                     |
| `run_enrichment`        | Enriquecimiento completo (proveedores configurados).           |
| `run_shareholders_flow` | Flujo de accionistas / estructura societaria.                  |
| `run_risk_matrix`       | Recalcula riesgo; actualiza scores y `riskMatrix` en contexto. |
| `set_entity_status`     | Actualiza estado comercial/compliance de la entidad.           |

### Alertas y transacciones

| ID de acción                   | Qué hace                                                                  |
| ------------------------------ | ------------------------------------------------------------------------- |
| `create_alert`                 | Crea una alerta de sistema sobre la entidad.                              |
| `request_transaction_approval` | Envía flujo de aprobación (email/SMS/link u OTP) para la transacción.     |
| `set_transaction_status`       | Actualiza estado de la transacción (transiciones válidas según el motor). |

### KYC

| ID de acción            | Qué hace                                                                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------ |
| `create_kyc_validation` | Inicia validación KYC para persona cuando aplica; puede omitirse si el tipo de entidad no corresponde. |

### Integraciones y mensajería

| ID de acción             | Qué hace                                                                                                                               |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| `send_webhook`           | HTTP a una URL con JSON (reintentos ante fallos transitorios).                                                                         |
| `send_push_notification` | Canales configurados (email, SMS, WhatsApp, Slack, Telegram, etc.); plantillas pueden incluir `continueUrl` / `cancelUrl` con standby. |

## Contexto: entrada y salida (resumen)

Los objetos anidados **`entity`**, **`transaction`**, **`investigation`**, **`kyc`**, **`alert`** siguen la **misma forma que las tablas** para plantillas `{{entity.status}}`, `{{transaction.amount}}`, etc.

| Acción                                                                                                                            | Requiere en contexto (mínimo)                            | Aporta / actualiza en `event.data`                                             |
| --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `create_investigation`                                                                                                            | `entityId` / `targetEntityId`; opcional alerta/categoría | `investigationId`, `investigation`                                             |
| `generate_checklist`, `start_investigation`, `change_status`, `change_priority`, `assign_to`, `set_stage_role_access`, `add_note` | `investigationId`                                        | Investigación actualizada en contexto                                          |
| `create_alert`                                                                                                                    | `entityId` / `targetEntityId`, tipo entidad              | — (efectos en BD)                                                              |
| `run_basic_enrichment`                                                                                                            | `entityId`, `entityType`, `countryCode`                  | `enrichment`                                                                   |
| `run_enrichment`, `run_shareholders_flow`                                                                                         | `entityId` / `targetEntityId`                            | `enrichment`                                                                   |
| `run_risk_matrix`                                                                                                                 | `entityId`, `entityType`                                 | `newScore`, `riskScore`, `riskScoreRaw`, `riskMatrix`, scores en entidad       |
| `set_entity_status`                                                                                                               | `entityId` / `targetEntityId`                            | Estado, `previousStatus` / `entity.oldStatus`                                  |
| `set_transaction_status`                                                                                                          | Contexto de transacción                                  | `transaction.status`                                                           |
| `create_kyc_validation`                                                                                                           | `entityId`, `entityType` (persona)                       | `kycValidationId`, `kyc`                                                       |
| `request_transaction_approval`                                                                                                    | Contexto de transacción                                  | Tokens de aprobación externos (no es un `resumeExecution` genérico)            |
| `send_webhook`                                                                                                                    | —                                                        | —                                                                              |
| `send_push_notification`                                                                                                          | Según destinatario                                       | Puede inyectar `continueUrl` / `cancelUrl` con `executionId` + `callbackToken` |

La sinergia **no** garantiza datos: una acción puede omitirse (p. ej. KYC en tipo incorrecto). En modo **pasos**, un `create_kyc_validation` omitido puede **detener** el flujo.

***

**Mantenimiento:** cambios en acciones → `automation-engine`, `AUTOMATION_ACTION_TYPES`, `workflow-synergy.ts` y esta página.
