Skip to main content
Un nodo de decisión es un nodo interno que no habla: no formula preguntas ni dice frases. Su única función es enrutar el flujo evaluando un conjunto de reglas condicionales. Es donde se concentra la lógica de ramificación que cruza varias respuestas o variables. Nodo de decisión

Cómo se evalúan las reglas

  • La primera que coincide gana (first-match-wins): las reglas se evalúan en orden y se toma la primera cuya condición se cumple.
  • Rama por defecto obligatoria: la última regla debe ser always. Así el nodo siempre tiene una salida garantizada; si falta, la publicación del protocolo falla.
  • Un nodo de decisión no tiene “valor propio”, así que cada regla que no sea always debe indicar explícitamente qué variable evalúa.

A dónde dirige una regla

Cada regla apunta a una de estas dos cosas:
  • Otro nodo del flujo (una pregunta, una frase, un webhook u otro nodo de decisión), o
  • Una acción terminal, que cierra el run:
    • end_protocol_run — finaliza el cuestionario.
    • mark_unresolved — finaliza marcándolo como no resuelto.
En el constructor, las acciones terminales aparecen como nodos de fin diferenciados (Fin y No resuelto).

Cuándo usarlos

Usa un nodo de decisión cuando la ramificación dependa de algo más que la respuesta inmediata: combinar varias respuestas, comparar contra una variable, o reaccionar al resultado de un webhook.