La acción Reglas de negocio inteligentes te permite generar o calcular automáticamente un valor en un campo utilizando la información almacenada en otros campos.
Esto resulta útil cuando quieres que Sales Layer complete datos automáticamente mediante reglas lógicas, de forma similar a las fórmulas utilizadas en los conectores.
Esta funcionalidad está disponible para Categorías, Productos, Variantes y Entidades personalizadas.
Qué hace la acción Reglas de negocio inteligentes
Cuando añades esta acción a un agente, el agente calcula un valor y escribe el resultado en un campo de destino.
Puedes configurarla para:
- Rellenar solo campos vacíos
- Sobrescribir valores existentes
- Calcular resultados mediante una fórmula creada con campos, valores, operadores y funciones
Esto ayuda a reducir la edición manual y mantiene los cálculos repetitivos de forma coherente en todo el catálogo.
Dónde encontrarla
Para añadir esta acción:
- Abre la configuración de tu agente.
- Ve al paso Acción.
- Haz clic en Añadir acción.
- Selecciona Reglas de negocio inteligentes.

Una vez seleccionada, se abrirá la ventana de configuración para que puedas definir cómo debe funcionar la acción.
Cómo configurar la acción
La ventana de configuración contiene el campo de destino, las opciones de comportamiento, el editor de fórmulas, el selector Browse fields from y la Biblioteca de funciones.

Campo de destino
Elige el campo donde se guardará el resultado calculado. Este es el campo que actualizará el agente después de aplicar la regla.
Debajo del selector, Sales Layer muestra la tabla a la que pertenece el campo de destino, por ejemplo, Producto.
Comportamiento
Elige cómo debe escribir el resultado el agente:
- Rellenar solo campos vacíos: la acción escribe un valor únicamente si el campo de destino está vacío.
- Sobrescribir contenido existente: la acción escribe el resultado aunque el campo de destino ya contenga un valor.
Editor de fórmulas
Utiliza el Editor de fórmulas para crear la regla combinando campos, valores fijos, operadores y funciones compatibles. El resultado de la fórmula se escribirá en el campo de destino.
Insertar campos
Escribe { dentro del editor para abrir las sugerencias de campos de la tabla seleccionada. Elige un campo de la lista para insertarlo en la fórmula.
Los campos insertados aparecen resaltados como elementos independientes, por ejemplo, {price}. Esto permite distinguirlos fácilmente de las funciones, los operadores y los textos fijos.

Explorar campos de otra tabla
La tabla de destino aparece seleccionada de forma predeterminada en Browse fields from. Cambia este selector cuando necesites insertar un campo perteneciente a otra entidad relacionada compatible.
La tabla seleccionada determina qué campos aparecen como sugerencias cuando escribes { en el editor.
Autocompletado y validación
El editor sugiere funciones compatibles y campos del catálogo mientras escribes. Esto permite crear fórmulas más rápidamente y ayuda a reducir errores de escritura.
Sales Layer también valida la fórmula. Si la sintaxis no es válida, aparecerá un mensaje de error, como Invalid formula syntax, debajo del editor para que puedas corregirla antes de guardar la acción.
Biblioteca de funciones
La Biblioteca de funciones aparece en la parte derecha de la ventana de configuración. Incluye un buscador, filtros por categorías y una lista de las funciones disponibles con sus descripciones.
Utiliza el botón de filtro para limitar la biblioteca por tipo de función:
- Todas
- Texto
- Numéricas
- Condicionales
- Fecha
- Colecciones

Cada tarjeta de función proporciona información integrada, incluida su descripción, sus parámetros y ejemplos de uso. Utiliza el botón + para insertar una función directamente en el Editor de fórmulas.
Cuando insertas una función, esta aparece con la estructura que espera que completes. Por ejemplo, la función condicional se inserta como if(condition, true, false).

Terminar de añadir la acción
Una vez configurada la acción:
- Haz clic en Añadir acción para guardar una acción nueva o en Actualizar acción cuando estés editando una acción existente.
- Haz clic en Siguiente para continuar creando tu agente.

Funciones disponibles actualmente
La acción Reglas de negocio inteligentes admite actualmente las siguientes operaciones y funciones.
| Categoría | Operador / Función | Descripción | Ejemplo |
|---|---|---|---|
| Aritmética | + | Suma | Precio + Envío |
| Aritmética | - | Resta | Precio - Descuento |
| Aritmética | * | Multiplicación | Precio * 1.21 |
| Aritmética | / | División | Precio / 100 |
| Agrupación | ( ) | Paréntesis para controlar la prioridad | (Precio + Envío) * 1.21 |
| Operandos | Valor numérico literal | Número entero o decimal | 100, 1.21 |
| Operandos | Referencia de campo | Campo del catálogo insertado desde el editor | {Precio} |
| Operandos | Cadena de texto literal | Texto entre comillas simples | 'caro', 'activo' |
| Comparación | = | Igual a | Precio = 100 |
| Comparación | <> | No es igual a | Estado <> 'X' |
| Comparación | > | Mayor que | Precio > 100 |
| Comparación | >= | Mayor o igual que | Precio >= 100 |
| Comparación | < | Menor que | Stock < 10 |
| Comparación | <= | Menor o igual que | Stock <= 10 |
| Condicional | if(cond, yes, no) | Condicional ternario | if(Precio > 100, 'caro', 'barato') |
| Condicional | and | Y lógico | Precio > 100 and Precio < 200 |
| Condicional | or | O lógico | Precio > 100 or Precio < 50 |
| Condicional | not(cond) | Negación lógica | not(Precio > 100) |
| Texto | Left(field, n) | Primeros N caracteres | Left(Descripción, 10) |
| Texto | Right(field, n) | Últimos N caracteres | Right(SKU, 3) |
| Texto | Mid(field, start, len) | Subcadena desde una posición | Mid(Nombre, 2, 5) |
| Texto | Len(field) | Longitud de la cadena de texto | Len(Descripción) |
| Texto | Upper(field) | Convierte el texto a mayúsculas | Upper(Nombre) |
| Texto | Lower(field) | Convierte el texto a minúsculas | Lower(Nombre) |
| Texto | Trim(field) | Elimina los espacios iniciales y finales | Trim(Nombre) |
| Texto | Concat(a, b, ...) | Concatena valores | Concat(Marca, ' - ', Nombre) |
| Texto | Contains(field, 'val') | Comprueba si existe una subcadena | Contains(Nombre, 'pro') |
| Texto | Localize(field, 'lang_code') | Devuelve el valor de un campo multidioma en el idioma especificado | Localize(Precio, 'en') |
| Texto | Replace(field, searched, replaced) | Reemplaza todas las apariciones de una cadena de texto | Replace(Descripción, 'centímetros', 'cm') |
| Fecha | Campos de fecha | Compatibilidad con atributos de fecha | Creación del producto |
| Fecha | Today() | Fecha actual sin hora | Today() |
| Fecha | Now() | Fecha y hora actuales | Now() |
| Fecha | Date(y, m, d, hh, mm, ss) | Crea una fecha o una fecha y hora específicas. hh, mm y ss son opcionales. | Date(2026, 3, 30) |
| Fecha | AddDays(date, n) | Añade o resta días | AddDays(Creación del producto, 5) |
| Fecha | AddMonths(date, n) | Añade o resta meses | AddMonths(Today(), -6) |
| Fecha | AddYears(date, n) | Añade o resta años | AddYears(Date(2026, 3, 30), 4) |
| Fecha | Year(date) | Devuelve el año de una fecha | Year(Creación del producto) |
| Fecha | Month(date) | Devuelve el mes de una fecha | Month(Creación del producto) |
| Fecha | Day(date) | Devuelve el día de una fecha | Day(Creación del producto) |
| Fecha | DateDiff(date1, date2, 'unit') | Diferencia entre fechas en días, meses o años | DateDiff(Creación del producto, Date(2026, 3, 30), 'days') |
| Navegación | Entity.First().property | Devuelve una propiedad de una entidad relacionada | Categorías.First().Descuento |
| Colecciones | Entity.Any() | Comprueba si existe alguna entidad relacionada | Variantes.Any() |
| Colecciones | Entity.Sum(field) | Suma de una colección | Variantes.Sum(Precio de variante) |
| Colecciones | Entity.Average(field) | Media de una colección | Variantes.Average(Stock) |
| Colecciones | Entity.Count() | Recuento de elementos relacionados | Variantes.Count() |
| Colecciones | Entity.Min(field) | Valor mínimo de una colección | Categorías.Min(Precio) |
| Colecciones | Entity.Max(field) | Valor máximo de una colección | Productos.Max(Precio) |
| Matemáticas | FormatNumber(number, decimals) | Formatea un número como texto y lo redondea al número de decimales especificado | FormatNumber(Precio, 2) |
| Matemáticas | Round(expr, dec) | Redondeo | Round(Precio * IVA, 2) |
Las colecciones se utilizan cuando la entidad relacionada tiene una relación de uno a varios. Por ejemplo, un producto puede tener varias variantes. En este caso, utiliza funciones como Any, Sum, Average, Count, Min o Max para indicar cómo deben tratarse los valores relacionados.
Funciones previstas para futuras iteraciones
| Categoría | Operador / Función | Descripción | Ejemplo |
|---|---|---|---|
| Matemáticas | Abs(expr) | Valor absoluto | Abs(Precio - Coste) |
| Matemáticas | Floor(expr) | Redondear hacia abajo | Floor(Precio / 10) |
| Matemáticas | Ceiling(expr) | Redondear hacia arriba | Ceiling(Stock / PackSize) |
| Personalizado / IA | ai*(...) | Evaluación mediante IA que puede incluir instrucciones | ai_score(Nombre, Categoría.Nombre) |
| Personalizado / IA | custom*(...) | Lógica externa personalizada | custom_validation(SKU) |
Limitaciones actuales
Ten en cuenta las siguientes limitaciones:
- Solo se admiten como destino campos de tipo Número, Texto corto, Texto largo y Fecha.
- Cuando referencias directamente un campo multidioma, la fórmula utiliza el valor de su idioma predeterminado.
- Utiliza Localize(field, 'lang_code') cuando necesites obtener el valor de un idioma específico.
- Los campos de entidades relacionadas solo pueden referenciarse desde Productos, Variantes y Categorías.
- No se pueden referenciar campos de Entidades personalizadas como campos relacionados.
- Las Reglas de negocio inteligentes con IA todavía no están disponibles.
Casos de uso habituales
La acción Reglas de negocio inteligentes puede ser útil cuando necesitas:
- Calcular un precio final a partir de campos numéricos existentes
- Crear un valor de texto combinando varios campos
- Completar un campo automáticamente cuando se cumplan determinadas condiciones
- Crear reglas basadas en fechas mediante campos y funciones de fecha
- Utilizar información de Productos, Variantes o Categorías relacionadas
- Estandarizar cálculos repetitivos en muchos ítems
Buenas prácticas
Antes de ejecutar la acción sobre un conjunto grande de ítems, comprueba que los campos de origen utilizados en la fórmula contienen valores coherentes. Prueba primero la regla con un grupo pequeño para confirmar que la fórmula devuelve el resultado esperado y lo escribe en el campo de destino correcto. Cuando trabajes con campos multidioma, recuerda que se utiliza el idioma predeterminado, salvo que apliques la función Localize.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo