# Pasos de IA

> Responde, clasifica y extrae datos de las conversaciones con Claude u OpenAI, usando tu propia API key.

El paso **IA** pone un modelo de lenguaje dentro de tu automatización. Lee los últimos mensajes de la conversación y, según lo que elijas, hace una de tres cosas:

| Modo | Qué hace | Ejemplo |
| --- | --- | --- |
| [**Responder**](#responder) | Le contesta al cliente, una vez o conversando hasta cumplir un objetivo. | Un asistente que toma pedidos o responde preguntas frecuentes. |
| [**Clasificar**](#clasificar) | Elige una categoría según lo que quiere el cliente. Cada categoría es un camino distinto. | Separar compras, reclamos y consultas de horarios. |
| [**Extraer datos**](#extraer-datos) | Busca datos en lo que escribió el cliente y los guarda en variables o en su ficha. | Sacar el email, la dirección o la fecha de un mensaje escrito a mano alzada. |

Funciona con **tu propia API key** de **Claude (Anthropic)** o de **OpenAI**. El proveedor te cobra el uso directamente a tu cuenta; eltick no suma ningún cargo.

<Note>
  No es lo mismo que [Tick IA](/guias/tick-ia), el asistente que te ayuda a ti dentro de eltick, ni que la [conexión con Claude y ChatGPT](/guias/ia). El paso **IA** habla con **tus clientes**, dentro de una automatización.
</Note>

## Antes de empezar: carga tu API key

Una **API key** es una clave que te da el proveedor para usar sus modelos desde otras aplicaciones. Se carga una sola vez por cuenta de eltick y la usan todos los pasos de IA.

<Steps>
  <Step title="Consigue la clave en el proveedor">
    - **Claude**: entra a la [consola de Anthropic](https://console.anthropic.com/settings/keys), crea una clave y copia el valor (empieza con `sk-ant-`).
    - **OpenAI**: entra a la [plataforma de OpenAI](https://platform.openai.com/api-keys), crea una clave y copia el valor (empieza con `sk-`).

    En los dos casos necesitas tener saldo o un medio de pago cargado en el proveedor.
  </Step>
  <Step title="Entra a Ajustes › IA">
    Baja hasta **API keys para automatizaciones**. Hay una tarjeta por proveedor. Si todavía no tienes una clave, el link **Conseguir una clave** te lleva a la página del proveedor.
  </Step>
  <Step title="Pega la clave y toca Guardar">
    eltick la prueba antes de guardarla (pidiéndole al proveedor la lista de modelos, que no gasta saldo). Si es válida, la tarjeta pasa a **Conectada** y muestra solo los últimos 4 caracteres, por ejemplo **Clave …a1b2**.
  </Step>
  <Step title="Elige el modelo por defecto (opcional)">
    En **Modelo por defecto** eliges el modelo que usan los pasos de IA que no eligen otro. Viene elegido `claude-opus-5` para Claude y `gpt-6-luna` para OpenAI.
  </Step>
</Steps>

<Frame>
  <img src="/images/automatizaciones/ia-keys.webp" alt="Ajustes, IA: la sección API keys para automatizaciones con la tarjeta de Claude (Anthropic) conectada y la de OpenAI sin clave" />
</Frame>

Para reemplazar la clave, toca **Cambiar clave**. Para quitarla, **Borrar**: los pasos de IA que la usan salen por **Error** hasta que cargues otra.

<Note>
  Cargar, cambiar o borrar las claves es tarea del **Dueño** y los **Administradores**, igual que editar automatizaciones.
</Note>

## Agregar un paso de IA

El paso **IA** está en la paleta, en el grupo **Lógica**. Al tocarlo se abre su panel:

| Campo | Qué va |
| --- | --- |
| **Qué hace** | **Responder**, **Clasificar** o **Extraer datos**. |
| **Proveedor** | **Claude (Anthropic)** u **OpenAI**. Los proveedores sin clave aparecen como _(sin API key)_. |
| **Modelo** | Por defecto, el que elegiste en **Ajustes › IA**. Puedes elegir otro de la lista de modelos que habilita tu clave. |
| **Instrucciones** | Quién es, qué tono usa y qué datos del negocio tiene que saber. Hasta 8.000 caracteres. Admite [variables](/guias/automatizaciones/crear#variables). Mira [Escribir buenas instrucciones](#escribir-buenas-instrucciones). |
| **Mensajes anteriores que lee** | Cuántos mensajes de la conversación ve la IA como contexto, de 0 a 50 (por defecto, 12). Con 0 lee solo el último. |

<Frame>
  <img src="/images/automatizaciones/ia.webp" alt="Editor con la plantilla Asistente con IA: el paso IA en modo Responder, con el objetivo y sus cinco salidas, y el panel con proveedor, modelo e instrucciones" />
</Frame>

La IA siempre sabe por qué canal habla (WhatsApp o Instagram) y la fecha de hoy. Todo lo demás, como tus precios, horarios o políticas, lo tiene que sacar de las instrucciones o de la conversación.

## Responder

La IA le escribe al cliente. Escribe como en un chat: mensajes cortos, sin títulos ni formato. Tiene dos formas de trabajar:

### Responder una vez

Contesta el último mensaje del cliente y sigue. Sirve, por ejemplo, para una **Respuesta por defecto** que conteste lo que sea que te pregunten fuera de horario.

| Salida | Cuándo |
| --- | --- |
| **Respondió** | La IA mandó su respuesta (o decidió que no hacía falta responder). |
| **Ventana cerrada** | Pasaron más de 24 horas desde el último mensaje del cliente: no se le puede escribir un mensaje libre. |
| **Error** | No se pudo hablar con la IA. Mira [Errores](#errores-y-que-significan). |

### Seguir conversando hasta cumplir un objetivo

Marca **Seguir conversando hasta cumplir un objetivo** y la IA mantiene la conversación: responde, espera al cliente, vuelve a responder, hasta que se cumple lo que pusiste en **Objetivo**.

| Campo | Qué va |
| --- | --- |
| **Objetivo** | Cuándo termina la conversación, en una frase. Por ejemplo: _“El cliente eligió un producto y dejó su nombre y su dirección de entrega.”_ |
| **Máximo de respuestas** | Cuántas veces responde la IA como máximo, de 1 a 30 (por defecto, 8). |
| **Espera cada respuesta** | Cuánto espera cada mensaje del cliente, hasta 7 días (por defecto, 1 día). |

| Salida | Cuándo |
| --- | --- |
| **Objetivo cumplido** | La IA considera que se cumplió el objetivo, **o** llegó al **Máximo de respuestas**. |
| **Pidió una persona** | El cliente pidió hablar con alguien, o la IA no lo puede ayudar. |
| **Sin respuesta** | El cliente no respondió en el tiempo de **Espera cada respuesta**. |
| **Ventana cerrada** | Se cerró la ventana de 24 horas antes de que la IA pudiera responder. |
| **Error** | No se pudo hablar con la IA. |

<Tip>
  Conecta **Pidió una persona** a un paso **Pasar a una persona**. Y como **Objetivo cumplido** también sale al llegar al máximo, si quieres distinguir los dos casos agrega después un paso [**Extraer datos**](#extraer-datos) y una **Condición** que revise si tienes los datos que buscabas.
</Tip>

Mientras la IA conversa, la ejecución espera las respuestas del cliente igual que una **Pregunta**: los mensajes del cliente van a la IA y no disparan otras automatizaciones. Por eso un paso de IA que conversa también sirve para cortar un bucle.

## Clasificar

La IA lee la conversación y elige **una** de tus categorías. Cada categoría es una salida, así que el flujo sigue por un camino distinto según lo que quiere el cliente.

En **Categorías**, carga entre 2 y 10, cada una con:

- **Nombre** (hasta 40 caracteres): es el texto de la salida en el lienzo.
- **Cuándo corresponde (opcional)**: una descripción que ayuda a la IA a decidir. Por ejemplo, _Comprar_: “Quiere comprar o pregunta precios”; _Soporte_: “Tiene un problema con un pedido”.

| Salida | Cuándo |
| --- | --- |
| Una por categoría | La IA eligió esa categoría. |
| **Otra** | No encaja ninguna. |
| **Error** | No se pudo hablar con la IA. |

La categoría elegida queda en `{var.categoria}`, para usarla en un mensaje o guardarla en un campo del contacto con una **Acción**.

<Tip>
  Clasificar no le manda nada al cliente, así que funciona aunque la ventana de 24 horas esté cerrada. Es una buena primera etapa antes de una **Pregunta** o de pasar la conversación al área que corresponde.
</Tip>

## Extraer datos

La IA busca datos en lo que dijo el cliente y los guarda. En **Datos a extraer**, carga hasta 20, cada uno con:

- **La clave** (letras, números y guion bajo, sin espacios): el dato queda en `{var.clave}`. Por ejemplo, `email` queda en `{var.email}`.
- **Qué es**: una descripción para la IA, como _“El email del cliente”_ o _“La fecha del evento, en formato DD/MM/AAAA”_.
- **Guardar en el contacto** (opcional): además de la variable, lo guarda en un [campo del contacto](/guias/contactos/campos). Así queda en su ficha y lo puedes usar en segmentos y campañas.

| Salida | Cuándo |
| --- | --- |
| **Listo** | La IA revisó la conversación, haya encontrado los datos o no. |
| **Error** | No se pudo hablar con la IA. |

Si un dato no aparece en la conversación, **la IA no lo inventa**: la variable queda vacía y el campo del contacto no se toca. Para saber si lo encontró, usa una **Condición** de **Variable** con **tiene un valor**.

## La ventana de 24 horas

- **Responder** necesita la ventana abierta. Si pasaron más de 24 horas desde el último mensaje del cliente, sale por **Ventana cerrada** sin llamar a la IA. Conecta esa salida a un **Mensaje** con plantilla si quieres escribirle igual por WhatsApp.
- **Clasificar** y **Extraer datos** no le mandan nada al cliente, así que funcionan con la ventana cerrada.
- En una [Secuencia de seguimiento](/guias/automatizaciones/seguimientos), **Que lo escriba la IA** solo escribe con la ventana abierta; afuera sale la plantilla del paso o se saltea.

## Escribir buenas instrucciones

La IA solo sabe lo que le dices. Unas buenas instrucciones cubren:

1. **Quién es y para quién trabaja.** El nombre del negocio, qué vende, a quién le habla.
2. **Cómo habla.** Tono, largo de los mensajes, si tutea o vosea. Si tus clientes son de Argentina, pídele que use voseo.
3. **Qué sabe.** Precios, horarios, zonas de envío, medios de pago, links. Si un dato cambia seguido, mejor manda el link que el dato.
4. **Qué no tiene que hacer.** Inventar precios, prometer plazos, dar descuentos.
5. **Cuándo pasar la conversación.** Reclamos, pedidos grandes, lo que prefieras que atienda una persona.

Por ejemplo, para el asistente de una cafetería:

```text Instrucciones
Eres la asistente de Café Aurora, una cafetería con tienda online en Rosario.
Responde con calidez y en pocas líneas, usando voseo, como en un chat.

Lo que vendemos:
- Café de especialidad en grano o molido: 250 g a $9.500, 1 kg a $32.000.
- Cafeteras y accesorios: mándalos al catálogo https://cafeaurora.com.ar/tienda
Envíos: Rosario en el día (pedidos antes de las 14), resto del país por correo en 3 a 5 días.
Pagos: transferencia, tarjeta o Mercado Pago.

No inventes precios ni plazos que no estén acá. No ofrezcas descuentos.
Si el cliente tiene un problema con un pedido, o pide hablar con alguien,
ofrécele pasar la conversación al equipo.
```

Y el **Objetivo**: _“El cliente eligió qué comprar y dejó su nombre y su dirección de entrega.”_

<Tip>
  Usa [variables](/guias/automatizaciones/crear#variables) para personalizar: _“El cliente se llama \{nombre\} y es de \{ciudad\}.”_ Y pruébalo en el [simulador](/guias/automatizaciones/probar#pasos-de-ia-en-el-simulador) con los mensajes más difíciles que te llegan, antes de publicar.
</Tip>

Para **Clasificar** y **Extraer datos**, las instrucciones pueden ser más cortas (_“Clasifica el mensaje del cliente según lo que quiere hacer.”_): lo importante está en los nombres y las descripciones de las categorías o los datos.

## Costos y privacidad

- **El uso lo cobra el proveedor**, a la cuenta de tu API key, según sus precios por token. eltick no suma cargos ni recargos por los pasos de IA. Cada paso de IA sí cuenta, como cualquier otro, en los [pasos del mes](/guias/automatizaciones/introduccion#planes-y-limites) de tu plan.
- **Cuánto gasta cada llamada** depende del modelo, del largo de tus instrucciones y de cuántos mensajes anteriores lee. Para bajar costos, usa un modelo más chico en los pasos simples (clasificar, extraer) y no subas **Mensajes anteriores que lee** más de lo necesario.
- **Qué se manda al proveedor**: tus instrucciones (con las variables ya completadas), el canal, la fecha y los últimos mensajes de la conversación (los que elegiste en **Mensajes anteriores que lee**). Nada más de tu cuenta de eltick. Lo que haga el proveedor con esos datos depende de sus términos: revisa las políticas de uso de datos de Anthropic u OpenAI para cuentas de API.
- **Tu clave está protegida**: eltick la guarda cifrada y nunca la vuelve a mostrar completa, solo los últimos 4 caracteres. Si crees que se filtró, revócala en el proveedor y carga una nueva con **Cambiar clave**.
- **Los límites de tu cuenta del proveedor aplican.** Si te quedas sin saldo o llegas a su límite de pedidos, los pasos de IA salen por **Error**. Te conviene configurar un tope de gasto en la consola del proveedor.

<Note>
  Con **Claude Opus 5** y **Claude Fable 5.1**, eltick activa los _fallbacks_ del lado del servidor de Anthropic: si el modelo prefiere no responder un mensaje, Anthropic puede resolverlo con un modelo de respaldo, así el paso no sale por **Error**.
</Note>

## Probar

El [simulador](/guias/automatizaciones/probar#pasos-de-ia-en-el-simulador) corre los pasos de IA **de verdad**, con tu API key y con la conversación que vas escribiendo como cliente. Así ves exactamente qué respondería, qué categoría elegiría o qué datos sacaría. Esas pruebas gastan saldo de tu cuenta del proveedor, como cualquier otra llamada.

## Al publicar

El editor no te deja publicar si:

| Mensaje | Qué hacer |
| --- | --- |
| _Cargá tu API key de Claude (Anthropic) en Ajustes › IA para usar este paso._ (o de OpenAI) | Carga la clave de ese proveedor, o elige otro en el paso. |
| _Agregá al menos dos categorías._ | Un paso **Clasificar** necesita dos categorías o más. |
| _Agregá al menos un dato para extraer._ | Un paso **Extraer datos** necesita al menos un dato. |

## Errores y qué significan

Cuando la IA no puede responder, el paso sale por **Error** y el motivo queda en el [historial de la ejecución](/guias/automatizaciones/probar#el-historial-de-ejecuciones). Conecta siempre esa salida, por ejemplo a **Pasar a una persona**, para que el cliente no quede sin respuesta.

| Mensaje | Qué pasó | Qué hacer |
| --- | --- | --- |
| _Falta la API key de Claude (Ajustes › IA)._ | Se borró la clave de ese proveedor. | Cárgala de nuevo en **Ajustes › IA**. |
| _La API key de Claude no es válida o fue revocada._ | La clave se revocó o se borró en el proveedor. | Crea una nueva y cárgala con **Cambiar clave**. |
| _La API key de Claude no tiene permiso para usar ese modelo._ | Tu cuenta del proveedor no tiene acceso a ese modelo. | Elige otro modelo en el paso o en **Modelo por defecto**. |
| _Claude no encontró el modelo elegido._ | El modelo ya no existe o cambió de nombre. | Elige otro modelo. |
| _Claude está limitando los pedidos de tu cuenta (o no tiene saldo)._ | Te quedaste sin saldo o llegaste al límite de tu cuenta del proveedor. | Carga saldo o sube el límite en la consola del proveedor. |
| _Claude tardó demasiado en responder._ | La IA no respondió en 45 segundos. | Suele ser momentáneo. Si se repite, prueba un modelo más rápido o baja **Mensajes anteriores que lee**. |
| _Claude respondió con un error (500)._ | Falla del lado del proveedor. | Suele ser momentáneo. |
| _La IA prefirió no responder este mensaje._ | El modelo se negó a responder. | Revisa las instrucciones; conecta **Error** a una persona. |
| _La respuesta de la IA quedó cortada._ | La respuesta fue demasiado larga. | Pide mensajes más cortos en las instrucciones. |
| _La IA devolvió una respuesta que no se pudo leer._ | La respuesta no tenía el formato esperado. | Suele ser momentáneo; si se repite, prueba otro modelo. |

Con OpenAI los mensajes son los mismos, con _OpenAI_ en lugar de _Claude_.

<Warning>
  Si una ejecución encadena muchos pasos de IA o solicitudes HTTP seguidos sin esperar al cliente, se corta con el error _“Encadenó demasiadas solicitudes HTTP o de IA seguidas.”_ Pon una **Pregunta**, una **Espera** o una IA que conversa entre medio.
</Warning>

## Empieza con la plantilla

La plantilla **Asistente con IA** de la galería arma un asistente listo para adaptar:

- Arranca con una **Respuesta por defecto** (como mucho una vez cada 12 horas por conversación).
- Un paso **IA** en modo **Responder**, conversando hasta que _“el cliente eligió un producto y dejó su nombre y su dirección de entrega”_, con un máximo de 8 respuestas.
- **Objetivo cumplido** agrega la etiqueta _pedido por IA_ y pasa la conversación al equipo. **Pidió una persona** también pasa la conversación.

Antes de publicar, cambia las instrucciones por las de tu negocio y conecta las salidas **Sin respuesta**, **Ventana cerrada** y **Error**.
