Guía gratis · paso a paso
Tu propio ManyChat, gratis
Alguien comenta una palabra en tu reel y, un segundo después, le llega un mensaje directo con tu link. Te muestro cómo armarlo con OpenReply, una herramienta de código abierto, sin pagar suscripción y aunque nunca hayas tocado nada técnico.
- la primera vez
- 2–3 h
- por mes (aprox.)
- USD 5
- experiencia previa
- Cero
Antes de arrancar
Cómo funciona
No necesitás entender el código. Alcanza con saber qué hace cada pieza, porque la guía las va armando una por una.
- InstagramAlguien comenta tu palabra clave (por ejemplo, LINK) en un post, un reel o una historia.
- Meta avisaMeta le manda ese comentario a tu OpenReply en el mismo segundo (eso se llama "webhook").
- Tu panel (Vercel)Revisa si coincide con alguna de tus campañas y anota el envío en tu base de datos.
- El worker (Railway)Manda el mensaje directo con la API oficial de Instagram. Sin contraseñas ni bots raros.
Opcional, pero muy recomendado
Hacelo con Claude como copiloto
Si te trabás en algún paso, no estás solo. Abrí Claude en otra pestaña, pegale este prompt y te va a acompañar pantalla por pantalla mientras seguís la guía.
Copiá y pegá este prompt
- Tocá Copiar y pegalo en un chat nuevo de Claude.
- Respondé sus preguntas y avanzá de a un paso. Si algo no coincide, mandale una captura.
Quiero instalar OpenReply (github.com/diwenne/openreply) para que, cuando alguien comente una palabra en mi Instagram, le llegue un mensaje directo automático. Voy a seguir esta guía: https://nicociana.com/guias/manychat-gratis. No tengo experiencia técnica.
Sé mi copiloto durante toda la instalación:
- Si podés navegar, leé primero la guía completa. Si no, usá lo que te explico acá.
- Guiame un paso por vez, en castellano simple. Al terminar cada paso, decime qué debería estar viendo y esperá a que te confirme antes de seguir.
- Si una pantalla no coincide con lo que me decís, pedime una captura en vez de adivinar.
- Nunca me pidas que pegue en el chat mis claves, contraseñas ni direcciones de base de datos: decime en qué campo van. Si se me escapa alguna, recordame cambiarla al final.
- Ayudame a ir completando mi "hoja de datos" en una nota privada (sin pasarte los valores).
Tené en cuenta estos errores conocidos:
1. Railway: si no aparece mi repositorio, falta darle acceso con la GitHub App. Los cambios (como el TCP Proxy) quedan pendientes hasta que toco "Deploy".
2. Vercel necesita las direcciones PÚBLICAS de Railway (con proxy.rlwy.net). Nunca las que tienen ${{ }} ni railway.internal. El error P1013 significa que la DATABASE_URL está mal.
3. En el servicio openreply de Railway: variables con DATABASE_URL=${{Postgres.DATABASE_URL}} y REDIS_URL=${{Redis.REDIS_URL}}, y Custom Start Command "npm run worker". No hay Build Command porque usa Dockerfile. Si los logs dicen "next start", falta el comando.
4. ENCRYPTION_KEY (64 caracteres) tiene que ser idéntica en Vercel y en Railway.
5. Meta: el caso de uso es "Administrar mensajes y contenido en Instagram", sin portfolio comercial. El ID y la clave salen de "Configuración de la API con inicio de sesión con Instagram" (no la de Facebook). FACEBOOK_APP_SECRET está en Configuración de la app → Básica.
6. Tester: además de invitarme en Meta (Roles → Evaluadores de Instagram), tengo que aceptar desde la app de Instagram: Configuración y actividad → Apps y sitios web → Invitaciones de evaluador.
7. Webhook: https://MI-APP.vercel.app/api/webhook con mi WEBHOOK_VERIFY_TOKEN, suscripto a comments y messages. Redirect de OAuth: https://MI-APP.vercel.app/api/instagram/callback. No confundirlos. Después hay que publicar la app.
8. "Server error" al iniciar sesión en el panel casi siempre es la RESEND_API_KEY mal copiada: revisar Logs en Vercel.
9. Para comprobar que todo anda: https://MI-APP.vercel.app/api/health tiene que decir "status":"ok" y "healthy":true. La prueba final se hace comentando desde otra cuenta de Instagram.
Empezá preguntándome si ya tengo: Instagram profesional (Creador o Empresa), cuenta de Facebook, cuenta de GitHub, un dominio propio con acceso a su DNS y una segunda cuenta de Instagram para probar.No le pegues tus claves ni contraseñas. Claude te dice dónde va cada una, pero los valores los cargás vos directamente en Vercel y Railway.
Parte 0
Requisitos y costos
Revisá esta lista antes de empezar. Si te falta algo, conseguilo primero: te va a ahorrar frenadas a mitad de camino.
- Una cuenta de Instagram Profesional (Creador o Empresa)Si es personal, cambiala desde la app: Configuración y actividad → Tipo de cuenta y herramientas → Cambiar a cuenta profesional.
- Una cuenta de FacebookMeta la exige para crear apps. No se publica nada en tu perfil.
- Una cuenta de GitHub (gratis)Creala en github.com.
- Un dominio propio (por ejemplo, tunombre.com) y acceso a su DNSHace falta para mandar los emails con los que entrás a tu panel.
- Una segunda cuenta de Instagram para la prueba finalLa de un amigo o una cuenta secundaria tuya: OpenReply ignora a propósito los comentarios que hacés vos mismo.
- Una computadora, una tarjeta para Railway y un par de horas sin apuro
¿No tenés dominio?
Yo uso Hostinger para mis dominios y mi web. Comprás el dominio y, en el mismo panel, cargás los registros que pide la guía en la parte 1.
Es un link de afiliado: si comprás a través de él, puedo recibir una comisión, sin costo extra para vos. Solo recomiendo lo que uso.Si ya tenés dominio en otro proveedor (GoDaddy, Namecheap, Cloudflare, Nic Argentina...), también sirve: los pasos de DNS son parecidos.
Cuánto cuesta
| Servicio | Para qué | Costo |
|---|---|---|
| OpenReply | El programa (código abierto, licencia MIT) | Gratis |
| Vercel | Tu panel de control | Gratis (plan Hobby) |
| Resend | Los emails para entrar al panel | Gratis |
| Meta | La app que conecta con Instagram | Gratis |
| Railway | Base de datos y el proceso que manda los DMs | El primer mes viene con USD 5 de prueba. Después, plan Hobby: mínimo USD 5 por mes (más impuestos de tu tarjeta) |
| Dominio | Si no tenés uno | Según el dominio, se paga una vez por año |
Railway cobra por uso: los USD 5 del plan Hobby se descuentan de lo que consumas. Para una sola cuenta de Instagram, lo normal es quedarse en esos USD 5. El plan gratis de Railway (USD 1 por mes) no alcanza para tener todo prendido las 24 horas.
Durante la guía vas a generar contraseñas y claves. Nunca las pegues en un chat, un grupo, un comentario ni en una captura que compartas. Si alguna se te escapa, generá una nueva.
Tu hoja de datos
Abrí una nota privada en tu compu (Notas, Bloc de notas, Google Keep) y copiá esta plantilla. La vas a ir completando a medida que avanzás, así tenés todo a mano.
MI HOJA DE DATOS · OpenReply (no la compartas con nadie)
Mi dominio .....................
Mi dirección de Vercel ......... https://
Mi usuario de Instagram ........ @
NEXTAUTH_SECRET ................
CRON_SECRET ....................
ENCRYPTION_KEY .................
WEBHOOK_VERIFY_TOKEN ...........
RESEND_API_KEY ................. re_
DATABASE_PUBLIC_URL (Railway) .. postgresql://
REDIS_PUBLIC_URL (Railway) ..... redis://
INSTAGRAM_APP_ID (Meta) ........
INSTAGRAM_APP_SECRET (Meta) ....
FACEBOOK_APP_SECRET (Meta) .....Parte 1
Preparar el terreno
Tu copia del programa, el servicio de emails y tus claves secretas.
Hacé tu copia de OpenReply en GitHub
- Iniciá sesión en GitHub y entrá a github.com/diwenne/openreply.
- Arriba a la derecha, tocá Fork y después Create fork, sin cambiar nada.
Una copia en github.com/TU-USUARIO/openreply. Esa es la que vas a conectar a Railway y a Vercel.
Creá tu cuenta de Resend y verificá tu dominio
Resend es el servicio que manda el email con el link para entrar a tu panel. Arrancalo ahora porque la verificación puede tardar un rato.
- Creá la cuenta en resend.com (podés entrar con GitHub).
- Andá a Domains → Add Domain y escribí tu dominio, por ejemplo
tunombre.com. - Resend te muestra 3 o 4 registros DNS (tipo MX y TXT, uno empieza con
resend._domainkey). Dejá esa pantalla abierta. - En otra pestaña, entrá al panel de tu dominio. En Hostinger: Dominios → tu dominio → DNS / Nameservers → Agregar registro.
- Cargá cada registro copiando exacto el tipo, el nombre y el valor que te da Resend.
- Volvé a Resend y tocá Verify. Puede tardar de unos minutos a unas horas: seguí con la guía mientras tanto.
No borres ni cambies los registros que ya tenés en tu dominio. Los de Resend van aparte y no tocan tu web ni tu email actual.
Creá tu clave de Resend:
- Andá a API Keys → Create API Key.
- Nombre:
openreply. Permiso: Sending access. Dominio: el tuyo. - Copiala con el botón de copiar (no seleccionándola a mano) y pegala en tu hoja de datos. Empieza con
re_y Resend la muestra una sola vez.
Si la clave queda incompleta o con un espacio, al final vas a ver "Server error" cuando quieras entrar a tu panel. Es el error más común: copiala siempre con el botón.
Generá tus 4 claves secretas
Son contraseñas largas y al azar que usa tu instalación. Las generás desde el navegador: cada vez que abrís (o recargás) uno de estos links, aparece una clave nueva distinta.
| Clave | Abrí este link y copiá lo que aparece |
|---|---|
NEXTAUTH_SECRET | generate-secret.vercel.app/32 |
CRON_SECRET | generate-secret.vercel.app/32 (recargá para que sea otra) |
ENCRYPTION_KEY | generate-secret.vercel.app/64 (tiene que tener 64 caracteres) |
WEBHOOK_VERIFY_TOKEN | generate-secret.vercel.app/32 (recargá otra vez) |
Las 4 tienen que ser distintas entre sí. Y la ENCRYPTION_KEY tiene que ser exactamente la misma en Vercel y en Railway: si no coinciden, no sale ningún mensaje.
Parte 2
Railway: la base de datos
Railway guarda tus campañas y registros, y más adelante va a correr el proceso que manda los DMs.
Creá el proyecto con Postgres y Redis
- Entrá a railway.com y creá la cuenta con GitHub.
- Tocá New Project → Empty Project.
- Dentro del proyecto: Create (o + New) → Database → Add PostgreSQL.
- Otra vez: Create → Database → Add Redis.
- Otra vez: Create → GitHub Repo → elegí TU-USUARIO/openreply.
Entrar con GitHub solo sirve para iniciar sesión. Tocá Configure GitHub App (o entrá a github.com/settings/installations → Railway → Configure) y dale acceso al repo openreply. Después recargá.
Dejá los nombres que pone Railway: Postgres y Redis. Más adelante los vamos a usar tal cual. Si el servicio openreply aparece en rojo, es normal: todavía no tiene su configuración.
Abrí la conexión pública de Postgres y Redis
Tu panel va a vivir en Vercel, fuera de Railway, así que necesita una "puerta" pública para llegar a la base de datos.
- Tocá el servicio Postgres → pestaña Settings → Networking → Public Networking → TCP Proxy. Si pide puerto, dejá el que sugiere.
- Hacé lo mismo en Redis.
- Arriba va a aparecer un aviso de cambios pendientes. Tocá Deploy para aplicarlos y esperá a que todo quede Online.
Hasta que no tocás Deploy, los cambios quedan "preparados" pero no activos. Si ves el cartel "A public endpoint is staged", es eso.
Copiá las dos direcciones públicas
- Postgres → pestaña Variables → buscá
DATABASE_PUBLIC_URL→ tocá los asteriscos (o el ojito) para ver el valor y copialo en tu hoja de datos. - Redis → Variables → copiá
REDIS_PUBLIC_URL.
postgresql://postgres:AbC123…@algo.proxy.rlwy.net:38165/railway
redis://default:XyZ789…@algo.proxy.rlwy.net:41234
Si ves ${{PGUSER}} o cualquier cosa con ${{, es la plantilla, no el valor real: hacé clic en los asteriscos para revelarlo.
Si dice railway.internal, es la dirección interna: Vercel no se puede conectar con esa.
Parte 3
Vercel: tu panel
Acá vive la página desde la que vas a crear tus campañas. También es la dirección que recibe los avisos de Meta.
Importá tu repositorio
- Entrá a vercel.com, creá la cuenta con GitHub y elegí el plan Hobby (gratis).
- Add New… → Project → buscá openreply → Import. Si no aparece, tocá Adjust GitHub App Permissions y dale acceso.
- En Project Name poné algo único, como
openreply-tunombre. Tu dirección va a ser parecida ahttps://openreply-tunombre.vercel.app.
Si Vercel te ofrece agregar Prisma Postgres o Redis ("Optional Integrations"), no toques Add. Ya tenés los de Railway.
Cargá las variables y publicá
- Abrí Environment Variables en esa misma pantalla.
- Completá este bloque con los datos de tu hoja (reemplazá cada
PEGÁ_ACÁ) y pegalo entero en el primer campo Key: Vercel lo separa solo en 10 variables.
NEXTAUTH_URL=https://TU-APP.vercel.app
NEXTAUTH_SECRET=PEGÁ_ACÁ
CRON_SECRET=PEGÁ_ACÁ
ENCRYPTION_KEY=PEGÁ_ACÁ
WEBHOOK_VERIFY_TOKEN=PEGÁ_ACÁ
DATABASE_URL=PEGÁ_ACÁ_TU_DATABASE_PUBLIC_URL
REDIS_URL=PEGÁ_ACÁ_TU_REDIS_PUBLIC_URL
RESEND_API_KEY=PEGÁ_ACÁ
EMAIL_FROM=login@tudominio.com
META_GRAPH_API_VERSION=v25.0- En
EMAIL_FROMusá tu dominio verificado en Resend, por ejemplologin@tunombre.com. - Revisá que no quede ningún
PEGÁ_ACÁni espacios de más, y tocá Deploy. Tarda unos 2 a 4 minutos. - Cuando termine, andá a Settings → Domains y fijate tu dirección real
.vercel.app. Anotala en tu hoja de datos. - Si es distinta de la que pusiste en
NEXTAUTH_URL: Settings → Environment Variables →NEXTAUTH_URL→ Edit → corregila (conhttps://y sin barra al final) → Save → Deployments → ⋯ → Redeploy.
¿No arrancó ningún deploy? Andá a Deployments → ⋯ (arriba a la derecha) → Create Deployment → escribí main → Deploy to Production.
La DATABASE_URL está mal: quedó la plantilla con ${{, el texto PEGÁ_ACÁ o un espacio. Corregila con la dirección pública real de Railway y hacé Redeploy.
Primer chequeo
Abrí en el navegador https://TU-APP.vercel.app/api/health (con tu dirección). Vas a ver un texto con datos.
"database":{"status":"ok"}, "redis":{"status":"ok"} y "queue":{"status":"ok"}.
El "worker":{"healthy":false} es normal por ahora: lo prendemos en la parte 4.
Probalo también en una ventana de incógnito. Si te pide iniciar sesión en Vercel, desactivá la protección: Settings → Deployment Protection → Vercel Authentication → Disabled. Meta tiene que poder entrar sin login.
Parte 4
El worker que manda los DMs
Volvemos a Railway para configurar el servicio openreply. Es el que realmente envía los mensajes.
Cargá sus variables
- En Railway, tocá el servicio openreply (el de GitHub) → pestaña Variables → Raw Editor.
- Pegá este bloque, completando los
PEGÁ_ACÁcon los mismos valores que pusiste en Vercel.
NEXTAUTH_URL=https://TU-APP.vercel.app
NEXTAUTH_SECRET=PEGÁ_ACÁ
CRON_SECRET=PEGÁ_ACÁ
ENCRYPTION_KEY=PEGÁ_ACÁ
WEBHOOK_VERIFY_TOKEN=PEGÁ_ACÁ
DATABASE_URL=${{Postgres.DATABASE_URL}}
REDIS_URL=${{Redis.REDIS_URL}}
RESEND_API_KEY=PEGÁ_ACÁ
EMAIL_FROM=login@tudominio.com
META_GRAPH_API_VERSION=v25.0Esta vez sí van los ${{…}}: dentro de Railway, esas referencias se completan solas con las direcciones internas, que son más rápidas. Por eso era importante dejar los nombres Postgres y Redis.
- Tocá Update Variables.
Decile que arranque como worker
- En el mismo servicio, pestaña Settings → sección Deploy → Custom Start Command → + Start Command.
- Escribí y confirmá con Enter o con el ✓:
npm run worker- Aplicá los cambios con Deploy y esperá a que quede Online.
No vas a encontrar un campo de "Build Command": Railway detecta que el proyecto trae un Dockerfile y lo usa solo. Está bien así.
En Deployments → View logs → Deploy Logs tiene que aparecer npm run worker. Si dice next start, el comando de arranque no se guardó: volvé a cargarlo.
Segundo chequeo
Recargá https://TU-APP.vercel.app/api/health.
"status":"ok" y "worker":{"healthy":true}. Toda la infraestructura está funcionando.
Parte 5
Meta: la app de Instagram
Es la parte más lenta. Meta cambia sus pantallas seguido: si algún nombre no coincide exacto, buscá el más parecido.
Creá la app
- Entrá a developers.facebook.com/apps con tu Facebook. Si es la primera vez, registrate como desarrollador (te pide verificar teléfono o email).
- Crear app → poné un nombre (por ejemplo,
OpenReply TuNombre) y un email que revises. - En Casos de uso, filtrá por Todo y marcá una sola casilla: Administrar mensajes y contenido en Instagram.
- En Negocio, elegí no conectar un portfolio comercial por ahora.
- Seguí con Siguiente hasta Crear app.
"Autenticar y solicitar datos con el inicio de sesión con Facebook", nada de "API de marketing" o anuncios, y tampoco "Otro". Con el caso de uso equivocado, el login falla más adelante.
¿Conviene conectar el portfolio comercial? Para usarlo con tu propia cuenta, no hace falta. Solo lo necesitarías si quisieras que otras personas conecten su Instagram a tu instalación, y lo podés sumar después.
Sacá las 3 claves de Meta
- Menú izquierdo → Casos de uso → en "Administrar mensajes y contenido en Instagram", tocá Personalizar.
- En el recuadro de la izquierda hay dos opciones con nombre casi igual. Entrá a "Configuración de la API con inicio de sesión con Instagram" (la de Instagram, no la de Facebook).
- Copiá el Identificador de la app de Instagram → es tu
INSTAGRAM_APP_ID. - Al lado, Clave secreta de la app de Instagram → Mostrar → es tu
INSTAGRAM_APP_SECRET. - Menú principal de la izquierda → Configuración de la app → Básica → Clave secreta de la app → Mostrar → es tu
FACEBOOK_APP_SECRET.
En "Básica" también aparece un "Identificador de la app" (el de Facebook). Ese no va: el ID que necesitás es el de Instagram, del punto 3.
Cargalas en los dos lados:
INSTAGRAM_APP_ID=PEGÁ_ACÁ
INSTAGRAM_APP_SECRET=PEGÁ_ACÁ
FACEBOOK_APP_SECRET=PEGÁ_ACÁ- Vercel → Settings → Environment Variables → pegá el bloque → Save → Deployments → ⋯ → Redeploy.
- Railway → openreply → Variables → Raw Editor → agregá las 3 líneas al final, sin borrar lo que ya está → Update Variables → Deploy.
Sumate como tester (son dos mitades)
Mitad 1, en Meta:
- Menú izquierdo → Roles de la app → Roles (también hay un link "Roles" en el punto 2 de la pantalla de Instagram).
- Sección Evaluadores de Instagram → Agregar → escribí tu usuario exacto de Instagram, sin la @ → enviar.
Mitad 2, en la app de Instagram del celular:
- Tu perfil → menú ☰ → Configuración y actividad.
- Apps y sitios web → Invitaciones de evaluador.
- Aceptá la invitación de tu app.
Si no aceptás la invitación desde Instagram, al conectar tu cuenta vas a ver el error "Insufficient Developer Role". Si no la ves, esperá unos minutos y volvé a entrar.
Configurá el webhook
Es la dirección a la que Meta le avisa cada comentario. Volvé a la pantalla Configuración de la API con inicio de sesión con Instagram → punto 3. Configurar webhooks:
https://TU-APP.vercel.app/api/webhook- En Token de verificación, pegá tu
WEBHOOK_VERIFY_TOKEN(el mismo de Vercel). - Dejá apagado el interruptor del certificado y tocá Verificar y guardar.
- En la lista de campos que aparece, suscribite a
commentsy amessages(este último hace que también funcione con DMs y respuestas a tus historias).
Revisá que la dirección termine en /api/webhook (no en /api/instagram/callback, que va en el paso siguiente) y que el token sea idéntico al de Vercel. Si el botón queda gris, hacé clic en el campo del token y volvé a pegarlo.
El aviso "Para recibir webhooks, la app debe estar publicada" es normal. La publicás dos pasos más adelante.
Registrá la dirección de retorno del login
En la misma pantalla, punto 4. Configurar el inicio de sesión de empresa de Instagram → Configurar → en URI de redireccionamiento de OAuth pegá:
https://TU-APP.vercel.app/api/instagram/callbackSin barra al final. Tocá Guardar. Si Meta te muestra una "URL de inserción", ignorala.
Publicá la app
Sin este paso, los comentarios reales no llegan (solo las pruebas de Meta).
- Menú izquierdo → Publicar. Si te pide datos, completalos con estas páginas, que OpenReply ya trae listas:
| Campo | Dirección |
|---|---|
| Política de privacidad | https://TU-APP.vercel.app/privacy |
| Condiciones del servicio | https://TU-APP.vercel.app/terms |
| Eliminación de datos | https://TU-APP.vercel.app/data-deletion |
- Si te pide categoría, elegí algo como "Negocios y páginas" o "Mensajería". Si te pide ícono, subí una imagen cuadrada de 1024 × 1024.
- Cuando diga "Se completó toda la configuración obligatoria", tocá Publicar.
"Tu app se publicó correctamente".
Si Meta te pide revisión de la app (App Review), no la envíes todavía: para usarlo con tu propia cuenta de tester normalmente no hace falta.
Parte 6
Tu primera campaña
Entrá a tu panel
- Abrí
https://TU-APP.vercel.app/loginy escribí tu email. - Te llega un email desde
login@tudominio.comcon un link (revisá también spam). Abrilo y ya estás adentro.
El panel no pudo mandar el email. Casi siempre es la clave de Resend mal copiada. En Vercel andá a Logs, intentá entrar de nuevo y buscá la línea roja: si dice "API key is invalid", creá una clave nueva en Resend, reemplazala en Vercel y en Railway, y hacé Redeploy.
Conectá tu Instagram
- En el panel: Settings → Connect Instagram.
- Iniciá sesión con tu cuenta de Instagram y aceptá todos los permisos.
Tu cuenta conectada en el panel.
Creá la campaña y probala
- Creá una campaña nueva: elegí uno de tus posts, poné la palabra clave
TESTy un mensaje como el de abajo. Activala. - Desde otra cuenta de Instagram, comentá
TESTen ese post. - En unos segundos le tiene que llegar el mensaje directo a esa cuenta.
¡Hola {username}! Acá tenés el link que pediste 👉 tunombre.com{username} se reemplaza solo por el usuario de quien comentó.
Listo: ya tenés tu ManyChat propio
Ahora podés usar palabras clave en tus reels, pedir que respondan una historia, mandar hasta dos botones con links medidos o pedir que te sigan antes de recibir el link. Todo desde tu panel.
Si algo falla
Problemas frecuentes
Tu mejor amigo es https://TU-APP.vercel.app/api/health: te dice si la base de datos, Redis y el worker están bien. En tu panel, la sección DM Logs muestra cada envío y por qué falló.
Railway o Vercel no muestran mi repositorio
Hay que darles permiso en GitHub: github.com/settings/installations → Railway (o Vercel) → Configure → Repository access → elegí openreply.
La dirección de Railway tiene ${{…}} o railway.internal
Para Vercel necesitás la dirección pública real. Activá el TCP Proxy, aplicá con Deploy y revelá el valor de DATABASE_PUBLIC_URL o REDIS_PUBLIC_URL tocando los asteriscos. Tiene que tener proxy.rlwy.net y un número de puerto.
Vercel falla con "P1013"
La DATABASE_URL de Vercel no tiene un formato válido. Editala, pegá la dirección pública real (empieza con postgresql://) sin espacios y hacé Redeploy.
El worker dice "healthy": false
Revisá tres cosas en el servicio openreply de Railway: que tenga las variables, que el Custom Start Command sea npm run worker y que no haya cambios pendientes sin aplicar (botón Deploy). En Deploy Logs tiene que decir npm run worker, no next start.
Meta dice "No se pudo validar la URL de devolución de llamada"
La dirección del webhook tiene que terminar en /api/webhook, el token tiene que ser idéntico a tu WEBHOOK_VERIFY_TOKEN y el último deploy de Vercel tiene que estar en Ready.
Al entrar al panel aparece "Server error"
Falló el envío del email. Mirá Vercel → Logs: "API key is invalid" es la clave de Resend mal copiada (creá una nueva y redeploy). Si menciona el dominio, revisá que esté Verified en Resend y que EMAIL_FROM use ese dominio.
"Insufficient Developer Role" al conectar Instagram
Tu cuenta no aceptó la invitación de tester. En la app de Instagram: Configuración y actividad → Apps y sitios web → Invitaciones de evaluador → Aceptar.
"redirect_uri mismatch" al conectar Instagram
La URI de redireccionamiento en Meta tiene que ser exactamente https://TU-APP.vercel.app/api/instagram/callback, sin barra al final y con tu dirección real.
Comento la palabra y no llega el DM
Revisá que estés comentando desde otra cuenta (tus propios comentarios se ignoran), que la campaña esté activa, que la app de Meta esté publicada y que /api/health diga worker healthy. Después mirá DM Logs en el panel: ahí figura el motivo exacto.
Para dejarlo prolijo
- Cambiá cualquier clave que hayas compartido.En Resend se crea una nueva; en Meta, "Restablecer" la clave secreta. Después reemplazala en Vercel y en Railway.
- Mirá tu consumo en RailwayEn tu workspace → Usage. Así sabés cuánto vas a pagar antes de que llegue la factura.
- Usalo con criterioMandá solo lo que la persona pidió al comentar. Instagram limita la cantidad de mensajes por hora y castiga el spam.
OpenReply es un proyecto de código abierto creado por Diwen Huang (licencia MIT): github.com/diwenne/openreply. Esta guía no está afiliada a Meta, Instagram ni ManyChat. Las pantallas de cada servicio pueden cambiar con el tiempo. Última revisión: octubre de 2026.
¿Y ahora?
Automatizar es el primer paso. ¿Cuál es el tuyo?
Si querés ir más allá de los mensajes automáticos, contame tu caso y vemos juntos por dónde arrancar.
-
¿Querés conseguir más clientes?
Armamos un sistema para atraer y convertir clientes con contenido, anuncios y automatizaciones.
Contame tu caso -
¿Querés convertir tu conocimiento en un producto digital?
Transformamos lo que sabés en un curso o producto digital que se venda, sin frenar tu trabajo.
Contame tu caso