Mejora la calidad de tus automatizaciones con expresiones de sistema y JavaScript: valida el contenido, clasifica la prioridad y devuelve una respuesta estructurada por webhook con trazabilidad. Verás cómo combinar el nodo IF, funciones como length e includes, la condición ternaria y campos del workflow para un flujo más dinámico y claro.
¿Cómo validar mensaje y longitud con JavaScript en el nodo IF?
Para evitar respuestas pobres, se comprueba que el mensaje no esté vacío y que tenga al menos 10 caracteres. Se elige la condición Y en el nodo IF y se aplica la función de JavaScript para medir la longitud con autocompletado al pulsar el punto.
Activa la condición Y: mensaje no vacío y longitud mínima.
Usa la función: mensaje.length para contar caracteres.
Compara como número: mayor que 10.
Ejecuta y verifica que la condición se cumple.
Ejemplo de lógica en la condición:
mensaje !==''&& mensaje.length>10
Así te aseguras de filtrar mensajes demasiado cortos antes de seguir.
¿Cómo detectar y asignar prioridad con condición ternaria?
En Edit Fields, añade el campo Prioridad como expresión. Inserta el mensaje y aplica includes para detectar si contiene la palabra “urgente”. Luego usa la condición ternaria para etiquetar: alta o normal.
Convierte el campo a expresión con “=”.
Inserta el mensaje y aplica includes: busca “urgente”.
Devuelve “alta” o “normal” con la ternaria.
Ejemplo:
mensaje.includes('urgente')?'alta':'normal'
Si el texto no contiene “urgente”, la prioridad resultará normal.
¿Cómo enriquecer la respuesta con fecha, flujo y ejecución para el webhook?
Suma contexto a la respuesta agregando Fecha, Flujo y Ejecución_id. Trabaja con expresiones del sistema y devuelve un objeto claro. Esto aporta trazabilidad y mejora la lectura.
¿Cómo generar la fecha con NOW y formato ISO?
Crea el campo Fecha como texto y usa la variable de sistema NOW. Dale un formato legible con toISO.
Escribe “=” y abre llaves para activar la expresión.
Inserta NOW y convierte con toISO.
Ejemplo:
{{ $now.toISO()}}
Obtendrás la fecha actual en formato estándar, fácil de interpretar.
¿Cómo identificar workflow y execution id en la respuesta?
Añade el nombre del workflow y el identificador de ejecución. Cuando se ejecute, el id aparecerá automáticamente.
Campo Flujo: toma el nombre del workflow.
Campo ejecución_id: usa execution.id y define el tipo correcto.
Ejemplos:
{{ $workflow.name}}{{ $execution.id}}
Si ves que ejecución_id sale como texto, cambia a número para mantener consistencia.
¿Cómo construir el cuerpo JSON y probar con pin?
Puedes mapear manualmente o devolver todo con JSON desde el nodo anterior. Si no dominas JavaScript, arrastra campo por campo y previsualiza.
Construye el objeto con: mensaje, prioridad, fecha, flujo, ejecución_id.
Alternativa avanzada: devolver el JSON completo del nodo anterior.
Usa botón derecho: pin para congelar datos y probar sin reenviar.
Luego unpin para volver a datos en vivo.
Activa Execute workflow para escuchar en modo test.
Observa que ejecución_id se incrementa en cada petición.
Maneja errores: indica cuando el mensaje está vacío o demasiado corto.
Ejemplo de respuesta estructurada para el webhook:
{"mensaje":"Crear tarea en proyecto del backend","prioridad":"normal","fecha":"2024-01-01T12:00:00.000Z","flujo":"NombreDelWorkflow","ejecucion_id":270}
Puntos clave que aplicarás de inmediato:
Expresiones de sistema para enriquecer datos.
Funciones de JavaScript: length, includes, toISO.
Condición ternaria para clasificar prioridad.
Campos de contexto: workflow.name y execution.id.
Buenas prácticas: prueba con pin/unpin, ajusta tipos y valida entradas.
¿Te gustaría compartir cómo etiquetas la prioridad o qué campos extra añadirías a tu respuesta por webhook?