Ir al contenido

Remember

Muchos nodos (un CRM, el envío de un correo, una llamada HTTP) sustituyen los datos por su propia respuesta: después de ellos ya no tienes el pedido, el lead o la cita con los que estabas trabajando. Dentro de un bucle es peor, porque las referencias a nodos anteriores ({{@Nodo.campo}}) no se resuelven.

El nodo Remember resuelve esto en dos pasos:

  1. Guardar, justo antes del nodo problemático: guarda los datos y los deja pasar sin cambios.
  2. Recuperar, justo después: devuelve lo guardado, unido a la respuesta del nodo o en su lugar.
[Recorrer citas] → [Remember: guardar] → [Enviar correo] → [Remember: recuperar] → [Marcar como enviada]

Cada vuelta del bucle recupera sus datos, nunca los de otra vuelta, y lo guardado es propio de este workflow.

ParámetroTipoRequeridoDescripción
actionselectSísave (guardar; los datos siguen igual) o restore (recuperar)
keytextSíNombre con el que se guarda. Debe ser el mismo en «Guardar» y en «Recuperar» (por defecto recordado). Puedes tener varios nombres a la vez
pathtextNoSolo en «Guardar»: ruta a una parte de los datos que guardar (por ejemplo lead). Vacío = todos los datos
uniqueBytextNoCómo distinguir cada vuelta. Por defecto, el número de vuelta del bucle (o 0 fuera de un bucle). Si prefieres un campo propio, por ejemplo {{clave}}, ponlo igual en «Guardar» y en «Recuperar»; ese dato debe seguir existiendo al recuperar
modeselectNoSolo en «Recuperar». merge (por defecto): une lo guardado a los datos actuales y lo guardado prevalece; replace: los datos pasan a ser exactamente lo guardado; under: deja lo guardado en un campo aparte
outputKeytextNoCon under: nombre del campo (por defecto recordado)
deleteAfterbooleanNoOlvidar lo guardado tras recuperarlo (por defecto sí)
onMissingselectNoSi no hay nada guardado: error (por defecto, detiene la ejecución) o continue (sigue con los datos actuales)

Guardar: los mismos datos que entraron, sin cambios.

Recuperar, con merge y estos datos guardados { "clave": "c1", "nombre": "Ana" } tras un nodo de correo que devolvió { "status": "enviado" }:

{ "status": "enviado", "clave": "c1", "nombre": "Ana" }

Con replace quedaría { "clave": "c1", "nombre": "Ana" }; con under, { "status": "enviado", "recordado": { "clave": "c1", "nombre": "Ana" } }.

La información interna del bucle (_meta_) nunca se guarda: al recuperar se mantiene la de la vuelta actual.

Recordar una cita antes de enviar el correo de aviso

Sección titulada «Recordar una cita antes de enviar el correo de aviso»
{ "label": "Recordar la cita", "action": "save", "key": "cita" }
{ "label": "Recuperar la cita", "action": "restore", "key": "cita", "mode": "replace" }

Después, un nodo de datos puede guardar la fila de la cita con los campos originales.

{ "label": "Recuperar el lead", "action": "restore", "key": "lead", "mode": "merge" }

Los campos del lead vuelven y el id que devolvió el CRM sigue disponible. Combínalo con un nodo Validador que exija id y detenga el flujo si falta.

  • Lo guardado vive en la memoria del workflow y se borra al recuperarlo. Si la ejecución se interrumpe entre «Guardar» y «Recuperar», puede quedar un dato suelto hasta la limpieza de memoria.
  • Si los datos de entrada son una lista y usas merge, el resultado es la lista guardada.
  • No sustituye a un almacén de datos: sirve para recordar algo durante una ejecución, no entre ejecuciones.
  • setVariable / getVariable (Variables - para valores sueltos que se reutilizan en todo el workflow)
  • validate (Validador - para comprobar lo recuperado)
  • iterator (Iterator - para recorrer listas)