Saltar al contenido principal

Reglas de automatización

Esta guía muestra cómo crear, administrar y diagnosticar reglas de automatización. Para consultar el modelo conceptual (desencadenantes, condiciones, acciones), consulte Visión general.

Creando una regla

  1. Vaya a Settings → Automation.
  2. Haga clic en Nueva regla.
  3. Asígnele un nombre descriptivo (por ejemplo, “Asignar prospectos WhatsApp al equipo comercial”).
  4. Elija un activador de la lista.
  5. (Opcional) Agregue condiciones para filtrar cuándo debe activarse la regla.
  6. Agregue una o más acciones.
  7. Active la regla.

Consejos para nombrar

  • Comienza con el verbo de la acción principal (Assign..., Move..., Tag...).
  • Incluir contexto (canal, equipo, escenario) para que otros operadores entiendan sin abrir los detalles.
  • Evite nombres genéricos como “Regla 1” o “Auto”: acumulará docenas y necesitará encontrarlos mediante una búsqueda.

Condiciones y plantillas de mensajes

Las condiciones utilizan el sistema variable de plantilla cuando necesitas comparaciones dinámicas. A partir de v1.0.0-rc3 (WTO-1146), las variables obtuvieron campos adicionales:
  • label, source, example, position, component
Utilice estos campos en condiciones para expresiones más precisas. Por ejemplo: filtre por una etiqueta específica utilizando el label.title resuelto en lugar del UUID sin formato.

attribute_changed Operador con Desde/Hasta

Cuando desee que la regla se active solo en una transición de atributo específica (por ejemplo, “el estado cambió de pending a qualified”), utilice el operador attribute_changed con selectores de valores explícitos antes y después.

Acciones con carga útil dinámica

send_template

Le permite enviar una plantilla de mensaje con variables completadas dinámicamente. El sistema aplica deep_stringify_keys a la carga útil para que la llamada funcione independientemente de la forma de la clave (cadena o símbolo).

send_canned_response

Acceso directo para enviar una respuesta predeterminada almacenada en Settings → Canned Responses. La carga útil acepta variables sustituidas por datos de conversación.

move_to_pipeline (rc3)

Mueve el elemento de la canalización a una canalización diferente conservando el id del elemento. Útil para reglas como “si se agregó la etiqueta qualified en el canal de Clientes potenciales, pase al canal de Ventas”.
La acción omite automáticamente la validación same-pipeline. No confundir con move_to_stage, que se mueve dentro del mismo oleoducto.

apply_label

A partir de v1.0.0-rc3, la acción muestra un selector de etiquetas en lugar de entrada de texto libre. Los UUID se resuelven en títulos antes de etiquetarlos, con un respaldo en caso de que se haya cambiado el nombre de la etiqueta.

Panel de registros (rc3)

Cada ejecución de regla ahora genera un registro en el panel Automation → Logs. Ya ves:
  • Cuando se activó la regla.
  • Qué conversación/elemento lo desencadenó.
  • Condiciones evaluadas: cuáles aprobaron y cuáles no.
  • Acciones ejecutadas: éxito o error.
  • Errores detectados: incluidos errores de macro webhook (que antes eran silenciosos, consulte WTO-1041).

Limpieza automática

Los registros antiguos se eliminan mediante un trabajo de limpieza que se ejecuta periódicamente. No es necesario eliminarlo manualmente.

Diagnóstico de reglas que no se activan

Hoja de ruta rápida cuando una regla parece no funcionar:
  1. Compruebe si está activo. Las reglas deshabilitadas no aparecen como errores; simplemente no se ejecutan.
  2. Confirme el desencadenante. conversation_updated cubre varios casos, pero attribute_changed es específico.
  3. Mire el registro de ejecución. En el panel de registros, filtre por regla. Si aparece con “no coincide”, sus condiciones lo están filtrando.
  4. Condiciones de etiqueta. La condición labels utiliza la subconsulta EXISTS (independiente y segura para NULL) y coincide con una etiqueta en conversación O contacto. Si esperaba una coincidencia solo en la conversación, limítela con otra condición.
  5. Dedup. Para pipeline_stage_updated, hay una ventana de 5 segundos: dos eventos en el mismo (rule, pipeline_item, stage) en una ventana corta se ejecutan solo una vez.

Prevención de bucles

Cuando una regla move_to_stage desencadena un evento pipeline_stage_updated que podría activar la misma regla de forma recursiva, el sistema marca la ejecución con Current.executed_by = :stage_automation e ignora las reentradas. Esto evita bucles infinitos por diseño.

Consideraciones finales

Las reglas de automatización son la forma declarativa de codificar el comportamiento operativo de CRM. Para flujos más complejos que involucran IA conversacional, considere combinar una regla de automatización con un agente: la regla maneja el enrutamiento y el agente maneja el diálogo.