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

# Acciones interactivas

> Human-in-the-Loop: el widget puede pedir confirmacion al usuario antes de ejecutar acciones

El widget soporta **acciones interactivas** (Human-in-the-Loop) que permiten al agente pedir confirmacion, recopilar datos o presentar opciones al usuario antes de ejecutar una tool.

## Como funciona

1. El agente intenta ejecutar una tool que tiene una **instruccion con accion** asociada
2. En lugar de ejecutar directamente, Thaliq envia un evento `action` al widget
3. El widget muestra una **tarjeta interactiva** al usuario
4. El usuario responde (acepta, rechaza, selecciona, llena formulario)
5. El widget envia la respuesta y el agente continua (o se detiene si fue rechazado)

<Note>
  Las acciones se configuran en la plataforma, en la seccion **Instrucciones**. No requieren codigo adicional en el widget.
</Note>

## Tipos de acciones

### Consent

Requiere que el usuario marque un checkbox y acepte explicitamente.

**Caso de uso:** Aceptar terminos antes de procesar datos personales.

El usuario ve:

* Un mensaje explicativo
* Un checkbox "Acepto"
* Botones "Rechazar" / "Aceptar" (habilitado solo con checkbox marcado)

### Confirm

Pregunta simple de Si/No.

**Caso de uso:** Confirmar antes de agendar una cita o realizar una accion.

El usuario ve:

* Un mensaje con la pregunta
* Botones "No" / "Si"

### Select

Presenta opciones para que el usuario elija una.

**Caso de uso:** Elegir el tipo de consulta, seleccionar una categoria.

El usuario ve:

* Un mensaje
* Lista de opciones (con descripcion opcional)
* Boton "Confirmar seleccion" (habilitado al elegir una opcion)

### Form

Formulario dinamico con campos configurables.

**Caso de uso:** Recopilar datos del usuario (nombre, email, telefono) antes de continuar.

El usuario ve:

* Un mensaje
* Campos de formulario (text, email, number, textarea, select)
* Indicador de campos requeridos (\*)
* Boton "Enviar" (habilitado cuando todos los campos requeridos estan llenos)

## Configuracion en el workspace

Las acciones se configuran al crear una **instruccion** en el detalle del agente:

1. Ir a **Agente > Instructions** (`thaliq.com/agents/:agentId/instructions`)
2. Crear una nueva instruccion
3. Asociar la instruccion a una o mas **tools**
4. En la seccion **Accion**, elegir el tipo (consent, confirm, select, form)
5. Configurar el mensaje, opciones/campos y comportamiento `onReject`

El agente muestra automaticamente la accion cuando intenta usar esa tool. Mas detalle en [Instrucciones](/platform/instructions).

## Flujo tecnico

```
Usuario: "Quiero agendar una cita"
    │
    ▼
Agente: Intenta usar tool "agendar_cita"
    │
    ▼
Backend: Detecta instruccion con action → Emite SSE event "action"
    │
    ▼
Widget: Muestra tarjeta de confirm ("¿Confirmas la cita para mañana 10am?")
    │
    ▼
Usuario: Click "Si"
    │
    ▼
Widget: Re-envia el mensaje con actionResponse
    │
    ▼
Backend: Ejecuta tool "agendar_cita" → Agente responde con resultado
```

## Limites por plan

Ver la tabla completa en [Planes y limites](/introduction/plans). Resumen:

| Plan       | Instrucciones max |  Tipos de accion  |
| ---------- | :---------------: | :---------------: |
| Free       |         3         |    Solo consent   |
| Starter    |         5         | Consent + confirm |
| Growth     |         15        |       Todos       |
| Scale      |         30        |       Todos       |
| Enterprise |     Ilimitadas    |       Todos       |
