Expert workflow: variables, accumulators, and flow control

In this article, you will learn how to use custom variables within Omniwallet workflows.

Esto os servirá para: 

  • Guardar información temporal

  • Acumular valores

  • Controlar cuándo y cuántas veces se ejecuta una acción

  • Evitar duplicidades y efectos no deseados

Este tipo de workflow es clave cuando trabajas con:

  • Listas de productos

  • Reglas complejas

  • Condiciones múltiples

  • Bonificaciones que solo deben aplicarse una vez

Qué son las variables en un workflow

Una variable es un valor temporal que se crea y se utiliza solo durante la ejecución del workflow.

Sirve para:

  • Guardar resultados intermedios

  • Marcar estados (true / false)

  • Acumular importes o cantidades

  • Tomar decisiones al final del flujo

Las variables no se guardan en el perfil del cliente.
Existen únicamente mientras el workflow se está ejecutando.

Tipos habituales de variables

En Omniwallet puedes usar variables para almacenar:

  • Números (importe, cantidad, contadores)

  • Booleanos (true / false)

  • Texto

  • Listas

Caso 1 – Variable booleana (detectar una condición)

Objetivo

Detectar si una compra contiene al menos un producto de una categoría concreta y actuar una sola vez.

Por qué es necesario

Si recorres una lista de productos y aplicas acciones dentro del bucle, corres el riesgo de ejecutar la acción varias veces.

Paso a paso

1. Crear la variable

  • Nombre: categoria_detectada

  • Tipo: Boolean

  • Valor inicial: false

2. Bucle sobre productos

  • Paso: Para cada elemento en lista

  • Lista: items

3. Condición dentro del bucle

  • Si item.category contiene Premium

👉 En la rama Verdadero:

  • Acción: Asignar variable

  • categoria_detectada = true

4. Salir del bucle

Aunque el bucle continúe, la variable ya queda marcada.

5. Acción fuera del bucle

Añade una Condición:

  • Si categoria_detectada = true

👉 Acción:

  • Multiplicar puntos (una sola vez)

Caso 2 – Variable acumuladora (sumar valores)

Objetivo

Sumar el importe de ciertos productos y decidir una acción según el total.

Ejemplo

Si el importe total de productos “Electronics” supera 200 €, aplicar un bonus.

Paso a paso

1. Crear variable

  • Nombre: importe_electronics

  • Tipo: Número

  • Valor inicial: 0

2. Bucle sobre productos

  • Lista: items

3. Condición por categoría

  • Si item.category contiene Electronics

👉 En Verdadero:

  • Acción: Calcular

  • importe_electronics = importe_electronics + (item.price * item.quantity)

4. Condición final

Fuera del bucle:

  • Si importe_electronics ≥ 200

👉 Acción:

  • Añadir puntos fijos

  • O multiplicar puntos

Caso 3 – Control de ejecución (una sola vez)

Problema habitual

Un workflow complejo puede ejecutar una acción más de una vez sin que lo notes.

Solución

Usar una variable de control.

Ejemplo

  • Variable: bonus_aplicado

  • Inicial: false

Antes de aplicar cualquier bonus:

  • Condición: bonus_aplicado = false

Después de aplicar el bonus:

  • Asignar bonus_aplicado = true

Esto garantiza que:

  • La acción solo se ejecuta una vez

  • El workflow es seguro y predecible

Control de flujo avanzado

Las variables permiten:

  • Simular estructuras tipo if / else if

  • Crear reglas escalonadas complejas

  • Priorizar condiciones

  • Romper flujos lógicos

Ejemplo típico:

  • Si condición A → acción A

  • Si no, y condición B → acción B

  • Si no, no hacer nada

Todo controlado con variables y orden.

Errores comunes

❌ No inicializar variables
❌ Usar la variable fuera de su contexto
❌ Modificar variables dentro de bucles sin control
❌ Olvidar el estado final

Buenas prácticas

✔ Nombres claros para las variables
✔ Inicializar siempre
✔ Aplicar acciones fuera de bucles
✔ Testear con datos complejos
✔ Documentar el propósito de cada variable

Cuándo usar variables (regla de oro)

Usa variables cuando:

  • Hay bucles

  • Hay acumulaciones

  • Hay más de una condición

  • Hay riesgo de duplicidades

  • La lógica ya no cabe en un “if simple”

Was this article helpful?

Frequently Asked Questions

Find answers to the most common questions about this topic

The variables in an Omniwallet workflow are temporary values used during the execution of the flow. They serve to store intermediate results, mark states, and accumulate amounts.
To avoid the duplicate execution of actions, you can use a control variable that checks if the action has already been executed. This ensures that the action is executed only once.
You should use variables in your workflows when working with loops, accumulations, multiple conditions, or when there is a risk of duplications. This helps manage the logic more effectively.
Common errors include not initializing variables, using them outside of their context, and modifying variables within loops uncontrollably. It is important to follow best practices to avoid these issues.

Loyalty Master

Tu asistente experto en fidelización

¡Hola! Soy Loyalty Master, tu asistente experto en programas de fidelización.

Puedo ayudarte con:

  • Dudas sobre Omniwallet y sus funcionalidades
  • Configuración de tu programa de puntos
  • Estrategias de fidelización
  • Integraciones y aspectos técnicos

¿En qué puedo ayudarte hoy?

🇬🇧 View in English?