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

# Referencia de nodos de Flow

> Cada tipo de nodo del flow builder, con sus campos y su comportamiento

Esta es la referencia detallada de campos del generador de Flow: cada tipo de nodo, sus campos y cómo se comporta durante una llamada. Para entender qué es un flow y cómo funcionan los bordes y las etiquetas, empieza por la [descripción general del generador de Flow](/es/flow-builder/overview).

## Start

Punto de entrada de cualquier flow. Define el **greeting** y el **greeting mode**:

* `agent speaks first`: el saludo se dice en cuanto se conecta la llamada (lo habitual en entrantes).
* `user speaks first`: el asistente espera a que hable quien llama (lo habitual en salientes: la persona que contesta dice "¿Hola?" primero).

## Agent

Un agente conversacional con su propio **name**, sus propias **instructions** y un **voice override** opcional. La conversación se queda con este agente hasta que hace un handoff por uno de sus bordes de salida.

* Cada borde de salida representa un posible traspaso; el asistente usa su etiqueta para decidir. Consulta [por qué importan las etiquetas](/es/flow-builder/overview#por-qué-importan-las-etiquetas-de-borde-y-de-agente).
* Si dejas las instrucciones vacías, se usa el prompt del sistema del asistente (Advanced prompt) como base: el texto del nodo se **añade**, no lo sustituye.
* La voz alternativa permite que cada agente hable con una voz distinta.

## Condition

Un punto de decisión forzada. Escribes una **description** de qué se está decidiendo; el asistente tiene que elegir exactamente un borde de salida según sus etiquetas. Úsala cuando el enrutamiento tenga que resolverse de inmediato.

## Tool

Ejecuta una **herramienta de API o integrada** reutilizable durante la conversación y devuelve el resultado al asistente. Configura su endpoint, credenciales, descripción y comportamiento reutilizable en **Tools**.

| Campo                         | Para qué sirve                                               |
| ----------------------------- | ------------------------------------------------------------ |
| **Name and description**      | Cómo entiende el asistente qué hace la herramienta           |
| **URL, method, and headers**  | La solicitud HTTP (GET/POST/PUT/PATCH/DELETE)                |
| **Parameter schema**          | JSON Schema de los valores que debe recopilar el asistente   |
| **Timeout**                   | Cuánto tiempo esperar la respuesta                           |
| **Announcement**              | Qué se dice al iniciar la herramienta                        |
| **Run asynchronously**        | Continuar la conversación mientras se ejecuta la herramienta |
| **Filler phrases and timing** | Frases rotativas durante esperas largas                      |

<Tip>
  Para webhooks de ejecución larga, como escrituras en el CRM o comprobaciones de disponibilidad, activa **Run asynchronously** y añade dos o tres frases de relleno. La conversación sigue siendo fluida mientras se completa la solicitud.
</Tip>

## Transfer (blind)

Transfiere la llamada de inmediato a un **número de teléfono o URI SIP** (SIP REFER), opcionalmente después de un breve **announcement**. El asistente sale de la llamada; no hay ningún briefing para quien la recibe.

## Warm transfer

El traspaso premium: a quien llama se le pone **hold music**, el asistente marca al destino (un empleado), **lo pone al día con un resumen generado por IA** de la conversación hasta ese momento, y solo entonces conecta a ambas partes. El empleado puede aceptar o rechazar la llamada; si hay buzón de voz en el destino, se detecta.

| Campo                        | Para qué sirve                                                                                                                                                                                         |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Target**                   | Un usuario, extensión, grupo de timbrado o cola de Famulor Loop — o un número externo en formato E.164 o como URI `sip:`. También puedes dejar que el asistente determine el número durante la llamada |
| **Outbound phone number**    | El número usado para llamar al destino (necesita una troncal saliente)                                                                                                                                 |
| **Hold message**             | Lo que escucha quien llama antes de quedar en espera                                                                                                                                                   |
| **Connected message**        | Lo que escucha quien llama en cuanto el destino está en línea                                                                                                                                          |
| **Briefing initial message** | Lo primero que le dice el asistente al destino                                                                                                                                                         |
| **Summary instructions**     | Cómo resume el asistente la conversación para el destino                                                                                                                                               |
| **Ringing timeout**          | Cuánto tiempo suena el destino (5–120 segundos; 30 por defecto)                                                                                                                                        |
| **Hold music**               | Si se reproduce música de espera y qué pista disponible usar                                                                                                                                           |
| **Fallback**                 | Continuar la conversación, finalizar la llamada o hacer una transferencia ciega si el destino no responde o rechaza                                                                                    |

Los resultados de la transferencia cálida (`started` / `completed` / `failed`) quedan registrados como eventos de llamada.

## Collect

Captura de datos estructurados con **validación, repetición de preguntas y confirmación integradas**: mucho más fiable que confiar en que el LLM transcriba correctamente una dirección de correo.

* **Types:** `name`, `email`, `phone`, `address`, `date of birth`, `dtmf` (dígitos por teclado o dichos en voz alta), `credit_card` (tarjeta de pago).
* **Variable** (obligatorio): el resultado se guarda con este nombre y se incluye en el webhook `call.completed`.
* **Prompt**: instrucciones extra opcionales, además del diálogo integrado.
* **Max attempts** (3 por defecto): tras el fallo final, el flow sigue por el borde etiquetado `failed`, si existe.
* **DTMF digits**: para el tipo `dtmf`, cuántos dígitos hay que recoger.
* **Timeout and stop key** (`dtmf`, se ajustan en la herramienta **Collect keypad** asignada): cuánto tiempo tiene quien llama antes de que el intento expire (1–30 s, 5 s por defecto), y qué tecla —`#` o `*`— termina la entrada antes de tiempo en lugar de esperar a que se agote.
* **Payment card:** requiere la herramienta **Collect payment card** y una cuenta de Stripe conectada compatible. Durante la llamada, los datos de pago se recopilan de forma segura. Solo se conservan una referencia reutilizable al método de pago y datos de visualización no sensibles; el número completo de la tarjeta y el código de seguridad nunca se guardan. Conecta Stripe primero en **Tools → Agent Connectors**.

## DTMF

Le pide a quien llama que introduzca una cantidad fija de **dígitos en el teclado del teléfono** — también funciona si los dice en voz alta. La herramienta **DTMF input** asignada define cuántos dígitos recoger (1–32); quien llama tiene unos cuatro segundos por dígito, y pulsar `#` termina la entrada antes de tiempo. Usa `collect` con el tipo `dtmf` cuando quieras validación y reintentos; usa este nodo más simple para menús rápidos de opciones.

<Tip>
  Indícale a quien llama, en palabras claras, lo que tiene que hacer: la descripción de la herramienta asignada determina qué pide el asistente, así que escríbela tal como debería oírla quien llama: "Por favor, introduce tu número de cuenta y luego pulsa # para confirmar", o para un menú, "Pulsa 1 para soporte, 2 para ventas". Una persona a la que no se le indica nada antes suele empezar a hablar en lugar de pulsar teclas.
</Tip>

## End

Termina la llamada, diciendo antes un **farewell** si quieres. Da siempre a tus flows un final explícito: genera estados de llamada limpios y evita que la conversación siga a la deriva una vez terminado su trabajo.

## Biblioteca central de herramientas

**Add node** abre una biblioteca de herramientas con búsqueda. Los ajustes reutilizables se administran en la página Tools:

| Herramienta del registro      | Ubicación en el flow                                                         |
| ----------------------------- | ---------------------------------------------------------------------------- |
| API                           | Nodo genérico **Tool**                                                       |
| Call transfer                 | Nodo dedicado **Transfer**                                                   |
| Warm transfer                 | Nodo dedicado **Warm transfer**                                              |
| DTMF input                    | Nodo dedicado **DTMF**                                                       |
| Collect keypad                | Nodo dedicado **Collect**                                                    |
| Otras herramientas integradas | Nodo genérico **Tool** referenciado                                          |
| Servidor MCP                  | Asignación a todo el asistente; no es una única acción determinista del flow |

Usa **Edit in Tools** para cambiar los ajustes reutilizables. El cambio se aplica a todos los asistentes y flows que utilicen la herramienta.

<Note>
  Los nodos Tool, Transferencia, Transferencia cálida, DTMF y Recopilar seleccionan una herramienta reutilizable en la página Tools. Si la herramienta elegida deja de estar disponible, el nodo sigue su ruta de fallo configurada y los detalles de la llamada muestran el problema.
</Note>
