> For the complete documentation index, see [llms.txt](https://aizy.gitbook.io/aizy-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aizy.gitbook.io/aizy-docs/aizy-docs-es/tasks.md).

# Tasks

## 1. Qué es una Task

<figure><img src="/files/P9XYreW8c8DPHe8Ecogv" alt=""><figcaption></figcaption></figure>

Una **Task** es una secuencia reutilizable de acciones que el agente puede ejecutar desde Instrucciones de conversación. Cada tarea tiene:

* **Nombre**: identifica la tarea en el panel.
* **ID**: referencia estable que se invoca como **task.ID\_DE\_TAREA**.
* **Estado**: solo las tareas activas están disponibles para el agente.
* **¿Qué hace la tarea?**: descripción sobre las acciones que ocurren en la tarea. El agente lo usará para identificar que es la tarea correcta.
* **Acciones**: operaciones que Aizy ejecuta de arriba abajo dentro del marco de la tarea que has creado.

## 2. Crear, activar y ordenar una tarea

1. Pulsa **Añadir tarea**.
2. Define el nombre y el ID.
3. **Activa** la tarea con el **toggle**:
   1. Si el toggle esta activo, significa que podrás usar la tarea dentro de Instrucciones de conversación para poder invocarla.
4. Añade las acciones necesarias.
5. Ordénalas con **Subir** y **Bajar**.
6. Guarda la sección.

## 3. Variables disponibles

Dentro de las tareas existe el concepto de variable. Una variable es un valor que contiene información que has podido recoger anteriormente para poder enviarlo a un correo electrónico de tu empresa o a tu CRM.&#x20;

**Por ejemplo**: si en una tarea a una persona le preguntas su nombre, puedes guardar ese dato en la variable {nombre} para después enviarlo por correo o a tu CRM.

## 4. Acciones disponibles

<figure><img src="/files/1sJAoqo0sgfZvue1sjl9" alt=""><figcaption></figcaption></figure>

Las acciones son los pasos que pueden darse dentro de la tarea. Una tarea puede alvergar muchas acciones. A continuación te presentamos las acciones disponibles:

| Acción                | Qué permite hacer                                                          |
| --------------------- | -------------------------------------------------------------------------- |
| Extraer               | Obtener un dato de la conversación y guardarlo en una variable.            |
| Hacer resumen         | Generar un título y un resumen y registrarlos como nota interna en Inbox.  |
| Enviar mail           | Enviar un correo con destinatario, asunto y cuerpo configurables.          |
| Acción en CRM         | Buscar o crear contactos y generar registros en HubSpot, Zoho u Odoo.      |
| Webhook               | Enviar datos a un servicio externo mediante una petición HTTP.             |
| Formulario            | Solicitar datos paso a paso y guardar cada respuesta en una variable.      |
| Cambiar idioma        | Detectar el idioma solicitado y pedir confirmación antes de cambiarlo.     |
| Reserva en calendario | Validar disponibilidad y crear una cita real en Google u Outlook Calendar. |
| Escalar               | Derivar la conversación a Inbox para que continúe un agente humano.        |

### 4.1 Extraer

**Qué hace**

Es un tipo de acción complementaria a una acción final. Su misión es analizar la conversación con una instrucción concreta en busca del dato que quieres extraer y guarda el valor obtenido en una variable.

**Qué se configura**

* **Prompt de extracción**: describe exactamente qué dato debe obtenerse.
* **Variable donde guardar el valor extraído**: nombre que usarán las acciones posteriores.

**Resultado**

La variable queda disponible para el resto de acciones situadas después. Utiliza instrucciones específicas, por **ejemplo**:&#x20;

* **Prompt de extracción**: “Extrae únicamente el email confirmado por el usuario”.&#x20;
* **Variable**: {email}.&#x20;

Es decir, la variable {**email**} tendrá el valor extraído del email del usuario para que lo puedas usar en otra acción.

### 4.2 Hacer resumen

**Qué hace**

Genera un título y un resumen de la conversación con lo discutido hasta el momento con el agente. Además, si la conversación se enviara a los operadores, Aizy los registra como una nota interna en Inbox para el operador.

**Qué se configura**

* **Prompt extra del resumen**: opcional, con un máximo de 500 caracteres. Permite indicar qué información debe priorizarse, como urgencia, presupuesto o fecha preferida.

**Resultado**

Una vez ejecutado, rellenará las variables **conversation\_summary** y **conversation\_title**, que pueden utilizar las acciones posteriores de la misma Task. La nota interna se registra de forma idempotente para evitar duplicados de la misma ejecución.

### 4.3 Enviar mail

**Qué hace**

Envía un correo operativo desde Aizy.

**Qué se configura**

* **Destinatario**.
* **Asunto**.
* **Cuerpo del mensaje**.

Los tres campos pueden utilizar variables disponibles. El destinatario final debe ser una dirección de email válida.

**Resultado**

Aizy sustituye las variables y realiza el envío. Si el destinatario no es válido o el envío falla, la acción queda registrada como fallida.

### 4.4 Acción en CRM

**Qué hace**

Ejecuta una operación en un CRM conectado. Solo aparecen proveedores y acciones autorizados por los permisos de la conexión y habilitados en **Integraciones CRM**.

**Acciones por proveedor**

| Proveedor | Acciones posibles                                                                                           |
| --------- | ----------------------------------------------------------------------------------------------------------- |
| HubSpot   | Buscar contacto por email, buscar por teléfono, crear o actualizar contacto, crear deal y crear ticket.     |
| Zoho      | Buscar contacto por email, buscar por teléfono, crear o actualizar contacto, crear lead, caso y tarea.      |
| Odoo      | Buscar contacto por email, buscar por teléfono, crear o actualizar contacto, crear ticket y crear cita CRM. |

**Qué se configura**

* Proveedor.
* Acción habilitada.
* Asunto, contenido u origen cuando el tipo de registro lo requiere.
* Variables necesarias para identificar al contacto o completar el registro.

**Resultado y orden**

Las búsquedas por email y teléfono son independientes y usan exclusivamente el dato seleccionado. Buscar o crear/actualizar un contacto produce **crm\_contact\_id** para las acciones CRM posteriores.

Deals, tickets, leads, casos, tareas y citas **no buscan contactos automáticamente**. Si deben asociarse a un contacto, **coloca antes una acción de búsqueda o de creación/actualización**. Los tickets y casos creados se registran además como nota interna en Inbox con su ID y, cuando existe una URL fiable, con su enlace.

### 4.5 Webhook

**Qué hace**

Envía información a un endpoint externo mediante HTTP.

**Qué se configura**

* URL HTTP o HTTPS del endpoint.
* Método: **POST**, **GET**, **PUT**, **PATCH**, **DELETE**, **OPTIONS** o **HEAD**.
* Cabeceras necesarias.
* Payload JSON mediante campos y variables.

Las variables pueden utilizarse en el payload y en los valores de las cabeceras.

**Resultado**

Aizy considera correcto un código HTTP 2xx. Si la URL, una cabecera o el JSON no son válidos, o el endpoint devuelve otro estado, la acción registra el error. La Task puede continuar con las acciones posteriores.

### 4.6 Formulario

**Qué hace**

Solicita uno o varios datos al usuario dentro de la conversación y guarda cada respuesta en una variable.

**Qué se configura**

1. Define el texto de inicio, por ejemplo: "De acuerdo, vamos a solicitarte una serie de datos para que te contacte nuestro comercial".
2. Pulsa **Añadir pregunta** y define una variable única.
3. Escribe el texto de la pregunta. El texto en español es obligatorio; puedes añadir los demás idiomas disponibles.
4. Ordena preguntas y mensajes con **Subir** y **Bajar**.
5. Define el mensaje final. Por ejemplo: "Gracias, ya tenemos tus datos {nombre}. Pronto te contactaremos."

El formulario requiere al menos una pregunta y **admite hasta 10 preguntas.**

**Resultado y orden**

Aizy muestra cada paso en el idioma actual de la conversación y usa el español cuando falta una traducción. La Task queda pendiente hasta responder la última pregunta. Después, las respuestas pasan a sus variables y Aizy reanuda las acciones posteriores.

### 4.7 Cambiar idioma

**Qué hace**

Detecta el idioma que el usuario solicita y pide confirmación antes de cambiar el idioma activo de la conversación.

**Qué se configura**

* Pregunta de confirmación en los idiomas disponibles.
* La variable **{language}**, que muestra el nombre del idioma de destino.

**Resultado**

Si la petición es clara y el idioma difiere del actual, Aizy solicita confirmación. El cambio solo se guarda cuando el usuario lo acepta. Si el idioma no está claro o ya está activo, no aplica un cambio innecesario.

### 4.8 Reserva en calendario

**Qué hace**

Valida disponibilidad y crea una cita real en un calendario conectado de Google u Outlook.

**Qué se configura**

* Calendario.
* Duración, entre 15 y 120 minutos.
* **Subprompt post-validación** obligatorio para recoger los datos necesarios después de validar un hueco real.
* Asunto y descripción del evento, con variables.
* Mensaje localizado de error de integración, obligatorio al menos en un idioma.

**Flujo de ejecución**

1. Aizy solicita fecha y hora si faltan.
2. Desambigua horas cuando es necesario.
3. Comprueba horario, disponibilidad y reglas del calendario.
4. Puede ofrecer slots alternativos si esa opción está habilitada.
5. Pide al usuario que acepte un hueco disponible.
6. Ejecuta el subprompt post-validación.
7. Crea la cita y devuelve la confirmación.

En webchat y widget puede mostrarse un selector visual de fecha y hora. Las reglas de festivos, separación entre citas, inicio de búsqueda, número de slots y reprogramación proceden de la configuración del calendario.

### 4.9 Escalar

**Qué hace**

Deriva la conversación a Inbox para que la atienda un agente humano.

**Qué se configura**

* Mensaje de escalado en los idiomas disponibles.

**Resultado y orden**

Si el usuario pide hablar con una persona sin explicar el motivo, Aizy puede solicitarlo antes de escalar. Cuando el motivo ya está claro, realiza el escalado y muestra el mensaje configurado.

{% hint style="info" %}
**Escalar** cierra la secuencia automatizada y debe ser la **última** acción. El editor **no permite añadir acciones posteriores**.
{% endhint %}

## 5. Cómo invocar una Task

Desde [Instrucciones de conversación](/aizy-docs/aizy-docs-es/conversational-prompt.md) escribe **/** para insertar **task.ID\_DE\_TAREA** y explica cuándo debe ejecutarse, o selecciónala desde el panel inferior.

Ejemplo:

> Cuando el usuario confirme que quiere una demo, ejecuta **task.solicitud\_demo**.

{% hint style="info" %}
[Una Task invocada de forma válida se ejecuta siguiendo el orden configurado. Mantén sus instrucciones claras y evita usar dos Tasks distintas para la misma finalidad.](#user-content-fn-1)[^1]
{% endhint %}

## 6. Secuencias habituales

* **Captura y notificación**: Formulario → Hacer resumen → Enviar mail.
* **Alta CRM asociada**: Formulario → Crear/actualizar contacto → Crear deal, ticket, caso o tarea.
* **Integración externa**: Extraer → Webhook.
* **Reserva asistida**: Formulario o Extraer → Reserva en calendario.
* **Derivación humana**: Hacer resumen → Escalar.

[^1]:
