Reglas de automatización

Las reglas de automatización ejecutan una o más acciones predefinidas luego de configurar un activador específico, por ejemplo, crean una actividad al seleccionar un valor específico en un campo o archivan un registro 7 días después de su última actualización.

Al crear una regla de automatización, los filtros de dominio te permiten agregar las condiciones necesarias para activar la regla. Por ejemplo, la actividad debe estar asignada a un vendedor en específico o el estado del registro no debe estar en borrador.

Sigue estos pasos para crear una regla de automatización con Studio de Odoo:

  1. Abre Studio, haz clic en Automatizaciones y después en Nuevo.

  2. Asígnale un nombre claro y significativo a la regla de automatización, debe identificar su propósito.

  3. Selecciona el activador y, si es necesario, completa los campos que aparecerán en la pantalla según la acción que hayas elegido.

  4. Haz clic en Agregar una acción, selecciona el tipo de acción y completa los campos que aparecen en la pantalla según la acción que hayas elegido.

  5. Haz clic en Guardar y cerrar o en Guardar y crear nuevo.

Example

Para darle seguimiento a los clientes que están menos satisfechos, esta regla de automatización crea una actividad 3 meses después de la creación de una orden de venta para aquellos clientes con un porcentaje de satisfacción menor al 30%.

Captura de pantalla de una regla de automatización en el modelo de suscripción.

Truco

  • Usa la pestaña Notas para documentar el propósito y el funcionamiento de las reglas de automatización. Esto hará que puedas darle mantenimiento a las reglas con mayor facilidad y que los usuarios puedan colaborar.

  • Para modificar el modelo al que está dirigido la regla de automatización, cambia los modelos antes de hacer clic en Automatizaciones en Studio o activa el modo de desarrollador, crea o edita una regla de automatización y selecciona el modelo en el formulario Reglas de automatización.

  • Es posible crear reglas de automatización desde cualquier etapa de kanban al hacer clic en el icono (Ajustes) que aparece al pasar el cursor sobre el nombre de la etapa de kanban y luego seleccionar Automatizaciones. En este caso, el activador está configurado con la opción La etapa es de forma predeterminada, pero puedes cambiarla si es necesario.

    Captura de pantalla de un menú con la opción para crear automatizaciones en una etapa de kanban.

Activador

El activador sirve para definir qué tipo de evento debe ocurrir para que se ejecute la regla de automatización. Los activadores disponibles dependen del modelo y hay cinco categorías de activación disponibles:

Agregar condiciones

Los filtros de dominio te permiten determinar qué registros debe seleccionar o excluir una regla de automatización. Filtrar de manera eficiente mejora el rendimiento general de la regla, ya que evita que procese los registros que no debe incluir.

Truco

Activa el modo de desarrollador antes de crear una regla de automatización para que puedas agregar más filtros de dominio.

Según el activador que hayas seleccionado, podrás definir la o las condiciones con las que un registro debe cumplir antes o después de que ocurra una acción de activación.

  • La opción Antes de actualizar el dominio define las condiciones que debe cumplir un registro antes de que ocurra el evento desencadenante. Por ejemplo, el registro debe cumplir con las condiciones Tipo = Factura de cliente y Estado = Registrado.

    Primero activa el modo de desarrollador, haz clic en Editar dominio si está disponible y luego elige Nueva regla.

  • Las condiciones adicionales, o en algunos casos los filtros Aplicar en, definen las condiciones que un registro debe cumplir después de que ocurra el evento que activa la opción, por ejemplo, la factura del cliente debe estar configurada con Estado de pago = Pagado parcialmente.

    Activa el modo de desarrollador en caso de que sea necesario, haz clic en Agregar condiciones o Editar dominio según corresponda y luego en Nueva regla.

Cuando ocurre una acción de activación, por ejemplo, al actualizar el estado de pago de una factura de cliente registrada, la regla de automatización revisa las condiciones definidas y solo ejecuta la acción si el registro coincide con esas condiciones.

Example

Si quieres ejecutar la acción automatizada al configurar una dirección de correo por primera vez (no al modificarla) en un contacto existente definido como persona y no como empresa tendrás que usar Correo electrónico no está establecido y Es una empresa no está establecido como opciones en Antes de actualizar el dominio y Correo electrónico está establecido como opción en el dominio correspondiente a Aplicar en.

Captura de pantalla con el ejemplo de un activador con la opción "Antes de la actualización del dominio".

Nota

El sistema no revisa la opción Antes de actualizar el dominio al crear un registro.

Actualización de los valores

Activa acciones automatizadas cuando ocurran cambios específicos en la base de datos. Los activadores disponibles en esta categoría dependen del modelo y están basados en cambios comunes, como agregar una etiqueta específica (por ejemplo, a una tarea) o configurar el valor de un campo (por ejemplo, definir el campo Usuario).

Selecciona el activador y luego selecciona un valor en caso de que sea necesario.

Eventos de correo electrónico

Activa acciones automatizadas al enviar o recibir correos electrónicos.

Condiciones de tiempo

Activa acciones automatizadas en un momento relativo a un campo de fecha o a la creación o actualización de un registro y están disponibles los siguientes activadores:

  • Según el campo de fecha: La acción se activa en el momento definido antes o después de la fecha configurada en el campo de fecha seleccionado.

  • Después de crear: La acción se activa en el momento definido después de crear y guardar el registro.

  • Después de la última actualización: La acción se activa en el momento definido después de editar y guardar un registro existente.

Después puedes definir lo siguiente:

  • Espera: Especifica el número de minutos, horas, días o meses. Para ejecutar una acción antes de la fecha del activador deberás indicar un número negativo. Si seleccionaste el activador Según el campo de fecha también debes elegir qué campo de fecha usar para determinar esta espera.

    Nota

    El planificador revisa las reglas de automatización basadas en tiempo cada 240 minutos (o 4 horas) de forma predeterminada. Esta frecuencia suele ser suficiente para una espera, por ejemplo, de 3 meses después de la fecha de la orden o 7 días después de la última actualización.

    Para esperas menores al equivalente de 2400 minutos (o 40 horas), el sistema vuelve a calcular la frecuencia de esta revisión para garantizar que se respete lo más posible las esperas más precisas, por ejemplo, 1 hora antes de la fecha y hora de inicio del evento o 30 minutos después de la creación.

    En la pantalla aparecerá un mensaje para indicar el posible atraso tras la activación programada de la regla.

    Captura de pantalla con el mensaje sobre el posible atraso después de la ejecución programada.

    Para ver o editar la frecuencia de forma manual, primero activa el modo de desarrollador y ve a Ajustes ‣ Técnico ‣ Acciones programadas para ver todas las acciones programadas para tu base de datos.

    Escribe Automatización en la barra de búsqueda, haz clic en Reglas de automatización: Verificar y ejecutar en la lista de resultados y, si lo deseas, actualiza el valor del campo Ejecutar cada. Haz clic en Ejecutar de forma manual cuando quieras activar esta acción programada de forma manual.

  • Condiciones adicionales: Haz clic en Agregar condición y después especifica las condiciones que se deben cumplir para ejecutar la regla de automatización. Haz clic en Nueva regla para agregar otra condición.

La acción se ejecuta al terminar la espera y si se cumplen las condiciones.

Example

Para enviar un recordatorio por correo 30 minutos antes del inicio de un evento del calendario, selecciona Inicio (Evento del calendario) como el campo de fecha para el activador y configura la espera en -30 minutos.

Captura de pantalla del ejemplo de un activador con la opción "Según el campo de fecha" seleccionada.

Personalizado

Activa acciones automatizadas:

  • Al guardar: Al guardar un registro.

  • Al eliminar: Al eliminar un registro.

  • Al cambio de la IU: Al modificar el valor de un campo en la vista de formulario, incluso antes de guardar el registro.

Con los activadores Al guardar y Al cambio de la IU debes seleccionar el o los campos que se usarán para activar la regla de automatización en el campo Al actualizar.

Advertencia

Es posible que la acción automatizada se ejecute varias veces por registro si no eliges ningún campo en el campo Al actualizar.

También puedes definir otras condiciones a cumplir para activar la regla de automatización en el campo Aplicar en.

Example

Para activar una acción automática al crear un registro, por ejemplo, al crear un contacto nuevo, selecciona el activador Al guardar y usa ID no está establecido en Antes de actualizar el dominio, así como ID está establecido como el dominio de Aplicar en. Asegúrate de que seleccionar el campo correcto en Al actualizar.

Al guardar un nuevo contacto, el sistema le asigna un ID de base de datos de forma automática, lo que activa la regla de automatización.

Captura de pantalla de un ejemplo de activación de una acción al crear un registro.

Nota

Solo puedes usar el activador Al cambio de la IU con la acción Ejecutar código y este solo funciona cuando la modificación es manual. La acción no se ejecuta si el campo cambia debido a otra regla de automatización.

Externo

Activa acciones automatizadas basadas en un evento específico en un sistema o aplicación externa mediante un webhook.

Después de configurar el webhook en Odoo, donde generarás la URL del webhook y definirás el registro de destino, debes implementarlo en el sistema externo.

Advertencia

Te recomendamos consultar con un desarrollador, arquitecto de soluciones o cualquier otro perfil técnico al decidir usar webhooks y durante todo el proceso de implementación. Si no configuras los webhooks de forma correcta, estos pueden afectar la base de datos de Odoo y revertir los cambios puede llevar algo de tiempo.

Captura de pantalla del ejemplo de un activador con la opción "Según el campo de fecha" seleccionada.

Nota

También puedes configurar una acción automática que envíe datos al webhook de un sistema externo cuando ocurre un evento en tu base de datos de Odoo.

Acciones

Una vez que hayas definido el activador de la regla de automatización, ve a la pestaña Acciones a realizar y haz clic en Agregar una acción para definir la acción que se ejecutará.

Truco

Puedes definir varias acciones para la misma regla de automatización. Las acciones se ejecutan en el orden en que fueron definidas de forma predeterminada.

Por ejemplo, si defines una acción Actualizar registro y luego una acción Enviar correo donde el correo hace referencia al campo que se actualizó, el correo usará los valores actualizados, pero si la acción Enviar correo se define antes de la acción Actualizar registro, el correo usará los valores configurados antes de actualizar el registro.

Para cambiar el orden de las acciones definidas, haz clic en el icono (seis cuadros grises) que se encuentra junto a una acción y arrástrala a la posición deseada.

Actualizar un registro

Esta acción actualiza uno de los campos (relacionados) del registro. Haz clic en el campo Actualizar y selecciona o busca el campo que se actualizará con la lista que aparecerá. Si es necesario, haz clic en el icono (flecha derecha) que se encuentra junto al nombre del campo para abrir la lista de campos relacionados.

Si seleccionaste un campo many2many, elige si la actualización del campo debe ocurrir al agregar, eliminar, definir el valor seleccionado o al limpiarlo.

Example

Si quieres que la acción automática elimine una etiqueta del registro del cliente, configura el campo Actualizar con Cliente > Etiquetas, selecciona al eliminar y luego selecciona la etiqueta.

Captura de pantalla con un ejemplo de una acción para actualizar un registro.

Truco

También puedes configurar el campo de un registro de manera dinámica con código Python. Para ello, selecciona Calcular en lugar de Actualizar y después escribe el código que se utilizará para calcular el valor del campo. Por ejemplo, si quieres que la regla de automatización calcule un campo de fecha y hora personalizado cuando la prioridad de una tarea sea alta (al marcar la tarea con una estrella), puedes seleccionar el activador La prioridad está establecida en con la opción Alto y configurar la acción Actualizar registro de la siguiente manera:

Captura de pantalla de un ejemplo para calcular un campo de fecha y hora personalizado con una expresión Python.

Crear una actividad

Esta acción sirve para programar una nueva actividad vinculada al registro. Selecciona un tipo de actividad, escribe un título y una descripción, después usa el campo Fecha de vencimiento en para especificar cuándo quieres que se programe la actividad y elige un tipo de usuario:

  • Para siempre asignarle la actividad al mismo usuario, selecciona Usuario específico y luego agrega al usuario en el campo Responsable.

  • Para asignar un usuario vinculado al registro de forma dinámica, selecciona la opción Usuario dinámico (según el registro) y cambia el campo Usuario en caso de que sea necesario.

Example

Después de convertir un lead en una oportunidad, quieres que la acción automatizada programe una llamada para el usuario responsable del lead. Para ello, configura el tipo de actividad con la opción Llamada y el tipo de usuario con Usuario dinámico (según el registro).

Captura de pantalla de un ejemplo de una acción para crear una actividad.

Enviar correos electrónicos y mensajes de texto

Estas acciones sirven para enviar correos electrónicos o mensajes de texto a un contacto vinculado a un registro específico. Para ello, selecciona o crea una plantilla de correo electrónico o una plantilla de SMS y elige cómo enviar el correo o mensaje con los campos Enviar correo electrónico como o Enviar SMS como :

  • Correo electrónico: para enviar el mensaje como un correo electrónico a los destinatarios de la plantilla de correo electrónico.

  • Mensaje: para publicar el mensaje en el registro y notificar a los seguidores del registro.

  • Nota: para enviar el mensaje como una nota interna que los usuarios internos podrán ver en el chatter.

  • SMS (sin nota): para enviar el mensaje como un mensaje de texto a los destinatarios de la plantilla de SMS.

  • SMS (con nota): para enviar el mensaje como un mensaje de texto a los destinatarios de la plantilla de SMS y también publicarlo como una nota interna en el chatter.

  • Solo nota: para publicar el mensaje solo como una nota interna en el chatter.

Enviar WhatsApp

Importante

Para automatizar el envío de mensajes de WhatsApp debes crear una o más plantillas de WhatsApp.

Esta acción envía un mensaje de WhatsApp a un contacto vinculado a un registro específico. Para hacerlo, selecciona la plantilla de WhatsApp correspondiente en el menú desplegable.

Agregar o eliminar seguidores

Esta acción sirve para suscribir o cancelar la suscripción de los contactos existentes al registro.

Crear un registro

Esta acción sirve para crear un nuevo registro en cualquier modelo.

Selecciona el modelo necesario en el campo Registro a crear, este incluye el modelo actual de forma predeterminada. Especifica un nombre para el registro y, si quieres crear el registro en otro modelo, selecciona un campo en el campo Vincular campo para vincular el registro que activó la creación de uno nuevo.

Nota

La lista desplegable relacionada con el campo Campo del enlace solo contiene los campos one2many existentes en el modelo actual que están vinculados a un campo many2one en el modelo objetivo.

Truco

Si es necesario, puedes crear otra regla de automatización con acciones de tipo Actualizar un registro para actualizar los campos del nuevo registro. Por ejemplo, puedes usar una acción Crear registro para crear una nueva tarea de proyecto y luego asignársela a un usuario específico mediante una acción Actualizar registro.

Ejecutar código

Importante

Si tus reglas de automatización requieren la ejecución de código personalizado, toma en cuenta que los planes estándar y personalizado no incluyen el mantenimiento del código personalizado, así que eso genera cargos adicionales.

Esta acción sirve para ejecutar código Python. Puedes escribir tu código en la pestaña Código con las siguientes variables:

  • env: El entorno en el que se activa la acción.

  • model: El modelo del registro en el que se activa la acción. Es un conjunto de registros vacío.

  • record: Registro en el que se activa la acción y puede estar vacío.

  • records: Conjunto de todos los registros en los que se activa la acción en modo múltiple. Puede estar vacía.

  • time, datetime, dateutil, timezone: Bibliotecas útiles de Python.

  • float_compare: Una función de utilidad para comparar números basada en una precisión específica.

  • log(message, level='info'): Una función de registro para registrar la información de depuración en la tabla ir.logging.

  • _logger.info(message): Un registrador para emitir mensajes en los registros del servidor.

  • UserError: Una clase de excepción para generar mensajes de advertencia dirigidos al usuario.

  • Command: Los espacios de nombres de comandos x2many.

  • action = {...}: Sirve para devolver una acción.

Truco

En las pestañas Código y Ayuda encontrarás la descripción de las variables disponibles.

Enviar notificación webhook

Esta acción sirve para enviar una solicitud API POST con los valores de los campos seleccionados a la URL del webhook especificada en el campo URL.

La carga efectiva de ejemplo muestra una vista previa de los datos incluidos en la solicitud usando la información de un registro aleatorio o datos ficticios si no hay un registro disponible.

Nota

También puedes configurar una acción automática que use un webhook para recibir datos de un sistema externo cuando ocurra un evento predefinido en ese sistema.

Ejecutar acciones existentes

La acción sirve para activar varias acciones (vinculadas al modelo actual) al mismo tiempo. Para ello, haz clic en Agregar una línea y después, en la ventana emergente Agregar: Acciones subordinadas, selecciona una acción existente o haz clic en Nuevo para crear una.