Explicación

Usar variables en las automatizaciones

Inserta datos como el nombre del cliente, la hora de la cita o la dirección del salón en los pasos de una automatización, y dales formato con funciones auxiliares.

5 min de lecturaRol: Super administrador o superiorAutomatizacionesActualizado el 25 de octubre de 2026

Las variables rellenan datos reales cuando se ejecuta una automatización, como el nombre del cliente o la hora de inicio de la cita. Puedes usarlas en cualquier campo de texto de un paso: destinatarios, asuntos, contenido del mensaje, condiciones, URL y cuerpos de las peticiones.

Una variable es una expresión entre dobles llaves, como {{ $event.data.object.client.firstName }}. Cuando la ejecución llega al paso, Softalon la sustituye por el valor. Todo lo que va dentro de las llaves funciona como un pequeño fragmento de JavaScript.

Insertar una variable

Haz clic en Insertar variable junto a un campo. Se abre el cuadro de diálogo Seleccionar variable con las Variables sugeridas para ese campo. Haz clic en Ver todas las variables para explorarlas todas, o busca por nombre. Elige un grupo para profundizar y después elige un valor.

En campos como Destinatario, el cuadro de diálogo solo muestra los valores que encajan, por ejemplo direcciones de correo electrónico para un correo.

Debajo del texto, una Vista previa muestra cómo queda el mensaje con valores de ejemplo.

Grupos de variables

Lo que puedes elegir depende del disparador y del paso anterior al actual.

GrupoQué contieneEjemplo
EventoLos datos del evento que inició la ejecución: su tipo, cuándo ocurrió y sus datos.{{ $event.timestamp }}
El registro del disparador, por ejemplo Cita o ClienteEl registro al que se refiere el evento, con sus registros relacionados.{{ $event.data.object.status }}
El registro anterior, por ejemplo Cita (anterior)Los valores antes del cambio, en los disparadores de actualización.{{ $event.data.previousAttributes.status }}
Nodo anteriorEl resultado del último paso que envió algo o llamó a otro sistema.{{ $previousNode.sent }}
SolicitudLa petición que inició una automatización Webhook.{{ $request.body.phoneNumber }}
OtrosLos datos de tu salón: Salón, Zona horaria, Inicio de la semana, Formato de hora, Formato de fecha, Datos de contacto y Redes sociales.{{ $salon.name }}

Otros está disponible en todas las automatizaciones. Evento y los grupos de registros no están disponibles en las automatizaciones Webhook y Manual, porque ningún evento las inicia.

Registros relacionados

En un disparador de cita, la cita incluye su Cliente, su Miembro, su Servicio y su Ubicación. Por ejemplo:

  • {{ $event.data.object.client.firstName }}: el nombre del cliente
  • {{ $event.data.object.member.firstName }}: el nombre del miembro del equipo
  • {{ $event.data.object.service.name }}: el nombre del servicio

Softalon carga los registros relacionados, como el cliente o el servicio, cuando un paso los usa como variable simple, por ejemplo {{ $event.data.object.client.emailAddress }}. Si solo usas un registro relacionado dentro de una función o una comparación, úsalo también como variable simple en algún lugar de la automatización. Si no, sus valores pueden salir vacíos.

Valores anteriores

En los disparadores Actualizada o Actualizado y en otros disparadores que reaccionan a un cambio, $event.data.previousAttributes contiene los valores antiguos de los campos que cambiaron. Los campos que no cambiaron no están incluidos. Por ejemplo, en Reprogramada, {{ $event.data.previousAttributes.startAt }} es la hora de inicio anterior.

Dar formato a fechas, importes y direcciones

Las variables de fecha, importe y ubicación ofrecen versiones con formato en el selector. También puedes escribirlas tú mismo:

Función auxiliarQué devuelveEjemplo
FechaLa fecha en el formato de fecha de tu salón.{{ date($event.data.object.startAt) }}
HoraLa hora en el formato de 12 o 24 horas de tu salón.{{ time($event.data.object.startAt) }}
Fecha y horaAmbas.{{ datetime($event.data.object.startAt) }}
AñoSolo el año.{{ year($event.data.object.startAt) }}
Moneda FormateadoUn importe en el formato de moneda de tu salón.{{ currency($event.data.object.total) }}
Duración FormateadoUn número de minutos como una duración legible.{{ duration(90) }}
DirecciónLa dirección de una ubicación en una sola línea.{{ address($event.data.object.location) }}
Enlace de indicacionesUn enlace de Google Maps a una ubicación.{{ directionsLink($event.data.object.location) }}

Las fechas y las horas usan la zona horaria de tu salón. En un mensaje al cliente del disparador que reservó desde otra zona horaria, usan la zona horaria del cliente.

Enlaces de acción

actionLink crea un enlace corto que permite a un cliente actuar sobre una cita o una factura sin iniciar sesión. Pasa el ID del registro y la acción:

  • {{ actionLink($event.data.object.id, "confirm") }}
  • {{ actionLink($event.data.object.id, "reschedule") }}
  • {{ actionLink($event.data.object.id, "cancel") }}
  • {{ actionLink($event.data.object.id, "review") }}

Consulta Enviar al cliente un enlace para confirmar, reprogramar o dejar una reseña para saber qué hace cada enlace.

Expresiones

Como el interior de las llaves es JavaScript, puedes hacer pequeñas transformaciones, como {{ $event.data.object.client.firstName.toUpperCase() }} o {{ $event.data.object.notes || "No notes" }}.

Por seguridad, cierto código no está permitido, como definir funciones, asignar valores o acceder a objetos del sistema. Si lo usas, la automatización no se puede guardar.

Si una expresión falla cuando se ejecuta la automatización, se sustituye por texto vacío y la ejecución continúa.

Preguntas frecuentes

Puede que el registro no tenga ese valor, como un cliente sin apellido. Comprueba también que los registros relacionados se usen como variable simple en algún lugar de la automatización.