Guía · 15 pasos
Chatty: tu propio ManyChat para Instagram, gratis
Instala Chatty en tu Firebase: bandeja de DMs, automatizaciones de «comenta GUÍA», constructor de flujos, estadísticas y app de celular, sin pagar suscripción.
Comenta GUÍA y te la mando… con tu propio sistema
Chatty es un sistema open source que hice para contestar los DMs de Instagram en automático, como ManyChat, pero instalado en tu propia cuenta de Firebase. Tus conversaciones y tus contactos son tuyos, no pagas por contacto y nadie te puede cambiar el precio.
Trae la bandeja de tus DMs, automatizaciones por palabra clave (el clásico «comenta GUÍA y te mando el link»), un constructor visual de flujos, contactos, las estadísticas de tu cuenta, un asistente con Claude y una app de celular con avisos.
Te enseño a probarlo en 2 minutos, a instalarlo completo y a crear tu primera automatización.
Paso 1: Qué es Chatty
Es un panel web que se conecta a tu Instagram profesional. Cada DM y cada comentario llega a la Bandeja en tiempo real, y tus automatizaciones contestan solas según lo que tú decidiste.
Corre en tu proyecto de Firebase: con el uso de una persona o un equipo chico, suelen ser centavos al mes. Todo está en español y le puedes poner tu nombre, tu logo y tu color.

Paso 2: Pruébalo en 2 minutos
No necesitas cuentas ni llaves para verlo. Con Node 20 o más nuevo instalado, pega los comandos de abajo en la Terminal y abre localhost:3000 en tu navegador.
Como todavía no está conectado a nada, se abre en modo guía: el sistema completo, con cada sección y su avance. Primeros pasos junta todo lo que falta, en orden.

Pégalo en la Terminal
git clone https://github.com/brunovareliuu/chatty.git cd chatty/web npm install npm run dev
Paso 3: Cada sección te enseña lo que le falta
Entra a cualquier sección. Arriba ves cómo se ve funcionando, con datos de ejemplo, y abajo el checklist para que funcione de verdad: los comandos para copiar, los botones a los que hay que ir y cómo saber que quedó.
Lo que el panel puede revisar se palomea solo (las variables, tu cuenta conectada, tu primer DM, el cron). Lo demás lo palomeas tú.

Paso 4: Automatizaciones
Se disparan cuando alguien comenta una palabra en tu post, cuando te manda una palabra por DM, cuando responde a una historia, en su primer mensaje o como respuesta por defecto.
Puedes poner varias respuestas públicas que salen al azar para que no se vea robótico, prioridades y límites para no mandarle lo mismo dos veces a la misma persona. En la lista ves cuántas veces se activó cada una.

Paso 5: Arma flujos arrastrando nodos
Cada automatización corre un flujo que armas en un lienzo: mensajes, botones, enlaces, respuestas rápidas, preguntas que guardan lo que te contestan, «pedir que te siga», esperas, condiciones, etiquetas, pasar a una persona y llamadas a tu propia API.
Trae una plantilla de 55 nodos, «Lanzamiento de un repo», para ver un flujo completo con ramas y condiciones.

Paso 6: Contactos y estadísticas
En Contactos ves quién te escribió o comentó, con sus etiquetas, tus notas y todo lo que capturaste en los flujos.
En Estadísticas, cómo va tu cuenta: seguidores día por día, alcance, vistas, likes, tus publicaciones y qué te funciona. Chatty las va guardando cada hora porque Meta no guarda la historia; el primer día hay poco y se llena solo.

Paso 7: Ponle tu marca
En Ajustes › Marca eliges el nombre, el logo y el color, con vista previa en claro y en oscuro. Todo el panel se pinta mientras eliges, y el ícono de la app del celular sale de ahí.
Si lo instalas para un cliente, el panel queda con su marca.

Paso 8: La app del celular
Abre tu panel en el teléfono y te lleva a la app del celular: Hoy, Bandeja, Automatizar y Contactos. En iPhone, toca Compartir › Agregar a inicio para instalarla sin tiendas.
Manda avisos push propios: automatizaciones que saltaron, comentarios, DMs sin contestar y cifras redondas. En iPhone solo funcionan con la app agregada a inicio (iOS 16.4 o más nuevo).

Paso 9: Lo que necesitas para instalarlo
Para dejarlo funcionando con tu Instagram necesitas:
- Un proyecto de Firebase en plan Blaze (pago por uso; con poco tráfico, centavos)
- Tu Instagram como cuenta profesional (Empresa o Creador)
- Una cuenta en Meta for Developers (gratis)
- Una cuenta de GitHub (gratis)
- En tu computadora: Node 20+, la CLI de Firebase y gcloud
- Opcional: una llave de la API de Claude para el asistente
Con todo a la mano toma entre una y dos horas. Si quieres, Claude Code te va guiando con el prompt de abajo.
Pégalo en Claude Code: que te guíe en la instalación
Quiero instalar Chatty (https://github.com/brunovareliuu/chatty) con mi Instagram. Lee el README.es.md y la carpeta docs/ y guíame paso por paso: 1. Revisa que tenga Node 20+, la CLI de Firebase y gcloud. Si falta algo, dime cómo instalarlo. 2. Crea mi proyecto de Firebase con los comandos del README y dime cuándo tengo que entrar a la consola (plan Blaze, Authentication). 3. Cuando llegue a Meta, dime exactamente qué botones picar y qué copiar. Recuérdame que META_APP_ID es el ID de la app de Instagram, no el de Meta. 4. Llena web/.env.local conmigo. No inventes valores: pregúntame los que no sepas. 5. Al final dime qué me falta de Primeros pasos. No despliegues ni crees cosas que cuesten dinero sin preguntarme antes.
Paso 10: Crea tu proyecto de Firebase
Crea el proyecto, cámbialo a plan Blaze en la consola (Uso y facturación), crea la base de datos y la app web. Después, en Authentication › Método de acceso, activa Google y Correo/contraseña.
El comando apps:sdkconfig te da las seis variables de Firebase que van en tu archivo de configuración. Desde la carpeta del repo, liga tu proyecto y sube las reglas.
Comandos de Firebase (cambia mi-chatty por el nombre de tu proyecto)
firebase projects:create mi-chatty --display-name "Chatty" firebase firestore:databases:create "(default)" --location=nam5 --project mi-chatty firebase apps:create web "Chatty" --project mi-chatty firebase apps:sdkconfig WEB --project mi-chatty firebase use --add firebase deploy --only firestore
Paso 11: Conecta Meta e Instagram
En tu Instagram: ponla como cuenta profesional y, en Mensajes y respuestas a historias › Herramientas conectadas, activa Permitir el acceso a los mensajes.
En developers.facebook.com crea una app con el caso de uso «Administrar mensajes y contenido en Instagram». Agrega los cuatro permisos de instagram_business (basic, manage_messages, manage_comments y manage_insights), copia el ID y la clave secreta de la app de Instagram y, en Roles de la app, agrégate como Tester de Instagram. Así funciona con tu cuenta sin que Meta revise la app.
La trampa más común: usa el ID y la clave secreta de la app de Instagram, no el «ID de la app» de Meta que sale en Configuración básica. Con los de Meta, conectar falla con «Invalid platform app».
Paso 12: Llena tus variables
Copia la plantilla (cp web/.env.example web/.env.local) y llénala: las seis de Firebase, la URL pública de tu panel, los correos que pueden entrar, el ID y la clave de la app de Instagram, y tres contraseñas que inventas tú con openssl (el token del webhook, la llave que cifra los tokens y la del cron).
Para correrlo en tu compu, inicia sesión con gcloud y corre npm run dev. Ya con las variables, aparece el login.
Inventa tus contraseñas y córrelo en local
openssl rand -hex 16 # META_WEBHOOK_VERIFY_TOKEN openssl rand -hex 32 # TOKEN_ENCRYPTION_KEY openssl rand -hex 32 # CRON_SECRET cd web gcloud auth application-default login gcloud auth application-default set-quota-project mi-chatty npm run dev
Paso 13: Súbelo a internet
Chatty se publica en Firebase App Hosting desde tu copia del repo en GitHub (usa «Use this template» para tener la tuya privada). Llena web/apphosting.yaml, guarda los secretos y crea el backend con directorio raíz web y rama main. Desde ahí, cada push a main se publica solo.
Cuando tu URL responda: agrégala en Firebase › Authentication › Dominios autorizados, y en Meta pon la URL de redireccionamiento y la del webhook (las copias exactas de Ajustes › Instagram). Suscríbete a messages, messaging_postbacks, messaging_seen, message_reactions, messaging_referral y comments.
Secretos y backend
firebase apphosting:secrets:set META_APP_SECRET firebase apphosting:secrets:set META_WEBHOOK_VERIFY_TOKEN firebase apphosting:secrets:set TOKEN_ENCRYPTION_KEY firebase apphosting:secrets:set CRON_SECRET firebase apphosting:backends:create
Paso 14: Prende el cron
El cron es un latido cada minuto que despierta los flujos que están esperando, renueva los tokens de Instagram (duran 60 días) y junta tus estadísticas. Sin él, los flujos con «Esperar» se quedan atorados. Cloud Scheduler da 3 jobs gratis y este es uno.
El cron (cambia TU-URL y mi-chatty)
gcloud services enable cloudscheduler.googleapis.com --project mi-chatty gcloud scheduler jobs create http chatty-tick \ --schedule="* * * * *" \ --uri="https://TU-URL/api/cron/tick" \ --http-method=GET \ --headers="x-cron-secret=$(gcloud secrets versions access latest --secret=CRON_SECRET --project mi-chatty)" \ --attempt-deadline=300s --location=us-central1 --project=mi-chatty
Paso 15: Tu primera automatización: comenta GUÍA
- Ajustes › Instagram › Conectar, y autoriza tu cuenta.
- Desde otra cuenta mándate un DM: tiene que llegar a la Bandeja en segundos.
- Automatizaciones › Nueva. Disparador: alguien comenta una palabra clave en una publicación.
- Palabras: guia, guía. Elige el post (si no eliges ninguno, aplica a todos).
- Pon una respuesta pública, como «¡Te lo mandé por DM!».
- Abre el flujo y cambia el primer mensaje por tu texto y tu link.
- Actívala y comenta guía desde otra cuenta.
Cuando todo lo de Primeros pasos está palomeado, ya quedó. 🎉

Reglas de Meta, no de Chatty: a un comentario solo se le puede contestar con un DM privado, de texto y dentro de 7 días. Después de 24 horas del último mensaje de alguien ya no le puedes escribir libremente. Y para saber si alguien te sigue, esa persona tiene que haberte escrito o tocado un botón antes.
Si algo falla, abre Primeros pasos: cada sección dice qué le falta, y Ajustes › Sistema qué variables no encuentra. Lo más común: «Invalid redirect_uri» es que la URL en Meta no es idéntica a la de Ajustes › Instagram; si llegan DMs pero no comentarios, falta suscribirte a comments en el webhook; y si un flujo se queda en «Esperar», el cron no está corriendo.
Recurso — El código, el README completo y las guías largas de cada paso en la carpeta docs.
Recurso — Aquí creas la app que conecta tu Instagram.
Recurso — Tu proyecto, el plan Blaze, Authentication y App Hosting.
¿Quieres Chatty en tu cuenta sin pelearte con Meta? Te lo instalamos y te armamos las automatizaciones. Mándame mensaje.