> ## Documentation Index
> Fetch the complete documentation index at: https://omniloy.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Protocolos y flujos

> Qué es un protocolo, sus versiones y el flujo conversacional que sigue el agente

Un **protocolo** define el comportamiento del agente en una llamada: qué cuestionario aplica y cómo conduce la conversación. Es la unidad central de OlivIA, tanto para seguimiento (saliente) como para triaje (entrante).

## Versiones y publicación

Un protocolo tiene **versiones**, con un ciclo de vida: `draft → in_review → active → superseded/discarded`. Solo una versión está **activa** a la vez; las llamadas usan siempre la versión activa. Antes de activarse, cada versión pasa por una **validación de publicación** que comprueba la coherencia del flujo (destinos existentes, sin ciclos, ramas de decisión con salida garantizada, bandas de score válidas, etc.).

Una versión contiene: preguntas, frases de flujo, webhooks de flujo y nodos de decisión, más catálogos a nivel de versión (variables personalizadas, bandas de score, reglas de alerta, guardrails, frases de sistema y configuración de programación).

## El flujo como grafo de nodos

<img src="https://mintcdn.com/omniloy/Q9jZm4-SeFtgd8-M/images/olivia/builder-canvas.png?fit=max&auto=format&n=Q9jZm4-SeFtgd8-M&q=85&s=84bd1aa476630972b549dc0d7c9a4a4a" alt="Constructor de protocolos: canvas del flujo" width="1687" height="1080" data-path="images/olivia/builder-canvas.png" />

El flujo se modela como un grafo de nodos conectados. Tipos de nodo:

| Nodo                 | Qué hace                                           | ¿Habla? |
| -------------------- | -------------------------------------------------- | ------- |
| **Pregunta**         | Formula una pregunta y captura/valida la respuesta | Sí      |
| **Frase**            | Dice un mensaje al paciente                        | Sí      |
| **Nodo de decisión** | Enruta el flujo según reglas, sin hablar           | No      |
| **Webhook**          | Llama a un sistema externo a mitad de la llamada   | No      |
| **Inicio / Fin**     | Puntos de entrada y cierre del flujo               | —       |

El recorrido se gobierna por el orden de los nodos y por [reglas condicionales](/olivia/es/reglas) que deciden, en cada paso, qué sigue.

```mermaid theme={null}
flowchart TD
  Start([Inicio]) --> Q1[Pregunta]
  Q1 --> D{Nodo de decisión}
  D -->|riesgo alto| F1[Frase]
  D -->|normal| Q2[Pregunta de seguimiento]
  F1 --> U([No resuelto])
  Q2 --> End([Fin])
```

## Límites clave

| Límite                       | Valor                          |
| ---------------------------- | ------------------------------ |
| Preguntas por protocolo      | 30                             |
| Opciones por pregunta        | 10 (opción múltiple: mínimo 2) |
| Reglas por nodo              | 10                             |
| Profundidad de condiciones   | 50                             |
| Longitud de texto libre      | 2000 caracteres                |
| Banderas rojas por versión   | 10                             |
| Reglas de alerta por versión | 10                             |

## En esta sección

* [Preguntas y validación](/olivia/es/preguntas)
* [Reglas condicionales y variables](/olivia/es/reglas)
* [Nodos de decisión](/olivia/es/decisiones)
* [Frases](/olivia/es/frases)
* [Guardrails y banderas rojas](/olivia/es/guardrails)
