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.

Chatty: tu propio ManyChat para Instagram, gratis

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.

Qué es Chatty

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.

Pruébalo en 2 minutos

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ú.

Cada sección te enseña lo que le falta

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.

Automatizaciones

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.

Arma flujos arrastrando nodos

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.

Contactos y estadísticas

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.

Ponle tu 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).

La app del celular

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

  1. Ajustes › Instagram › Conectar, y autoriza tu cuenta.
  2. Desde otra cuenta mándate un DM: tiene que llegar a la Bandeja en segundos.
  3. Automatizaciones › Nueva. Disparador: alguien comenta una palabra clave en una publicación.
  4. Palabras: guia, guía. Elige el post (si no eliges ninguno, aplica a todos).
  5. Pon una respuesta pública, como «¡Te lo mandé por DM!».
  6. Abre el flujo y cambia el primer mensaje por tu texto y tu link.
  7. Actívala y comenta guía desde otra cuenta.

Cuando todo lo de Primeros pasos está palomeado, ya quedó. 🎉

Tu primera automatización: comenta GUÍA

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.

Más guías

¿Quieres que lo armemos para tu negocio? Software a la medida y automatizaciones con IA · Cotiza