Ir al contenido

Variables

Una variable es un recipiente con nombre donde guardas un dato para usarlo más adelante. Son el mecanismo con el que la información viaja entre actividades: una actividad guarda su resultado en una variable, y otra actividad lo lee desde ahí.

Sin variables, cada actividad estaría aislada. Con variables, puedes leer un correo, extraer su asunto, transformarlo y escribirlo en un Excel — encadenando el dato de un paso al siguiente.

panel de variables en la parte inferior, con varias variables, su tipo y valor inicial.

Las variables se gestionan en el panel inferior del Designer. Cada variable tiene:

  • Nombre — cómo la referencias en las expresiones.
  • Tipo — qué clase de dato contiene (texto, número, tabla…). Ver Tipos de datos.
  • Valor inicial (opcional) — con qué valor arranca antes de que cualquier actividad la modifique.
  1. En el panel de variables, haz clic en + Nueva variable.
  2. Escribe un nombre (ver reglas abajo).
  3. Elige el tipo de dato.
  4. Opcionalmente, asigna un valor inicial.

fila de creación de variable con nombre, selector de tipo y valor inicial.

ReglaBienMal
Sin espaciosnumeroFacturanumero factura
Sin acentos ni símbolosclienteIdclienteId#
Empieza con letra o _total, _temp1total
Distingue mayúsculastotalTotal

La mayoría de las actividades que producen un dato tienen un campo Salida (output) en el panel de propiedades. Ahí escribes el nombre de la variable donde quieres guardar el resultado. Si la variable no existe, se crea con el tipo correcto.

Ejemplo: una actividad HTTP GET con Output = respuesta guarda su resultado en respuesta. En las actividades siguientes puedes leer:

= respuesta.StatusCode // 200
= respuesta.Ok // true
= respuesta.Body // cuerpo de la respuesta

panel de propiedades de HTTP GET con el campo Output resaltado.

En cualquier campo de parámetro, escribe una expresión (empezando con =) que referencie la variable:

= correo.Subject
= "Hola " + nombreCliente
= total > 1000

Recuerda: un campo que no empieza con = se trata como texto literal. Para leer una variable, siempre necesitas el =.

Algunas actividades crean variables automáticamente. La más común es For Each: recorre una colección y, en cada vuelta, pone el elemento actual en una variable que tú nombras (el iterador).

For Each collection = correos iterator = correo
└─ body:
Log message = = "Procesando: " + correo.Subject

Aquí correo existe solo dentro del bucle, y cambia en cada vuelta. No necesitas declararlo en el panel: lo crea el For Each.

  • Las variables que declaras pertenecen al playbook donde las creaste.
  • Si invocas otro playbook con Invoke Playbook, no comparten variables automáticamente. En su lugar:
    • Le pasas datos como inputs (entradas).
    • Recibes datos como outputs (salidas).

Esto mantiene cada playbook aislado y reutilizable: un sub-playbook no puede “ensuciar” por accidente las variables del que lo llamó.

main:
Invoke Playbook playbook = procesar-factura
inputs = { factura: = facturaActual }
output = resultado
Necesito…Cómo
Un contadorVariable int con valor inicial 0; en cada vuelta, Set Variable = contador + 1
Acumular en una listaVariable List; usa List Add o = listAdd(items, valor)
Una bandera (sí/no)Variable boolean con valor inicial false; la pones en true cuando ocurre algo
Construir un textoVariable string; concaténale con = texto + "linea\n" (o concatenando partes)

Además de tus variables, cada ejecución expone un conjunto de variables del sistema de solo lectura con información del proceso en curso. No las declaras —ya están disponibles— y las lees en cualquier expresión anteponiendo $:

VariableContiene
$system_execution_idEl identificador de esta ejecución (el mismo que ves en Nexus).
$system_process_nameEl nombre del proceso que se está ejecutando.
$system_process_versionLa versión del proceso/paquete publicado.
$system_process_idEl identificador del proceso.
$system_environment_idEl identificador del entorno donde se ejecuta.
$system_entryEl playbook de entrada (el que arranca la ejecución).

Por ejemplo, para registrar en un log qué proceso y ejecución generaron un dato:

Log message = = "Procesado por " + $system_process_name + " v" + $system_process_version + " (exec " + $system_execution_id + ")"
SíntomaCausaSolución
Variable no declaradaUsaste una variable que no existe en el panelDecláralo, o revisa que el nombre coincida exactamente
Una expresión devuelve nuloError de tipeo en el nombre (mayúsculas/minúsculas)Total y total son distintas — verifica el nombre exacto
El valor “no se guarda” entre actividadesEsperabas que se guardara pero la actividad no tenía campo Output configuradoAsegúrate de poner un nombre en el campo Salida
Campo guarda el nombre literal en vez del valorOlvidaste el = al inicioAntepón = para leer la variable
  • Tipos de datos — qué puedes hacer con cada tipo de variable.
  • Expresiones — leer y transformar variables.
  • Depuración — inspeccionar los valores de tus variables al ejecutar.