Cuando una transacción pasa a la etapa de bot, el bot completará automáticamente el campo según los resultados del cálculo.
Configurar un bot en un embudo:
Seleccione la etapa donde funcionará el bot y haga clic en + Agregar activador.
En la lista, seleccione Salesbot → configure las condiciones → haga clic en + Agregar nuevo bot.
En la configuración del bot, vaya a la sección Widgets → seleccione Fórmula.
Haga clic en el icono del lápiz.
Seleccione el campo en el que se escribirá el resultado.
Ingrese la fórmula. Ejemplo: cliente potencial['Precio del producto'] - cliente potencial['Costo del producto']
Agregue varias fórmulas si es necesario → repita los pasos.
Si es necesario, agregue los siguientes pasos y finalice el bot. A continuación, guarde la configuración del bot y del embudo.
Fórmulas en tiempo real
Las fórmulas en tiempo real se configuran en la configuración general del widget "Fórmulas" (no en Salesbot).
Abra la configuración general del widget Fórmulas.
Haga clic en Agregar.
Ingrese/seleccione el campo donde registrar el resultado.
Ingrese la fórmula.
Guarde su configuración.
Cómo funciona en el frente:
Después de abrir una tarjeta de transacción, las fórmulas se ejecutan automáticamente.
Cuando cambia los valores de los campos en una tarjeta, las fórmulas se recalculan automáticamente.
El resultado se registra inmediatamente en los campos seleccionados en la misma tarjeta.
El recálculo se realiza con un ligero retraso para evitar recálculos innecesarios al ingresar.
⚡Las fórmulas en tiempo real son adecuadas para cálculos en línea en la tarjeta de transacciones: margen, descuentos, bonificaciones, costos, ganancias planificadas y otros indicadores derivados.
Operaciones matemáticas
Puedes utilizar cualquier operación matemática en las fórmulas:
adición (+)
resta (-)
multiplicación (*)
división (/)
La fórmula no se limita a dos variables. Puede utilizar cualquier número de campos y valores necesarios para calcular el resultado.
Valores constantes
Si necesita utilizar un valor constante en fórmulas, puede configurarlo mediante un activador:
Vaya al bot de fórmula.
Haga clic en Establecer variables.
3. Cree una nueva variable, especificando:
Nombre (solo letras latinas).
Valor (número o texto).
Importante al trabajar con variables:
Si la variable no es un número, conviértala a un tipo numérico:
chislo(lead['Название поля с типом текст'])
Si la variable no es texto, conviértala a un tipo de texto:
text(lead['Название поля с типом число'])
Esto es necesario para que las fórmulas funcionen correctamente y evitar errores en los cálculos.
Después de esto, la variable se puede utilizar en fórmulas junto con los campos de Kommo.
Consejos en fórmulas
En el campo de entrada de fórmula, hay información sobre herramientas disponible con los nombres de los campos que se pueden utilizar en los cálculos.
Para mostrar información sobre herramientas, ingrese el símbolo "[". Después de esto, aparecerá una lista desplegable de campos disponibles.
Trabajo correcto con números.
A veces, Kommo trata los valores como texto, lo que da como resultado un "pegamento" en lugar de una suma (por ejemplo: 10+14+5 = 10145).
Para evitar esto, cada valor debe estar envuelto en parseInt().
Ejemplo:
parseInt(lead['Сумма в договоре']) - parseInt(lead['Бюджет'])
Condiciones lógicas
Crear condiciones lógicas (if-else en una línea)
Ejemplo:
lead['поле1'] == 'успех' ? 'да' : 'нет'
Aquí:
si campo1 = "éxito" → resultado "sí"
de lo contrario → resultado "no"
Se admiten varios operadores de comparación:
>= - mayor o igual a
<= - menor o igual
> - más
< - menos
!== - no igual
Ejemplo con condiciones:
lead['Расстояние до заказчика (в км)'] <= '50' ? '300р.' : '250р.'
Puede verificar los valores de los campos y devolver resultados diferentes.
Condiciones anidadas
Este ejemplo muestra una condición anidada (operador ternario): cuando se utiliza otra condición dentro de una condición.
🔹 Análisis de la fórmula:
lead['Расстояние до заказчика (в км)'] <= '10' ? '300р.' : (lead['Расстояние до заказчика (в км)'] <= '30' ? '1000' : '2000')
Se comprueba la condición: si la distancia es ≤ 10 km → el resultado es “300 rub”.
Si no se cumple la primera condición, se comprueba la segunda: si la distancia es ≤ 30 km → resultado “1000”.
Si no se cumplen ambas condiciones: resultado predeterminado → “2000”.
Esencialmente, esto es un análogo de "si - de lo contrario, si - de lo contrario":
Hasta 10 km → 300 frotar.
De 11 a 30 km → 1000
Más de 30 km → 2000
Limitación de decimales
A veces, el resultado de los cálculos puede ser un número con una gran cantidad de decimales. Para limitar su número, utilice la función .toFixed(x), donde:
x es el número de decimales que deben permanecer.
Ejemplo:
(lead['Сумма'] / lead['Количество']).toFixed(2)
Si suma = 105, cantidad = 7, entonces el resultado será 15,00 (2 decimales).
Claves de campo
Transacciones (cliente potencial):
cliente potencial['ID'] - ID de la oferta
plomo['Título'] — Nombre comercial
plomo['Presupuesto'] — Presupuesto
lead['status_id'] - ID de estado
lead['pipeline_id'] - ID del embudo
lead['status_name'] — Nombre del estado
lead['pipeline_name'] — Nombre del embudo
líder['Responsable'] - nombre completo de la persona responsable
lead['Field'] — Campo de transacción adicional
Contacto:
contacto['ID'] — ID de contacto
contacto['Nombre'] — nombre del contacto
contacto['Nombre'] — Nombre
contacto['Apellido'] — Apellido
contacto['Responsable'] - nombre completo de la persona responsable
contact['Field'] — Campo de contacto adicional
Empresa:
empresa['ID'] - ID de la empresa
empresa['Nombre'] — Nombre de la empresa
empresa['Responsable'] - nombre completo de la persona responsable
empresa['Field'] — Campo de empresa adicional
Última factura:
last_invoice['Estado'] — Estado
last_invoice['Legal. cara'] - Jur. rostro
last_invoice['Pagador'] — Pagador
last_invoice['tipo de IVA'] — tipo de IVA
last_invoice['Fecha de pago'] — Fecha de pago
last_invoice['Elementos de factura'] — Elementos de factura
last_invoice['Artículos de factura']?.length — Número de artículos
last_invoice['Motivo de la falta del IVA'] — Motivo de la falta del IVA
last_invoice['Proveedor'] — Proveedor
last_invoice['Sistema tributario'] — Sistema tributario
last_invoice['Enlace al trato'] - Enlace al trato
last_invoice['Enlace de pago cifrado'] — Enlace de pago cifrado
Fórmulas de transacciones relacionadas
Para trabajar con ofertas relacionadas, puede utilizar las matrices lead['contact_leads'] (ofertas de contacto) y lead['company_leads'] (ofertas de empresa).
ℹ️Si necesita contar por empresa, reemplace cliente potencial['contact_leads'] por cliente potencial['company_leads']. En el ejemplo con estado 123123, especifique el ID del estado deseado de su embudo.
Notas
Las variables disponibles en las fórmulas son lead['notes'] (una matriz de todas las notas de transacción) y lead['last_note_text'] (el texto de la última nota).
Ejemplos:
Texto de la última nota:
lead['last_note_text']
Duración de la última llamada entrante (en segundos):
El widget proporciona funciones para vincular automáticamente contactos y empresas a acuerdos:
Vincular contactos
Adjuntar contacto por teléfono: buscar un contacto por número de teléfono
Adjuntar contacto por correo electrónico: buscar un contacto por dirección de correo electrónico
Adjuntar un contacto por campo personalizado: busque un contacto por cualquier campo personalizado (por ejemplo, TIN, ID interno, etc.)
Vinculando empresas
Adjuntar una empresa por campo personalizado: busque una empresa por cualquier campo personalizado (por ejemplo, TIN, ID interno, etc.)
Con estas funciones, puede buscar y adjuntar automáticamente contactos/empresas a acuerdos, o crear nuevos si no los encuentra. Puedes configurar esto usando Salesbot.
Configurar el enlace por teléfono o correo electrónico
En la selección de campos, busque la sección Funciones:
En la fórmula, debe ingresar un campo desde el cual debe tomar el teléfono o el correo electrónico para crear un contacto:
Configurar el enlace usando un campo personalizado
Para vincular un contacto o empresa mediante un campo personalizado, seleccione el campo deseado de la lista de campos disponibles en la interfaz del widget.
Ejemplo 1: Vincular un contacto usando el campo TIN:
Seleccione "Opciones" → "Adjuntar un contacto usando un campo personalizado" → seleccione el campo "TIN" de la lista
En la fórmula, indique el campo de transacción del cual tomar el valor TIN: devolver cliente potencial["TIN"]
Ejemplo 2: Vincule una empresa utilizando el campo "ID interno":
Seleccione "Opciones" → "Adjuntar empresa por campo personalizado" → seleccione el campo "ID interno" de la lista
En la fórmula, indique el campo de transacción de donde obtener el ID: return lead["ID interno"]
Si no se encuentra un contacto o empresa con el valor del campo especificado, el sistema creará automáticamente una nueva entidad con este valor y la vinculará al trato.
Conversión de moneda
La función convertCurrency() está disponible en fórmulas para la conversión automática de moneda a los tipos de cambio oficiales del Banco Central de la Federación de Rusia.
Formato de función:await convertCurrency(monto, "moneda_fuente", "moneda_destino")
Medio Oriente: AED (Dirham de los Emiratos Árabes Unidos), SAR (Riyal saudí), QAR (Rial de Qatar), OMR (Rial omaní), BHD (Dinar de Bahréin), EGP (Libra egipcia), IRR (Rial iraní)
Y otros: DZD, MNT, BOB, CUP, NGN, ETB, XDR
Ejemplos de uso
Ejemplo 1: Convertir 100 dólares a rublos
awaitconvertCurrency(100, "USD", "RUB")
Ejemplo 2: Convertir el presupuesto de la transacción de dólares a euros