Cómo automatizar Instagram con n8n: DM a quien comenta y respuestas a mensajes, nodo a nodo
Para automatizar Instagram con n8n necesitas tu propia app de Meta con los permisos de comentarios y mensajes, un nodo Webhook publicado en una URL HTTPS que supere la verificación de Meta y un nodo HTTP Request que llame a la API de mensajes de Instagram. Con esas tres piezas, n8n manda un mensaje privado a quien comenta tu palabra clave y contesta los mensajes directos dentro de las 24 horas que permite Meta; abajo tienes el montaje nodo a nodo, lo que Meta exige antes de enviarte un solo aviso y lo que cuesta n8n a 15 de octubre de 2026.
- Meta: configuración de webhooks de la plataforma de Instagram, respuestas privadas a quien comenta, envío de mensajes con la API de Instagram y revisión de apps para la API de Instagram, además de su guía de inicio de sesión y tokens.
- n8n: documentación del nodo Webhook y las de Respond to Webhook, HTTP Request, Remove Duplicates y Crypto, y su página de precios.
- HookReply: planes publicados, con IVA incluido, y lo que envía su paso «Avisar a otra app».
¿Qué necesitas para automatizar Instagram con n8n?
Para automatizar Instagram con n8n hacen falta cinco cosas, y solo una depende de n8n: una cuenta profesional de Instagram que sea pública, una app de Meta de tipo Business, un token de esa cuenta, una URL de n8n con HTTPS y el visto bueno de Meta para mandarte avisos. Esta tabla las reúne con lo que dice la documentación oficial de cada una:
| Pieza | Para qué la usa el flujo | Qué exige la fuente oficial |
|---|---|---|
| Cuenta profesional de Instagram (empresa o creador) | Es la cuenta que recibe los comentarios y escribe los mensajes | Meta solo avisa de comentarios y menciones si la cuenta dueña de las publicaciones es pública |
| App de Meta con el producto Instagram | Recibe los avisos y autoriza las llamadas a la API | instagram_business_basic siempre; instagram_business_manage_comments para comentarios y respuestas privadas; instagram_business_manage_messages para los mensajes directos |
| Token de acceso | Va en cada llamada del nodo HTTP Request | El que genera el panel de la app es de larga duración y vale 60 días |
| n8n con HTTPS | Es la dirección a la que Meta envía los avisos | Certificado TLS o SSL válido; Meta no admite certificados autofirmados |
| Acceso concedido por Meta | Sin él no llega ningún aviso | App en modo Live, negocio verificado y Acceso avanzado para los avisos de comentarios |
La última fila es la única que no depende de ti. La guía de revisión de apps de Meta distingue dos casos: si la app solo sirve a un negocio que tienes o gestionas, basta el acceso estándar y no hay revisión; si das servicio a varios negocios, el Acceso avanzado y la revisión son obligatorios. La página de webhooks, en cambio, pide Acceso avanzado para recibir avisos de comentarios sin hacer esa distinción. Aunque solo automatices tu cuenta, comprueba en el panel de la app qué campos te deja suscribir antes de dedicar horas al flujo.
Si todavía no sabes si tu cuenta debe ser de empresa o de creador, lo que cambia al automatizar está explicado en cuenta de creador o de empresa en Instagram.
¿Cómo se prepara la app de Meta para trabajar con n8n?
La app de Meta se prepara una sola vez desde el panel de desarrolladores, y n8n solo aparece en dos de sus pasos: la dirección del webhook y el token. En orden:
- Crea la app de tipo Business y añádele el producto Instagram con la configuración de la API con inicio de sesión de Instagram. La guía de inicio de Meta avisa de que, si tu app no es de tipo Business, tienes que crear otra.
- Genera el token. En esa misma sección, pulsa «Generate token» junto a tu cuenta de Instagram e inicia sesión. En n8n, guárdalo como credencial genérica de tipo Header Auth: nombre
Authorizationy valorBearerseguido de un espacio y el token. - Apunta el ID de tu cuenta. Una llamada GET a
https://graph.instagram.com/v25.0/me?fields=user_id,usernamecon ese token te lo devuelve; el flujo lo usará para no contestarse a sí mismo. La v25.0 es la versión que usan los ejemplos de Meta en octubre de 2026. - Configura el webhook en el panel: la Production URL del nodo Webhook de n8n en «URL de devolución de llamada» (Callback URL) y una palabra que inventes en «Token de verificación» (Verify token). Meta la comprueba al pulsar «Verificar y guardar», así que antes tiene que estar listo lo de la sección siguiente.
- Suscríbete a los campos
commentsymessages, y activa los avisos para tu cuenta con una llamada POST a/me/subscribed_apps?subscribed_fields=comments,messages; Meta contesta{"success": true}. Basta con un nodo HTTP Request ejecutado a mano una vez. - Pasa la app a Live y verifica el negocio. Según la página de webhooks de Meta, sin las dos cosas no recibes ningún aviso.
¿Cómo supera n8n la verificación del webhook de Meta?
n8n supera la verificación cuando la misma URL que recibirá los avisos devuelve, tal cual, el número que Meta le manda en el parámetro hub.challenge. Meta hace esa comprobación con una petición GET y después envía los avisos con POST, así que el nodo Webhook tiene que aceptar los dos métodos:
- Nodo Webhook. Cambia la ruta aleatoria por una fija, por ejemplo
instagram. Abre «Settings», activa «Allow Multiple HTTP Methods» y deja GET y POST: n8n crea una salida para cada método. En «Respond», elige «Using 'Respond to Webhook' Node». - Salida GET. Un nodo If con dos condiciones y un Respond to Webhook en cada rama, como en este esquema:
If {{ $json.query['hub.mode'] }} es igual a subscribe
{{ $json.query['hub.verify_token'] }} es igual a la palabra que pusiste en Meta
true → Respond to Webhook · Respond With: Text
Response Body: {{ $json.query['hub.challenge'] }}
false → Respond to Webhook · Response Code: 403
Con el flujo terminado, publícalo y copia la «Production URL». La «Test URL» no le sirve a Meta para los avisos reales: solo escucha durante 120 segundos después de pulsar «Listen for test event», mientras que la de producción queda activa hasta que despublicas el flujo, según la documentación del nodo Webhook de n8n. Ten en cuenta también que n8n solo admite un webhook por combinación de ruta y método: si otro flujo ya usa instagram con POST, cambia la ruta.
Si instalas n8n en tu servidor detrás de un proxy inverso, define la variable N8N_WEBHOOK_URL con tu dominio público (sustituye a WEBHOOK_URL, obsoleta desde n8n 2.35.0) y N8N_PROXY_HOPS=1; si no, el editor te enseña una dirección con el puerto interno 5678, que Meta no puede alcanzar. Tampoco vale localhost: Meta solo envía avisos a una dirección pública con un certificado válido.
¿Cómo envía n8n el DM a quien comenta tu palabra clave?
Para mandar el mensaje privado, la salida POST lee el comentario del aviso y llama a la API de mensajes con el ID del comentario como destinatario, no con el de la persona, que es lo que pide la documentación de respuestas privadas de Meta. El aviso de un comentario trae su ID, quién lo escribió (ID y usuario), el texto y la publicación. Los nodos, en orden:
- Respond to Webhook con «No Data» y código 200, lo primero de la rama: Meta recibe su confirmación enseguida y el resto del flujo sigue después. En n8n Cloud, una petición que tarda más de 100 segundos en responder falla con el error 524.
- Filter con tres condiciones: que
{{ $json.body.entry[0].changes[0].field }}seacomments; que{{ $json.body.entry[0].changes[0].value.from.id }}no sea el ID de tu cuenta, porque tu propia respuesta pública también puede llegar como comentario; y que{{ $json.body.entry[0].changes[0].value.text.toLowerCase() }}contenga tu palabra clave escrita en minúsculas. - Remove Duplicates con la operación «Remove Items Processed in Previous Executions», «Keep Items Where: Value Is New» y el ID del comentario como valor. Si un aviso falla, Meta lo repite, y sin este nodo la misma persona recibiría dos veces el mensaje.
- HTTP Request: método POST, URL
https://graph.instagram.com/v25.0/me/messages, la credencial Header Auth del token y «Send Body» en JSON:
{
"recipient": { "comment_id": "{{ $json.body.entry[0].changes[0].value.id }}" },
"message": { "text": "¡Hola! Aquí tienes la guía que pediste: https://tuweb.com/guia" }
}
Un atajo: el nodo HTTP Request tiene «Import cURL», así que puedes pegar el ejemplo de la documentación de Meta y cambiar solo los valores. Si además quieres contestar en público bajo el comentario, añade otro HTTP Request con POST a https://graph.instagram.com/v25.0/{ID del comentario}/replies y el parámetro message. Según la referencia de Meta, la respuesta siempre se cuelga del comentario de primer nivel (si contestas a una respuesta, va al hilo principal), no se puede contestar a comentarios ocultos y en un directo no hay respuesta pública: solo la privada.
Meta puede agrupar varios cambios en un mismo aviso, hasta 1.000 según su página de webhooks, y las expresiones de arriba solo leen el primero. Si tu cuenta recibe muchos comentarios a la vez, separa body.entry y después changes con dos nodos Split Out antes del Filter y adapta las rutas. Qué palabra clave elegir y cómo anunciarla en la publicación es otro tema, y lo tienes en responder comentarios de Instagram automáticamente.
El mensaje privado llega a la bandeja principal si la persona te sigue y a la carpeta de solicitudes si no. Por qué pasa y cómo lo ve quien lo recibe está en por qué mis mensajes de Instagram van a solicitudes.
¿Cómo contesta n8n los mensajes directos?
Los mensajes directos llegan al mismo nodo Webhook, pero en otra parte del aviso: dentro de entry vienen en la lista messaging, con el ID de quien escribe en sender.id y el texto en message.text. Detrás del Respond to Webhook, un nodo Switch puede separar comentarios y mensajes y mandar cada uno por su rama:
- Descarta los ecos. Según cómo esté suscrita la app, Meta también avisa de los mensajes que envía tu propia cuenta, marcados con
is_echo. Si no los filtras, el flujo puede acabar contestándose a sí mismo. - Elige la respuesta con un Switch por palabra clave o con los nodos de IA de n8n, si prefieres que un modelo redacte. En ese caso, avisa de que contesta un bot: la documentación de mensajes de Meta lo exige allí donde lo pide la ley, y lo que dice el Reglamento europeo de IA lo resumimos en chatbot con IA para Instagram.
- Envía con HTTP Request a la misma dirección
/me/messages, ahora con"recipient": { "id": "{{ $json.body.entry[0].messaging[0].sender.id }}" }. El texto admite hasta 1.000 bytes en UTF-8, según la guía de envío de mensajes de Meta.
La condición que no puedes saltarte es el reloj: la API solo deja responder en las 24 horas siguientes al último mensaje de esa persona. Pasado ese plazo la llamada falla, y la etiqueta de agente humano que contempla Meta es para respuestas que escribe una persona, no un flujo.
¿Qué reglas de Instagram tiene que programar tu flujo de n8n?
n8n no conoce las reglas de Instagram: las tiene que cumplir tu flujo, y si no lo hace, la API devuelve un error o, peor, la persona recibe mensajes repetidos. Estas son las que afectan a un «comenta y recibe», cada una con su fuente:
- Un solo mensaje privado por comentario, en los 7 días siguientes a ese comentario; en un directo, solo mientras dura la emisión. El siguiente mensaje solo cabe si la persona contesta, y dentro de las 24 horas posteriores a su respuesta, según la documentación de respuestas privadas.
- Reintentos. Si tu URL falla, Meta reintenta enseguida y luego varias veces durante 36 horas; pasado ese plazo, descarta el aviso. Por eso el nodo Remove Duplicates de la sección anterior no es opcional.
- Un token que caduca. El token vale 60 días y se renueva por otros 60 con una llamada GET a
https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=…, siempre que tenga al menos 24 horas y no haya caducado; el que pasa 60 días sin renovarse ya no se puede recuperar. En n8n, un segundo flujo con Schedule Trigger cada pocas semanas puede hacer esa llamada y guardar el token nuevo donde lo lea el primero, por ejemplo en una Data Table. - La firma de cada aviso. Meta firma el cuerpo con el App Secret de tu app en la cabecera
X-Hub-Signature-256y dice que validarla no es obligatorio, pero que deberías. En n8n se hace activando «Raw Body» en el Webhook y comparando esa cabecera con el HMAC SHA256 que calcula el nodo Crypto con su acción Hmac. - La ventana de 24 horas para cualquier mensaje automático, como en la sección anterior.
Todos los topes de envío de Instagram, juntos y con sus cifras, están en la guía de límites de mensajes de Instagram.
¿Cuánto cuesta automatizar Instagram con n8n?
n8n no cobra licencia si lo instalas tú (Community Edition), y en su nube cuesta desde 24 € al mes, o 20 € al mes con pago anual, por 2.500 ejecuciones, según su página de precios consultada el 15 de octubre de 2026; esa página no aclara si los importes incluyen impuestos. Las opciones que encajan con este flujo:
| Opción | Precio | Ejecuciones al mes | Lo que importa para Instagram |
|---|---|---|---|
| Community Edition, en tu servidor | 0 € de licencia; el servidor y su certificado van aparte | Las que aguante tu servidor | La instalación, las copias y las actualizaciones corren de tu cuenta |
| Starter, en la nube de n8n | 24 € al mes; 20 € al mes con pago anual | 2.500 | Hasta 5 ejecuciones a la vez y 5 minutos por ejecución |
| Pro, en la nube de n8n | 60 € al mes; 50 € al mes con pago anual | 10.000 | Hasta 50 ejecuciones a la vez y 40 minutos por ejecución |
n8n cobra por ejecución completa, tenga el flujo los nodos que tenga, y en este montaje cada aviso que llega de Meta por POST abre una ejecución: también los que el flujo descarta, como un comentario sin tu palabra clave o el eco de un mensaje tuyo. Una persona que comenta, recibe el DM y contesta genera al menos dos avisos, su comentario y su mensaje, y más si te llegan ecos o tu propia respuesta pública. La opción «Only Run If» del nodo Webhook evalúa una expresión antes de arrancar y, si no se cumple, contesta 200 sin crear ejecución; úsala para que esos avisos no consuman cupo, y deja pasar siempre la petición GET de la verificación.
Cuánto cuesta este camino frente a una herramienta hecha, con varios volúmenes de comentarios, está calculado en ManyChat o Make y n8n.
¿Cuándo compensa n8n y cuándo una herramienta hecha?
n8n compensa cuando quieres los eventos tal como los manda Instagram y decidir tú toda la lógica: si ya tienes un servidor, sabes leer una API y quieres conectar Instagram con tus propios sistemas o con el modelo de IA que elijas. Una herramienta hecha compensa cuando lo que quieres es que Instagram conteste sin mantener una app de Meta, un token que caduca y los reintentos.
El mismo montaje en Make cambia de piezas (Custom webhook, Router y módulo HTTP) y se paga por créditos en lugar de por ejecuciones; lo tienes paso a paso en automatizar Instagram con Make. Si prefieres una herramienta, el tutorial de ManyChat enseña cómo se monta el mismo «comenta y recibe» sin app propia.
Y hay un camino intermedio: que la herramienta conteste en Instagram y n8n se ocupe de lo de fuera, como la hoja de cálculo, el CRM o un aviso por Telegram. HookReply, por ejemplo, tiene en todos sus planes, también en el Gratis, el paso «Avisar a otra app»: cada vez que un contacto pasa por ese paso, envía con POST un JSON a la URL de tu nodo Webhook con el nombre de la automatización, el paso y los datos del contacto (ID y usuario de Instagram, nombre, etiquetas y campos guardados, como el email). Es de salida y de un solo intento: no reintenta si n8n falla ni recibe órdenes de n8n. Cómo configurarlo, con el JSON completo, está en conectar Instagram con Make, Zapier o n8n.
El registro está cerrado por ahora y funciona con lista de espera; los planes de pago todavía no se pueden contratar. Mientras tanto, el montaje con n8n de esta guía funciona con tu propia app de Meta.
Preguntas frecuentes
¿n8n tiene un nodo de Instagram para enviar mensajes directos?
No. Lo más cercano es el nodo Facebook Trigger con el objeto Instagram, que recibe avisos de comentarios, menciones y mensajes con una credencial de app de Meta. Para enviar el mensaje directo o la respuesta privada hay que llamar a la API de Instagram con el nodo HTTP Request.
¿Puedo poner la Test URL de n8n en el panel de Meta?
Solo para una prueba rápida: la Test URL escucha 120 segundos después de pulsar «Listen for test event». Para recibir avisos reales usa la Production URL, que funciona mientras el flujo esté publicado.
¿Funciona con n8n instalado en mi ordenador?
No con una dirección local. Meta solo envía avisos a una URL pública con HTTPS y un certificado válido, y no acepta certificados autofirmados. Necesitas n8n Cloud o tu propio servidor con dominio y certificado.
¿Hace falta pasar la revisión de la app de Meta?
Si das servicio a otros negocios, sí. Si la app es solo para tu negocio, la guía de revisión de Meta habla de acceso estándar sin revisión, pero su página de webhooks pide Acceso avanzado para los avisos de comentarios: comprueba en el panel de tu app qué campos puedes suscribir.
¿Cuántas ejecuciones gasta un comentario en n8n?
Una por cada aviso que envía Meta. Un comentario con la palabra clave es un aviso, y la respuesta de esa persona por mensaje directo es otro; los ecos de tus propios mensajes también cuentan, salvo que los descartes con la opción «Only Run If» del nodo Webhook.
¿Cada cuánto hay que renovar el token de Instagram?
Antes de 60 días. El token de larga duración se renueva por otros 60 con una llamada a refresh_access_token, siempre que tenga al menos 24 horas y no haya caducado. Si pasa 60 días sin renovarse, ya no se puede renovar y tienes que generar otro.
¿Prefieres no mantener una app de Meta?
Estamos abriendo plazas poco a poco. Déjanos tu email y te avisamos en cuanto puedas conectar tu Instagram.
Empieza gratisn8n es una marca de su titular; Instagram y Meta, de Meta Platforms, Inc. HookReply no está afiliada a n8n. Documentación y precios consultados el 15-10-2026 en las fuentes enlazadas; pueden cambiar sin aviso, así que compruébalos antes de montar el flujo.