> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Workflows

## Resumen

Los workflows de agentes proporcionan una potente interfaz visual para diseñar flujos de conversación complejos en ElevenAgents. En lugar de depender de rutas de conversación lineales, los workflows te permiten crear grafos de conversación sofisticados y ramificados que se adaptan dinámicamente a las necesidades de los usuarios.

![Resumen de workflows](/docs/_fern-img/0b5b2cf9754c67ef469c08af5d13786f70ca8e0018d10e92595861abb4ed32cb.webp)

## Crear workflows

El panel es la forma recomendada de diseñar workflows gracias al editor visual de grafos. Los workflows se almacenan en el campo `workflow` de nivel superior del agente, por lo que también puedes descargar, editar y enviar el JSON mediante la CLI, o actualizarlo mediante el SDK; resulta útil para el control de versiones y CI/CD.

#### Crear desde el panel

Abre tu agente en el panel, ve a la pestaña **Workflow** y usa el editor visual para añadir nodos, configurar el comportamiento de subagentes y conectar aristas. Guarda los cambios.

#### Actualizar mediante la CLI

#### Descarga la configuración del agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Edita \`agent_configs/\<agent-name>.json\`

El grafo del workflow está bajo la clave `workflow` de nivel superior. `nodes` y `edges` son objetos con claves de ID. A continuación tienes un workflow mínimo de tres nodos que dirige el nodo de inicio a un subagente de soporte y, después, a un nodo final:

```json
{
  "workflow": {
    "nodes": {
      "start_node": {
        "type": "start",
        "edge_order": ["start_to_support"]
      },
      "support_agent": {
        "type": "override_agent",
        "label": "Support agent",
        "additional_prompt": "Help the user with their support request, then transition to the end node when resolved.",
        "edge_order": ["support_to_end"]
      },
      "end_node": {
        "type": "end"
      }
    },
    "edges": {
      "start_to_support": {
        "source": "start_node",
        "target": "support_agent",
        "forward_condition": { "type": "unconditional" }
      },
      "support_to_end": {
        "source": "support_agent",
        "target": "end_node",
        "forward_condition": {
          "type": "llm",
          "condition": "The support request has been resolved."
        }
      }
    }
  }
}
```

La mayoría de los equipos diseñan primero los workflows en el panel y luego confirman el JSON resultante en el control de versiones.

#### Envía tus cambios

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Actualizar mediante la API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    workflow={
        "nodes": {
            "start_node": {
                "type": "start",
                "edge_order": ["start_to_support"],
            },
            "support_agent": {
                "type": "override_agent",
                "label": "Support agent",
                "additional_prompt": "Help the user with their support request, then transition to the end node when resolved.",
                "edge_order": ["support_to_end"],
            },
            "end_node": {"type": "end"},
        },
        "edges": {
            "start_to_support": {
                "source": "start_node",
                "target": "support_agent",
                "forward_condition": {"type": "unconditional"},
            },
            "support_to_end": {
                "source": "support_agent",
                "target": "end_node",
                "forward_condition": {
                    "type": "llm",
                    "condition": "The support request has been resolved.",
                },
            },
        },
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  workflow: {
    nodes: {
      start_node: {
        type: "start",
        edgeOrder: ["start_to_support"],
      },
      support_agent: {
        type: "override_agent",
        label: "Support agent",
        additionalPrompt:
          "Help the user with their support request, then transition to the end node when resolved.",
        edgeOrder: ["support_to_end"],
      },
      end_node: { type: "end" },
    },
    edges: {
      start_to_support: {
        source: "start_node",
        target: "support_agent",
        forwardCondition: { type: "unconditional" },
      },
      support_to_end: {
        source: "support_agent",
        target: "end_node",
        forwardCondition: {
          type: "llm",
          condition: "The support request has been resolved.",
        },
      },
    },
  },
});
```

## Tipos de nodo

Los workflows se componen de diferentes tipos de nodo, cada uno con una finalidad específica en el flujo de conversación.

![Tipos de nodo](/docs/_fern-img/b169065e0f229623a4cd57861802fa30ecd463a142599f5fd60f6fc1b8a6223e.webp)

### Nodos de subagente

Los nodos de subagente te permiten modificar el comportamiento del agente en puntos específicos de tu workflow. Estas modificaciones se aplican sobre la configuración base del agente, o pueden sobrescribir por completo la configuración del agente actual, lo que te ofrece un control preciso sobre cada fase de la conversación.
Puedes actualizar o sobrescribir cualquier configuración del agente, las herramientas disponibles y los elementos de la base de conocimientos adjuntos.

#### General

![Configuración adicional del agente del subagente](/docs/_fern-img/8ca72df8768a03adc0064281c906ab0f5710153249d17f7e7d51f465da7e9e94.webp)

Modifica los ajustes principales del agente para este nodo específico:

* **Prompt del sistema**: Añade o sobrescribe instrucciones del sistema para orientar el comportamiento del agente
* **Selección de LLM**: Elige un modelo de lenguaje distinto (por ejemplo, cambia de Gemini 2.0 Flash a un modelo más potente para tareas de razonamiento complejas)
* **Configuración de voz**: Cambia los ajustes de voz, como la velocidad o el tono, o incluso usa otra voz

**Casos de uso:**

* Usa un LLM más potente para nodos de toma de decisiones complejas
* Aplica pautas de conversación más estrictas durante la recopilación de información sensible
* Cambia las características de voz según la fase de la conversación
* Modifica la personalidad del agente para tipos de interacción específicos

#### Base de conocimientos

![Base de conocimientos adicional del subagente](/docs/_fern-img/168a56fc316596983275999c53bbbe391c4c30a05abedc17cb6a4566eff7773f.webp)

Añade conocimiento específico del nodo sin afectar a la base de conocimientos global:

* **Incluir base de conocimientos global**: Activa o desactiva la inclusión de la base de conocimientos principal del agente
* **Documentos adicionales**: Añade documentos específicos de esta fase de la conversación
* **Conocimiento dinámico**: Inserta información contextual según el estado del workflow

**Casos de uso:**

* Añade documentación específica del producto durante conversaciones de ventas
* Incluye pautas de cumplimiento normativo durante la autenticación
* Proporciona guías de resolución de problemas para flujos de soporte
* Añade información de precios solo después de la cualificación

#### Herramientas

![Herramientas adicionales del subagente](/docs/_fern-img/9af53c3227661fd88bec57cb21197eb289760d33a874b56152d507373e51bac1.webp)

Gestiona qué herramientas están disponibles para el agente en este nodo:

* **Incluir herramientas globales**: Activa o desactiva la inclusión de herramientas de la configuración principal del agente
* **Herramientas adicionales**: Añade herramientas específicas de este nodo del workflow (por ejemplo, herramientas webhook como `book_meeting`)
* **Tipo de herramienta**: Especifica si las herramientas son webhooks, llamadas a API u otras integraciones

**Casos de uso:**

* Añade herramientas de autenticación solo después de la cualificación inicial
* Habilita herramientas de procesamiento de pagos en nodos de pago
* Proporciona acceso al CRM tras verificar al usuario
* Añade herramientas de programación para las fases de reserva de citas
* Incluye herramientas webhook para acciones específicas, como reservar reuniones

### Nodo de mensaje

Un nodo de mensaje hace que el agente diga un mensaje en un punto específico del workflow y, después, continúa por sus aristas salientes. Úsalo cuando la redacción de un mensaje sea importante y no deba dejarse en manos de un subagente; por ejemplo, para un saludo, un aviso legal o una confirmación que se repite al usuario.

Cada nodo de mensaje envía su mensaje en uno de dos modos:

* **Literal**: el agente dice el texto exacto que introduces, con una traducción opcional para cada idioma configurado.
* **Prompt**: el LLM genera el mensaje a partir de una descripción que escribes.

### Nodo de ejecución de herramienta

Los nodos de herramienta ejecutan una llamada a una herramienta específica durante el flujo de conversación. A diferencia de las herramientas dentro de los subagentes, los nodos de herramienta son puntos de ejecución dedicados que garantizan que se llame a la herramienta.

![Aristas de resultado del nodo de herramienta](/docs/_fern-img/6b60603e56dfb25e89cdfe4223826f635af874e034af8936d74d3b428611e17b.webp)

**Configuración especial de aristas:**
Los nodos de herramienta tienen un tipo de arista único que permite dirigir el flujo a un nuevo nodo según el resultado de la ejecución de la herramienta. Puedes definir:

* **Ruta de éxito**: Adónde dirigir el flujo cuando la herramienta se ejecuta correctamente
* **Ruta de fallo**: Adónde dirigir el flujo cuando la herramienta falla o devuelve un error

En el futuro se ofrecerán más condiciones de ramificación.

### Nodo de actualización de estado

Un nodo de actualización de estado asigna una o varias [variables dinámicas](/docs/es/eleven-agents/customization/personalization/dynamic-variables) cada vez que el workflow pasa por él, usando las mismas expresiones que la herramienta Actualizar estado. A diferencia de la herramienta, que se ejecuta cuando el LLM decide llamarla, el nodo siempre aplica sus actualizaciones en ese punto del grafo y luego continúa por sus aristas salientes.

Obtén más información [aquí](/docs/es/eleven-agents/customization/tools/system-tools/update-state).

### Nodo de transferencia de agente

El nodo de transferencia de agente facilita el traspaso de la conversación entre distintos agentes conversacionales. Obtén más información [aquí](/docs/es/eleven-agents/customization/tools/system-tools/agent-transfer).

### Nodo de transferencia a número

Los nodos de transferencia a número pasan de una conversación con un agente de IA a un agente humano mediante sistemas telefónicos. Obtén más información [aquí](/docs/es/eleven-agents/customization/tools/system-tools/transfer-to-number)

### Nodo final

Los nodos de finalización de llamada terminan el flujo de conversación de forma adecuada. Obtén más información [aquí](/docs/es/eleven-agents/customization/tools/system-tools/transfer-to-number#:~:text=System%20tools-,End%20call,-Language%20detection)

## Aristas y control de flujo

Las aristas definen cómo fluyen las conversaciones entre los nodos de tu workflow. Admiten una lógica de enrutamiento sofisticada que permite crear rutas de conversación dinámicas y adaptadas al contexto.

![Aristas del workflow](/docs/_fern-img/02d664c9211bb8cf5452b80ab865f26b8d0b723a6acff75141ea1e9c43f7dbab.webp)

#### Aristas hacia delante

Las aristas hacia delante llevan la conversación a nodos posteriores del workflow. Representan el flujo principal de tu conversación.

![Configuración de arista hacia delante](/docs/_fern-img/2400c66bf6f60b0d4262ecd828dea93847197f7cc00d9c8964e6486419bc90be.webp)

#### Aristas hacia atrás

Las aristas hacia atrás permiten que las conversaciones vuelvan a nodos anteriores, lo que posibilita interacciones iterativas y lógica de reintento.

![Configuración de arista hacia atrás](/docs/_fern-img/e211da75e56c826fd763ae4d8149604a866d3ec63271c572e177d52bb9a80e14.webp)

**Casos de uso:**

* Reintenta intentos de autenticación fallidos
* Vuelve atrás para recopilar información adicional
* Vuelve a cualificar tras cambios en los requisitos del usuario
* Procesos iterativos de resolución de problemas

#### Condición de LLM

Usa condiciones de LLM para crear flujos de conversación dinámicos basados en evaluación en lenguaje natural. El LLM evalúa las condiciones en tiempo real para determinar la ruta adecuada.

![Transferencia de agente con condición de LLM](/docs/_fern-img/507885879d781f291ab35b7dda84e760767a5544ffb6bf7b455e7a1cc19b78b7.webp)

**Opciones de configuración:**

* **Etiqueta**: Descripción legible de la condición de la arista (no la procesa el LLM)
* **Condición de LLM**: Condición en lenguaje natural evaluada por el LLM

#### Expresión

Usa expresiones para crear lógica condicional basada en variables y datos estructurados.

![Transferencia de agente con expresión](/docs/_fern-img/712fc40d707906a7c6ccb4b0a76f0fd3857278176606d441bfb5245f5f6e0ffe.webp)

**Opciones de configuración:**

* **Etiqueta**: Descripción legible de la condición de la arista (no la procesa el LLM)
* **Expresión**: Criterios de evaluación deterministas basados en la estructura de los datos

#### Ninguna

Las transiciones incondicionales llevan automáticamente la conversación al siguiente nodo sin condiciones.

![Transferencia incondicional de agente](/docs/_fern-img/73b70ce7c783277e64ba533f6d69c84e2ed3120f1fd03dbdebcd4d4f5358eb5b.webp)

**Casos de uso:**

* Pasos secuenciales que siempre se suceden
* Progresión automática tras completar una acción
* Rutas de respaldo predeterminadas

## Analítica

![Pestaña de analítica de workflows que muestra entradas por nodo, duraciones, finalizaciones y flujo de aristas superpuestos
en el grafo del workflow](/docs/_fern-img/a758029a005f0327c1e6319708577efd617399c72cec63d5c342d3af2f0db2a3.webp)

Una vez que un workflow está activo, la pestaña **Workflow** del [panel de analítica](/docs/es/eleven-agents/dashboard#workflow-analytics) superpone datos de uso en el grafo: entradas por nodo, tiempo medio empleado y finalizaciones, además de la distribución de aristas entrantes y salientes de cada nodo. Desde el inspector de nodos también puedes ir directamente a las conversaciones correspondientes en el historial mediante el filtro **Nodo introducido**.