nxar.Aprender
Automations: que el CRM trabaje solo0 de 9 capítulos
  1. 1Qué es una automation
  2. 2Tu primera automation
  3. 3Condiciones
  4. 4Referencias y variables
  5. 5Fórmulas: calcular antes de guardar
  6. 6Frenar un guardado
  7. 7Recorrer registros relacionados
  8. 8Mandar un email
  9. 9Cuando algo no anda: los logs

Casos de uso

  1. ·Un caso crítico arranca en curso
  2. ·Que una oportunidad cerrada no se reabra
  3. ·Completar la cuenta de un caso desde su contacto
  4. ·Avisarle al contacto cuando se cierra su caso

← Volver al recorrido

Capítulo 5 de 9 · 12 min

Fórmulas: calcular antes de guardar

La probabilidad de cada oportunidad se calcula sola según su etapa, con una automation que corre antes de guardar y una fórmula.

Hasta ahora las automations corrieron Después y crearon otros registros. Esta corre Antes: modifica la oportunidad que se está guardando, en el mismo guardado. No hace falta un nodo Actualizar registro: alcanza con asignarle un valor a record.probability, y ese valor se guarda junto con el resto.

La tabla de Lucía:

Etapa (Stage)Probabilidad
Prospecting10
Qualification25
Proposal50
Negotiation75
Won100
Lost0

Se podría armar con una condición de seis ramas y seis nodos. Con una fórmula es un solo nodo.

Creá la automation

ConfiguraciónAutomatizaciónProcesosNuevo

Evento de registro, Label Probabilidad según etapa, Entidad Opportunity. Operación: Crear y Actualizar. Momento: Antes.

Al elegir Antes con Crear, el diálogo avisa que en ese momento el registro todavía no tiene id. No nos afecta: no lo usamos. Nueva automation.

Arrastrá Asignar valor

Del grupo Datos, arrastrá Asignar valor debajo del Trigger. En el inspector:

  • Nombre del nodo: Calcular probabilidad.
  • Modo: Asignar valor.
  • Nombre de la variable: escribí record. y elegí record.probability. Así el destino es un campo de la oportunidad, no una variable del flujo.

Escribí la fórmula

Al lado de Valor, cambiá de Plantilla a Fórmula. El campo se agranda; escribí:

if({{record.stage}} == "Won", 100,
if({{record.stage}} == "Lost", 0,
if({{record.stage}} == "Negotiation", 75,
if({{record.stage}} == "Proposal", 50,
if({{record.stage}} == "Qualification", 25,
10)))))

if(condición, si se cumple, si no) devuelve el segundo valor si la condición se cumple y el tercero si no. Anidados, se leen de arriba hacia abajo: la primera etapa que coincide decide. Si ninguna coincide, queda 10. Los saltos de línea son solo para leerla mejor.

Guardá

Guardar.

Inspector del nodo Calcular probabilidad: Modo Asignar valor, variable record.probability y Valor en modo Fórmula con los if anidados
Plantilla o Fórmula: con Fórmula, el valor se calcula cuando el nodo corre.

Plantilla o Fórmula

  • Plantilla arma un texto: Kickoff: {{record.name}}. Lo que esté entre llaves se reemplaza y el resto queda tal cual.
  • Fórmula calcula: números, comparaciones, funciones. Los datos entran con {{…}} y los textos fijos van entre comillas ("Won").

Lo que más se usa en una fórmula:

ParaSe escribe
Cuentas+ - * / y paréntesis: {{record.amount}} * {{record.probability}} / 100
Comparar==, !=, >, <, >=, <=, y combinar con && (y) o || (o)
Elegirif(condición, a, b); coalesce(a, b) devuelve el primero que no esté vacío
Redondearround(x, decimales), floor(x), ceil(x), abs(x), min(…), max(…)
Textoconcat(a, " ", b), upper(x), lower(x), trim(x), length(x)
Mostrar un númeroformatNumber({{record.amount}}, 0, "es-AR") da 80.000

Tres reglas que evitan sorpresas: + siempre suma números (para unir textos va concat); un valor vacío cuenta como 0 en una cuenta; y dividir por cero es un error.

En una automation Antes, un error corta el guardado. Si la fórmula tiene un paréntesis de menos o divide por cero, nadie puede guardar oportunidades hasta que la corrijas: el mensaje que ven nombra el nodo y el problema. Después de guardar una fórmula nueva, probala enseguida con un registro de prueba.

Con esta automation, la probabilidad deja de ser un dato que se carga a mano: si alguien escribe 90 en una oportunidad en Prospecting, al guardar vuelve a 10. Si el equipo necesita poder corregirla, la regla tiene que ser otra (por ejemplo, calcularla solo al Crear).

Página de la oportunidad Implementación con la etapa Negotiation marcada en la barra de etapas y Probability (%) en 75 en los datos destacados
Nadie cargó la probabilidad: la calculó la automation al guardar.

Cómo saber que te salió

  • Creá Implementación para Lácteos del Sur, amount 30000, stage Prospecting, sin cargar probabilidad. Al abrirla, Probability (%) dice 10.
  • En la barra de etapas, pasala a Negotiation y recargá la página: la probabilidad dice 75. (La barra actualiza la etapa en pantalla; el valor que calculó la automation se ve al recargar.)
  • Con el lápiz de la tarjeta Details, escribí 90 en Probability y hacé clic en Save: vuelve a 75.

¿Llegaste al resultado de arriba?