#Un agente de IA en Instagram
Para responder los DM de Instagram con un agente de IA en Vatio, describes el agente en un archivo vatio.yml, haces push y hablas con él desde tu propia cuenta de Instagram a través de una cuenta de preview compartida, antes de conectar nada. Cuando responde bien, lo publicas y conectas tu cuenta profesional con el consentimiento de Meta desde el inbox de Vatio; desde ahí, tu agente en live responde cada DM que llega a esa cuenta. Es el mismo agente que responde en WhatsApp y en tu sitio web, lee las capturas y los audios que manda la gente, y cualquier persona de tu equipo puede tomar una conversación desde el inbox.
Esta guía cubre las conversaciones que trae Instagram, cómo probarlas y cómo conectar la cuenta.
#Un agente, todos los canales
No hay un agente aparte para Instagram. Un workspace corre un solo agente, y el canal solo cambia cómo se entregan sus respuestas, así que un agente que ya está en WhatsApp o en tu sitio está listo para Instagram. Si todavía no tienes uno, necesitas Node.js 20 o superior. vatio init no pide cuenta; el primer vatio push abre tu navegador para iniciar sesión con correo, Google o GitHub, y eso la crea.
npx @vatio-ai/skills
npm install -g @vatio-ai/cli@latest
vatio init casa-tilo
Un agente para una tienda de muebles y deco que vende sobre todo por Instagram:
workspace: casa-tilo
agent:
name: Casa Tilo
personality: Cercano y rápido. Mensajes cortos, como escribe la gente por DM.
instructions: |
Atiendes a los clientes de Casa Tilo, una tienda de muebles y deco que
vende online y en su showroom en Ñuñoa, Santiago.
Cada producto tiene un código como CT-0412, en la imagen y en la
descripción de cada publicación. Cuando alguien pregunte por un
producto, busca el código en su mensaje o en su captura y llama a
buscar_productos con él. Sin código, busca por lo que describe o lo
que muestra la imagen, y pregunta cuál es si hay varios. Da el precio,
si hay stock y el link del producto que devolvió la tool.
Si te mandan algo que no puedes ver, como un video, pide el código del
producto o una captura. Para despachos, cambios y el showroom, busca
primero en knowledge_lookup.
Nunca inventes un precio, un stock ni una fecha de entrega.
tools: [buscar_productos, knowledge_lookup]
knowledge: [tienda]
handoff:
when:
- un despacho que llegó dañado o un reclamo
- un mueble a medida o un descuento para empresas
#Lo que manda la gente por Instagram
Los DM de Instagram son cortos: «precio?», «info», «¿sigue disponible?», «¿hacen despacho a Concepción?», muchas veces con una captura, porque la persona escribió desde el feed. Una conversación típica:
Cliente: precio? (captura de una publicación)
Agente: Es la mesa lateral Raulí, CT-0412: $189.990, y hay stock. https://casa-tilo.example/p/ct-0412
Cliente: hacen despacho a conce
Agente: Sí. Los muebles a regiones pagan $24.990 por pedido y llegan en 5 a 7 días hábiles. También puedes retirarla gratis en el showroom.
Detrás de esas respuestas, el agente leyó «CT-0412» en la captura, llamó a buscar_productos con ese código y buscó los despachos en la base de conocimiento. El link vino de la tool, y eso es lo que le permite enviarlo. Tres hábitos hacen que esto funcione:
- Pon un código en cada publicación, en la imagen y en la descripción. El agente lee imágenes, así que una captura con un código en una esquina se vuelve una búsqueda por código y no una adivinanza sobre cuál mesa de madera era.
- Responde antes de preguntar. «precio?» merece un precio; las preguntas vienen después.
- Los precios y el stock vienen de una tool, y lo que cambia poco, del conocimiento.
Guarda la dirección y la llave de la API como secrets:
vatio secrets set TIENDA_API https://api.casa-tilo.example
vatio secrets set TIENDA_API_KEY sk_live_...
tools/buscar_productos.yml:
description: Busca en el catálogo por código de producto o por descripción.
when_to_use: El cliente pregunta por un producto, su precio o su stock, por código, por descripción o con una captura.
parameters:
type: object
properties:
codigo: { type: string, description: "Código del producto, por ejemplo CT-0412" }
consulta: { type: string, description: "Lo que describe el cliente o muestra la imagen, por ejemplo mesa lateral de madera" }
access: public
request:
method: GET
base_url: "$env.TIENDA_API"
path: /productos/buscar
headers:
Authorization: "Bearer $env.TIENDA_API_KEY"
query:
codigo: "$params.codigo"
q: "$params.consulta"
respond:
data:
productos: "$.productos"
message:
when_empty: Ningún producto coincide con ese código o descripción.
default: "Encontré {{count}} productos."
Haz que el endpoint devuelva el nombre, el precio, el stock y el link de cada producto, y nada que no pondrías en una publicación: lo que devuelve una tool, el modelo lo puede repetir.
Despachos, cambios y el showroom van en una base de conocimiento, una entrada por tema:
vatio kb create tienda
vatio kb write tienda despachos despachos.md
vatio kb write tienda cambios-y-devoluciones cambios-y-devoluciones.md
vatio kb write tienda showroom showroom.md
# Despachos
## Costo y plazos
Los productos pequeños pagan $4.990 y los muebles $24.990 por pedido.
En Santiago llegan en 2 a 4 días hábiles y a regiones en 5 a 7.
El retiro en el showroom es gratis.
Vatio no lee sitios web, y una descripción que el agente nunca recibió no es algo que sepa: pon lo importante en una entrada o detrás de la tool.
#Pruébalo en la cuenta de preview compartida
vatio push
vatio chat "cuánto cuesta la CT-0412?"
vatio chat "la lámpara que pedí llegó rota"
vatio chat show
El segundo mensaje es un despacho dañado, así que debería derivarse; chat show te dice si lo hizo. vatio chat envía texto y responde al instante, así que las capturas y el ritmo de las respuestas se prueban en Instagram mismo, en la cuenta de preview de Vatio. Todo se hace en la pestaña Instagram de la página Probar del inbox:
- Abre Probar → Instagram. Una cuenta que ya verificaste en otro workspace aparece en Ya verificaste estas cuentas, y Usar en preview la conecta con un clic, sin código.
- Si no, en Conecta tu cuenta, escanea el código QR con tu celular: se abre el DM con la cuenta de preview de Vatio. Desde la cuenta con la que vas a probar, envíale el código que muestra la página; desde el computador, escríbele por DM a la cuenta que nombra la página y envíale el código. Ese DM demuestra que la cuenta es tuya: Vatio te responde de inmediato con “Verificamos tu cuenta ✅”, y la página se actualiza sola.
- Sigue hablando con el agente en ese DM y lee la conversación en Conversaciones, en el mismo inbox.
Instagram no deja que Vatio escriba primero, así que tu cuenta envía el código en vez de recibirlo. Un código dura 15 minutos y sirve una vez, y el de la página se renueva solo. Una cuenta enruta a un solo workspace a la vez; enviar desde ella el código de otro workspace, o elegir Usar en … en otro workspace, la mueve a ese.
Un workspace puede tener hasta cinco cuentas de prueba: Agregar otra cuenta, debajo de la lista, muestra un código nuevo. Cada una llega a preview, así que pruebas un cambio en Instagram antes de publicarlo. Nunca llega a live: live es tu propia cuenta.
Después escribe como escriben tus seguidores: una captura con «precio?», tres mensajes cortos seguidos, un audio preguntando por el despacho.
#Conecta tu cuenta profesional
Cuando el preview está bien, publícalo:
vatio publish
Después, en el inbox, abre Canales → Instagram en live, elige Conectar Instagram y completa el consentimiento de Meta en la ventana que se abre. Si publicas desde el inbox, con Publicar a live en la página Probar, primero corren tus pruebas; después de la primera publicación, Publicado. Ahora: ponlo en tu app también conecta Instagram desde ahí. Tiene que ser una cuenta profesional, y el consentimiento pide leer su perfil y gestionar sus mensajes.
No hay un interruptor que activar después: apenas la cuenta queda conectada, tu deployment live responde sus DM, y por eso publicas primero. El mismo modal dice si la cuenta está recibiendo DM (En vivo — respondiendo DM cuando sí), y Verificar vuelve a correr esa revisión.
Un workspace conecta una cuenta, y una cuenta se conecta a un workspace; para cambiar de cuenta, elimina primero la integración. Vatio renueva el access token automáticamente, y si alguna vez expira, elige Reconectar con la misma cuenta.
Desde ahí, vatio publish cambia lo que responde la cuenta, y vatio rollback restaura la versión anterior.
#Cómo se comporta una conversación de Instagram
- Una conversación dura hasta ocho horas de silencio. Cuando el último mensaje del cliente tiene más de ocho horas, el siguiente empieza un chat nuevo.
- Los fragmentos se vuelven una sola pregunta. Vatio agrupa los mensajes que llegan juntos, espera un momento de silencio y los archivos que todavía se están procesando, y responde una vez. Conversaciones fluidas explica por qué.
- Las ediciones y los mensajes anulados siguen al cliente. Un DM editado muestra su texto nuevo en el inbox, marcado como editado, y el agente lo lee desde ese momento; uno anulado desaparece de ambos. Ninguno es un mensaje nuevo, así que el agente no lo responde.
- Lee imágenes, audios y PDF. Los archivos compatibles de hasta 8 MB cada uno le llegan al agente, y el audio se transcribe. Todo lo demás, como un video o un reel compartido, queda disponible para los supervisores, y el agente recibe un aviso de que no puede leerlo.
- Las respuestas son texto, al ritmo de alguien que escribe: mensajes cortos de texto plano con indicadores de escritura. El agente no puede enviar imágenes ni archivos, así que la página del producto lleva las fotos y el link es lo que envía.
- Los links están en una lista permitida. El agente solo envía URL que se le dieron, en
links, en sus instrucciones o en el resultado de una tool. Cualquier otra URL se quita.
#Con quién está hablando el agente
Para tu backend, un contacto de Instagram empieza siendo anónimo: no hay una página donde pueda firmar un token que diga quién es, así que mientras no inicie sesión solo corren tools públicas. Los pedidos o la cuenta de un cliente van detrás de un login, en una tool marcada access: private. Con sign_in_url en auth:, esa tool le envía al cliente un botón Iniciar sesión que abre tu sitio; tu página redirige de vuelta con el mismo token que le pones al widget, Vatio le pide confirmar el @usuario que se conecta, y la conversación sigue donde quedó (En WhatsApp e Instagram). Un chat con IA para tu sitio web muestra cómo firmar el token.
Un DM tampoco trae un número de teléfono. En WhatsApp el agente ya tiene el número del cliente; en Instagram solo lo tiene si el cliente lo escribe. Una tool que necesite un teléfono o un correo, por ejemplo para agendar una visita al showroom, lo pide como parámetro, y tu backend lo valida. Para revisar el pedido de alguien que no ha iniciado sesión, pide el número de pedido más un segundo dato, como el correo de la compra, y que tu backend verifique que coincidan. Los parámetros los llena el modelo, así que esa verificación va en código, nunca en el prompt.
#Cuando una persona toma la conversación
Los supervisores que invitas desde Equipo en el inbox ven todas las conversaciones de Instagram en el inbox, con cada llamada a tools junto a la respuesta que produjo.
- Responder desde el inbox es tomar la conversación. Pausa al agente en ese chat. Devolver al agente la libera, o el traspaso vence 8 horas después del último mensaje del cliente; cada respuesta humana reinicia ese reloj.
- El agente también puede pedir una persona. El bloque
handoffde arriba deriva los reclamos y los muebles a medida, y un cliente que pide hablar con una persona siempre es derivado. Dentro del horario de atención, que se configura en la página Negocio del inbox (lunes a viernes de 10:00 a 19:00 y sábado de 10:00 a 14:00), el agente se queda en silencio; fuera de él sigue ayudando. Una derivación que nadie toma en una hora vuelve al agente. - Todavía no se notifica a nadie. Una conversación derivada aparece como en espera en el inbox, así que alguien tiene que estar mirándolo.
Cuando una respuesta estuvo mal, usa Reportar esta respuesta y escribe lo que debió pasar. Tu coding agent corrige la causa desde esas notas; mira Mejorar tu agente.
#Lo que Vatio no hace en Instagram
El agente solo responde los DM que le escriben. Vatio no envía DM salientes, difusiones, campañas ni seguimientos, e Instagram solo deja que una empresa le responda a quien escribió primero. Trabaja en los mensajes directos, no en los comentarios de tus publicaciones. Tampoco hay llamadas de voz, y el agente nunca genera imágenes ni archivos.
WhatsApp funciona igual, con un número de preview compartido y tu propio número de negocio; mira Un agente de IA en WhatsApp. Cada opción de la página Canales está en la documentación de Instagram.
Preguntas frecuentes
¿Un agente de IA puede responder automáticamente los DM de Instagram?
Sí. Conectas tu cuenta profesional de Instagram con el consentimiento de Meta desde el inbox de Vatio, y tu agente en live responde cada DM que llega a esa cuenta. Es el mismo agente que responde en WhatsApp y en tu sitio web, descrito en un solo vatio.yml.
¿Tengo que conectar mi cuenta de Instagram para probar el agente?
No. Vatio tiene una cuenta de preview compartida. Escaneas un código QR en la página Probar del inbox, le envías desde tu propia cuenta el código que muestra y hablas con tu agente desde ahí. Un workspace puede tener hasta cinco cuentas de prueba, y nunca llegan a live.
¿El agente lee las capturas de pantalla y los audios que llegan por Instagram?
Sí. Las imágenes compatibles, como la captura de una publicación, le llegan al agente, y los audios se transcriben, hasta 8 MB por archivo. Un video, como un reel compartido, no es algo que pueda ver. Sus respuestas son solo texto.
¿El agente puede escribir primero o hacer campañas por Instagram?
No. Instagram solo deja que una empresa le responda a quien le escribió, así que en Instagram Vatio solo responde los mensajes que llegan: no hay DM salientes, difusiones ni seguimientos. Los recordatorios y las campañas que tu backend envía con la Messages API de Vatio salen solo por WhatsApp. El agente retoma cada vez que alguien escribe.
¿Mi equipo puede tomar una conversación de Instagram?
Sí. Los supervisores ven todas las conversaciones en el inbox de Vatio y toman una respondiendo ahí, lo que pausa al agente en ese chat. La devuelven desde el inbox, o el traspaso vence 8 horas después del último mensaje del cliente.
¿El agente puede consultar los pedidos de un cliente por Instagram?
Sí, una vez que el cliente inicia sesión. Las tools públicas corren para cualquiera, y una tool marcada access: private corre para un contacto con sesión iniciada: con un sign_in_url en vatio.yml, Vatio le envía un botón Iniciar sesión que abre tu sitio web, y la conversación sigue cuando vuelve. Para clientes sin cuenta, lo habitual es pedir el número de pedido más un segundo dato, y que tu backend verifique que coincidan.
Actualizado: