Reglas de automatización

Las reglas de automatización permiten la ejecución de una o más acciones predefinidas en respuesta a un disparador específico, por ejemplo, crear una actividad cuando un campo se establece en un valor específico, o archivar 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 añadir condiciones que deben cumplirse para que se ejecute la regla de automatización, p. ej., la oportunidad debe estar asignada a un comercial específico, o el estado del registro no debe ser Borrador.

Para crear una regla de automatización con Odoo Studio, procede como sigue:

  1. Abra Studio, haga clic en Automatizaciones y después en Nuevo.

  2. Dale a la regla de automatización un nombre claro y significativo que identifique su propósito.

  3. Selecciona el disparador y, si es necesario, rellena los campos que aparecen en la pantalla según el disparador elegido.

  4. Haga clic en Agregar una acción, seleccione el Tipo de acción y llene los campos que aparecen en la pantalla según la acción seleccionada.

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

Example

Para garantizar el seguimiento de clientes menos satisfechos, esta regla de automatización crea una actividad 3 meses después de que se crea un pedido de venta para clientes con un porcentaje de satisfacción inferior al 30%.

Ejemplo de una regla de automatización en el modelo Subscription

Truco

  • Usa la pestaña Notes para documentar el propósito y funcionamiento de las reglas de automatización. Esto hace que las reglas sean más fáciles de mantener y facilita la colaboración entre usuarios.

  • Para modificar el modelo objetivo de la regla de automatización, cambia de modelo antes de hacer clic en Automations en Studio, o activa el modo de desarrollador, crea o edita una regla de automatización, y selecciona el Model en el formulario Automation Rules.

  • Las reglas de automatización pueden crearse desde cualquier etapa kanban haciendo clic en el icono Ajustes que aparece al pasar el ratón sobre el nombre de la etapa kanban, luego seleccionando Automatizaciones. En este caso, el Disparador está configurado como La etapa se establece en por defecto, pero se puede cambiar si es necesario.

    Crear automatizaciones a partir de una etapa kanban

Activador

El Disparador se utiliza para definir qué tipo de evento debe ocurrir para que se ejecute la regla de automatización. Los disparadores disponibles dependen del modelo. Hay cinco categorías de disparadores disponibles en total:

Añadir condiciones

Los filtros de dominio permiten determinar los registros a los que debe dirigirse o excluir una regla de automatización. Un filtrado eficiente mejora el rendimiento general, ya que evita el procesamiento innecesario de registros que no se ven afectados por la regla.

Truco

Activa el modo de desarrollador antes de crear una regla de automatización para tener la máxima flexibilidad al añadir filtros de dominio.

Dependiendo del disparador elegido, es posible definir una o más condiciones que un registro debe cumplir antes y/o después de que ocurra un disparador.

  • El Dominio antes de actualizar define las condiciones que un registro debe cumplir antes de que ocurra el evento disparador, por ejemplo, el registro debe tener Tipo = Factura de cliente y Estado = Contabilizado.

    Con el modo de desarrollador activado, haz clic en Editar dominio, si está disponible, luego en Nueva regla.

  • Condiciones adicionales, o en algunos casos filtros Aplicar en, definen las condiciones que debe cumplir un registro después de que ocurra el evento disparador, p. ej., la factura del cliente debe tener Estado de pago = Parcialmente pagado.

    Con el modo de desarrollador activado si es necesario, haz clic en Añadir condiciones o Editar dominio, según corresponda, luego en Nueva regla.

Cuando ocurre un disparador, por ejemplo, se actualiza el estado de pago de una factura de cliente contabilizada, la regla de automatización verifica las condiciones definidas y solo ejecuta la acción si el registro cumple esas condiciones.

Example

Si la acción automatizada debe ejecutarse cuando se establece una dirección de correo electrónico por primera vez (en contraste con modificar una dirección de correo electrónico) en un contacto existente que es un individuo en lugar de una empresa, utiliza El correo electrónico no está establecido e Es una empresa no está establecido como el Dominio antes de actualizar y El correo electrónico está establecido como el dominio Aplicar en.

Ejemplo de un activador con Antes de la actualización del dominio

Nota

El Dominio antes de actualizar no se verifica al crear un registro.

Valores actualizados

Dispara acciones automatizadas cuando ocurren cambios específicos en la base de datos. Los disparadores disponibles en esta categoría dependen del modelo y se basan en cambios comunes, como añadir una etiqueta específica (por ejemplo, a una tarea) o establecer el valor de un campo (por ejemplo, establecer el campo Usuario).

Selecciona el activador y luego selecciona un valor si es necesario.

Eventos de correo electrónico

Activación de acciones automatizadas al enviar o recibir correos electrónicos.

Condiciones de tiempo

Activa acciones automáticas en un momento específico relativo a un campo de fecha o a la creación o actualización de un registro. Los siguientes activadores están disponibles:

  • Basado en campo de fecha: la acción se dispara en un período de tiempo definido antes o después de la fecha del campo de fecha seleccionado.

  • Después de crear: La acción se activa un período de tiempo definido después de que se crea y guarda un registro.

  • Después de la última actualización: La acción se activa un período de tiempo definido después de que se edita y guarda un registro existente.

Puede definir ya sea:

  • un Retraso: especifica el número de minutos, horas, días o meses. Para que una acción se ejecute antes de la fecha de disparo, especifica un número negativo. Si seleccionaste el disparador Basado en campo de fecha, también debes seleccionar el campo de fecha que se usará para determinar el retraso.

    Nota

    Por defecto, el programador comprueba las reglas de automatización disparadas por tiempo cada 240 minutos, o 4 horas. Esta frecuencia es generalmente suficiente para retrasos como 3 meses después de la fecha del pedido o 7 días después de la última actualización.

    Para retrasos de menos del equivalente de 2400 minutos, o 40 horas, el sistema recalcula la frecuencia de esta comprobación para garantizar que los retrasos más granulares, p. ej., 1 hora antes de la fecha y hora de inicio del evento, o 30 minutos después de la creación, puedan respetarse lo más fielmente posible.

    Un mensaje en pantalla indica el posible retraso después del disparo programado de la regla.

    Mensaje sobre posible retraso después de la ejecución programada

    Para ver o editar manualmente la frecuencia del programador, con el modo de desarrollador activado, ve a Ajustes ‣ Técnico ‣ Acciones programadas para ver todas las acciones programadas de tu base de datos.

    Introduce Automation en la barra de búsqueda, luego, en la lista de resultados, haz clic en Reglas de automatización: comprobar y ejecutar. Si lo deseas, actualiza el valor del campo Ejecutar cada. Haz clic en Ejecutar manualmente en cualquier momento para disparar manualmente esta acción programada.

  • Condiciones adicionales: Haz clic en Agregar condición, luego especifica las condiciones que deben cumplirse para que se ejecute la regla de automatización. Haz clic en Nueva regla para agregar otra condición.

La acción se ejecuta cuando se alcanza el retraso y se cumplen las condiciones.

Example

Para enviar un correo electrónico de recordatorio 30 minutos antes del inicio de un evento del calendario, selecciona Inicio (evento del calendario) como el campo de fecha para el Disparador y establece el Retraso en -30 Minutos.

Ejemplo de un activador con base en un campo de fecha

Personalizado

Activar acciones automatizadas:

  • Al guardar: cuando se guarda un registro.

  • Al eliminar: cuando se elimina un registro.

  • Al cambiar en la interfaz: cuando se cambia el valor de un campo en la vista de formulario, incluso antes de que se guarde el registro.

Para los activadores al guardar y al cambio de la UI debe seleccionar el o los campos que se usarán para activar la regla de automatización en el campo Al actualizar.

Advertencia

Si no se selecciona ningún campo en el campo Al actualizar, es posible que la acción automatizada se ejecute varias veces por registro.

También tiene la opción de definir condiciones adicionales que se deben cumplir para activar la regla de automatización en el campo Aplicar en.

Example

Para activar una acción automatizada al crear un registro, p. ej., cuando se crea un nuevo contacto, selecciona el disparador Al guardar y usa ID is not set como el Dominio antes de actualizar y ID is set como el dominio Aplicar en. Asegúrate de que el campo correcto esté seleccionado en el campo Al actualizar.

Cuando se guarda un nuevo contacto, se le asigna automáticamente un ID de base de datos, activando así la regla de automatización.

Ejemplo de activación de una acción al crear un registro

Nota

El activador Al cambiar en la interfaz solo se puede usar con la acción Ejecutar código y solo funciona cuando se realiza una modificación manualmente. La acción no se ejecuta si el campo se cambia a través de otra regla de automatización.

Externo

Activa acciones automáticas basadas en un evento específico en un sistema o aplicación externa usando un webhook.

Una vez configurado el webhook en Odoo, donde se genera la URL del webhook y se define el registro objetivo, debe implementarse en el sistema externo.

Advertencia

Le recomendamos consultar a un desarrollador, arquitecto de soluciones o cualquier otra persona con experiencia técnica antes de decidir si usar webhooks y durante el proceso de implementación. Si no se hace una configuración adecuada, los webhooks pueden afectar la base de datos de Odoo y puede tomar tiempo solucionar estos problemas.

Ejemplo de un activador con base en un campo de fecha

Nota

También es posible 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 disparador de la regla de automatización, haz clic en Agregar una acción en la pestaña Acciones a realizar para definir la acción que se ejecutará.

Truco

Puedes definir múltiples acciones para la misma regla de automatización. Por defecto, las acciones se ejecutan en el orden en que fueron definidas.

Esto significa, por ejemplo, que 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 usa los valores actualizados. Sin embargo, si la acción Enviar correo se define antes que la acción Actualizar registro, el correo usa los valores establecidos antes de que se actualice el registro.

Para cambiar el orden de las acciones definidas, haz clic en el ícono (controlador de arrastre) junto a una acción y arrástrala a la posición deseada.

Actualizar registro

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

Si seleccionaste un campo many2many, elige si el campo debe actualizarse Añadiendo, Eliminando, o Estableciéndolo en el valor seleccionado o Limpiándolo.

Example

Si quieres que la acción automatizada elimine una etiqueta del registro del cliente, establece el campo Actualizar en Cliente > Etiquetas, selecciona al eliminar, luego selecciona la etiqueta.

Ejemplo de una acción para actualizar registro

Truco

Alternativamente, también puedes establecer el campo de un registro dinámicamente usando código Python. Para hacerlo, selecciona Calcular en lugar de Actualizar, luego introduce el código a usar para calcular el valor del campo. Por ejemplo, si quieres que la regla de automatización calcule un campo datetime personalizado cuando la prioridad de una tarea se establece en Alta (marcando la tarea con estrella), puedes definir el disparador La prioridad se establece en Alta y definir la acción Actualizar registro como sigue:

Calcule un campo de fecha y hora personalizado con una expresión Python

Crear actividad

Esta acción se usa para programar una nueva actividad vinculada al registro. Seleccione un Tipo de actividad, ingrese un título y una descripción, después especifique cuándo quiere que se programe la actividad en el campo Fecha de vencimiento en y seleccione un Tipo de usuario:

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

  • Para que el objetivo sea un usuario vinculado al registro de forma dinámica, seleccione Usuario dinámico (según el registro) y cambie el campo de usuario si lo considera necesario.

Example

Después de que un lead se convierte en una oportunidad, desea que la acción automatizada programe una llamada para el usuario responsable del lead. Para hacer esto, establezca el Tipo de actividad en Llamada y el Tipo de usuario como Usuario dinámico (según el registro).

Ejemplo de una acción para crear una actividad

Enviar correos electrónicos y enviar mensajes de texto

Estas acciones se usan para enviar un correo electrónico o mensaje de texto a un contacto vinculado a un registro específico. Para hacerlo, seleccione o cree una Plantilla de correo electrónico o una Plantilla de SMS y, en el campo Enviar correo electrónico como o Enviar SMS como seleccione cómo quiere enviar el correo electrónico o mensaje de texto:

  • 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 solo publicar el mensaje como una nota interna en el chatter.

Enviar WhatsApp

Importante

Para automatizar el envío de mensajes de WhatsApp debe crear una o varias plantillas de WhatsApp.

Esta acción se usa para enviar un mensaje de WhatsApp a un contacto vinculado a un registro específico. Para ello, selecciona la Plantilla de WhatsApp apropiada del menú desplegable.

Agregar o quitar seguidores

Esta acción se usa para suscribir/cancelar la suscripción de contactos existentes al/del registro.

Crear registro

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

Seleccione el modelo necesario en el campo Registro por crear, este incluye el modelo actual de forma predeterminada. Especifique un nombre para el registro y, si desea crear el registro en otro modelo, seleccione 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 de enlace solo contiene campos one2many existentes en el modelo actual que están vinculados a un campo many2one en el modelo de destino.

Truco

Puedes crear otra regla de automatización con Actualizar registro acciones para actualizar los campos del nuevo registro si es necesario. Por ejemplo, puedes usar una acción Crear registro para crear una nueva tarea de proyecto y luego asignarla a un usuario específico usando una acción Actualizar registro.

Ejecutar código

Importante

Para reglas de automatización que requieren la ejecución de código personalizado, ten en cuenta que el mantenimiento del código personalizado no está incluido en los planes de precios Estándar o Personalizado e incurre en tarifas adicionales.

Esta acción se usa para ejecutar código Python. Puede escribir su código en la pestaña Código con las siguientes variables:

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

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

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

  • records: conjunto de todos los registros en lo cuales la acción fue activada en modo múltiple; puede ser vacío.

  • time, datetime, dateutil, timezone: librerías Python útiles

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

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

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

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

  • Command: espacios de nombres de comandos x2many.

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

Truco

Las variables disponibles se describen en las pestañas Código y Ayuda.

Enviar notificación webhook

Esta acción se utiliza 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 proporciona una vista previa de los datos que se incluyen en la solicitud usando los datos de un registro al azar o datos de prueba si es que no hay registros disponibles.

Nota

También es posible configurar una acción automatizada que utilice un webhook para recibir datos de un sistema externo cuando ocurre un evento predefinido en ese sistema.

Ejecutar acciones existentes

La acción se usa para activar varias acciones (vinculadas al modelo actual) al mismo tiempo. Para hacerlo, haga clic en Agregar una línea y después, en la ventana emergente Agregar: acciones secundarias, seleccione una acción existente o haga clic en Nueva para crear una acción nueva.