Cómo conectar Instagram con Make, Zapier o n8n (con o sin app de Meta)
Para conectar Instagram con Make, Zapier o n8n hay dos caminos: crear tu propia app en Meta Developers y suscribirla a los webhooks de Instagram, o usar una herramienta que ya recibe esos avisos y te reenvía los datos a una URL de tu escenario. El primero te da control total a cambio de verificación del negocio, revisión de la app y mantenimiento; el segundo se monta pegando una URL en un paso de tu automatización. Aquí tienes los dos, con el JSON exacto que manda HookReply y tres flujos que puedes copiar.
¿Qué hace falta para que Instagram avise a Make, Zapier o n8n?
Instagram solo avisa de comentarios y mensajes nuevos a apps registradas en Meta que tengan los permisos de la API oficial. Make, Zapier y n8n no reciben esos avisos por sí solos: necesitan que una app de Meta (tuya o de una herramienta) los capture y se los pase. Por eso la mayoría de tutoriales empiezan creando una app de desarrollador, y algunos usan ManyChat como intermediario precisamente para saltarse ese paso.
| Aspecto | App propia de Meta | Webhook de HookReply |
|---|---|---|
| Qué montas tú | La app, el endpoint que verifica Meta, el token y la lógica de respuesta | Solo el escenario de Make, Zapier o n8n que recibe los datos |
| Trámites con Meta | Verificación del negocio, modo Live y revisión de la app para los permisos avanzados | Ninguno: inicias sesión con tu Instagram |
| Qué recibes | Cada evento crudo de Instagram (comentario, mensaje, mención) | Un resumen del contacto cuando llega a un paso concreto de tu automatización |
| Respuestas por DM | Las programas tú desde tu escenario | Las envía HookReply; tu escenario solo hace lo de fuera de Instagram |
| Mantenimiento | Tuyo: renovar tokens, cambios de versión de la API | De HookReply |
En ambos casos la cuenta de Instagram tiene que ser profesional. Si dudas entre creador y empresa, la guía de cuenta de creador o de empresa en Instagram explica qué cambia al automatizar.
¿Cómo se conecta Instagram a Make o n8n con una app propia de Meta?
Con una app propia, Meta envía cada comentario o mensaje directamente a la URL de webhook de tu escenario, pero antes tienes que registrar y aprobar esa app. Es la opción correcta si eres desarrollador, quieres los eventos crudos o vas a construir tu propio producto. Los pasos, resumidos:
- Crear la app en Meta Developers y añadirle el producto Instagram, con inicio de sesión de Instagram o de Facebook.
- Pedir los permisos. Para mensajes,
instagram_business_basiceinstagram_business_manage_messages; para comentarios,instagram_business_manage_comments. Están en la documentación de webhooks de la plataforma de Instagram. - Verificar el webhook. Pegas la URL del módulo de Make o del nodo de n8n y un token; Meta hace una petición de comprobación y tu escenario tiene que devolver el valor
hub.challengeque le envía. En Make eso pide un módulo Webhook response al final; en n8n, un nodo de respuesta. - Pasar la app a Live. Según esa misma documentación, Meta solo envía avisos a apps en modo Live, exige la verificación del negocio y pide Acceso avanzado para recibir los avisos de comentarios.
- Superar la revisión de la app. La guía de revisión de apps de Instagram pide, por cada permiso, una descripción de su uso, un vídeo de la experiencia completa y al menos una llamada a la API hecha con éxito.
- Programar las respuestas. Responder por mensaje privado a un comentario, controlar las 24 horas desde el último mensaje del usuario y no repetir envíos es trabajo de tu escenario.
Ese último punto es el que más se subestima: las reglas de envío de Meta no las aplica Make por ti. Las tienes juntas en la guía de límites de mensajes de Instagram. Si solo quieres que el email de un seguidor acabe en tu hoja de cálculo, todo este montaje es mucha infraestructura para un dato.
¿Cómo funciona el paso «webhook» de HookReply?
HookReply tiene en cada paso de una automatización un campo llamado «Enviar los datos del contacto a un webhook (Make, Zapier, n8n…)», dentro de «Más opciones». Si pegas ahí una URL, cada vez que un contacto pasa por ese paso HookReply le envía su mensaje por Instagram y, justo después, hace una petición POST a tu URL con los datos de ese contacto.
- Solo URLs https. HookReply rechaza al guardar cualquier webhook que no empiece por
https://. - Va por paso, no por automatización. Puedes poner una URL en el paso del email y otra distinta en el paso de «quiero una cita», o la misma en varios.
- Funciona con cualquier disparador: comentario con palabra clave, palabra en DM, primer mensaje, respuesta o mención en historia, enlace ig.me o respuesta por defecto. El montaje de cada uno lo tienes en mensajes automáticos de Instagram.
- Si el paso exige que te siga y el contacto aún no lo hace, HookReply le manda el botón «Ya te sigo ✅» y no llama al webhook hasta que lo pulse siguiéndote.
En Make, la URL sale del módulo Custom webhook de la app Webhooks de Make; en Zapier, del disparador Catch Hook de Webhooks by Zapier; en n8n, del nodo Webhook. Copia la URL, pégala en HookReply, guarda la automatización y haz una prueba real desde otra cuenta para que tu herramienta aprenda la forma de los datos.
¿Qué datos envía HookReply al webhook?
HookReply envía un JSON con tres claves: el nombre de la automatización, el identificador del paso y un objeto contact con lo que sabe de esa persona. La cabecera es content-type: application/json. Un ejemplo con la plantilla «Captura de email»:
{
"automation": "Captura de email",
"step": "s2",
"contact": {
"ig_id": "1234567890123456",
"username": "marta.lopez",
"name": "Marta López",
"tags": ["lead"],
"fields": { "email": "marta.lopez@gmail.com" }
}
}
| Campo | Qué trae |
|---|---|
automation | El nombre que le diste a la automatización en HookReply |
step | El identificador interno del paso (s1, s2…), útil si usas la misma URL en varios pasos |
contact.ig_id | El identificador que Instagram asigna a esa persona para tu cuenta; sirve como clave única en tu hoja o CRM |
contact.username | Su @ de Instagram, sin la arroba |
contact.name | Su nombre de perfil; puede venir vacío (null) si Instagram no lo dio |
contact.tags | La lista de etiquetas que tiene en ese momento, incluidas las que acaba de añadir ese paso |
contact.fields | Los campos guardados con «Guardar su respuesta en el campo»: email, telefono o el nombre que elijas |
Lo que no va: el texto de los mensajes, la fecha, el comentario que lo disparó ni ninguna firma de seguridad. Como HookReply no añade cabeceras de autenticación, trata la URL del webhook como una contraseña: no la publiques. Si quieres un filtro extra, añade un parámetro tuyo al final (por ejemplo ?clave=…), porque HookReply llama a la URL tal cual la pegas, y comprueba ese valor al principio del escenario.
¿En qué paso pongo el webhook para que llegue el email?
El webhook se pone en el paso que va después de la pregunta, no en el paso que pregunta. HookReply llama al webhook justo cuando envía el mensaje de ese paso; en el paso «¿A qué email te lo envío?» la persona todavía no ha contestado, así que fields llegaría sin el email.
- Paso 1 (s1): el mensaje que pide el email, con «Guardar su respuesta en el campo» en
email. Sin webhook. - La respuesta: HookReply comprueba que lo escrito tiene forma de email; si no, contesta «Ese email no parece válido, ¿lo revisas? 🙏» y sigue esperando. Si es válido, lo guarda y pasa al paso siguiente.
- Paso 2 (s2): el mensaje de confirmación («Te llegará a {email}») con la URL del webhook. Ahora el JSON ya trae
fields.email.
La plantilla «Captura de email» de la app ya viene con esos dos pasos; solo tienes que pegar la URL en el segundo. Cómo pedir el email con permiso para enviarle publicidad, y el texto de consentimiento, lo tienes en la guía de conseguir emails de seguidores de Instagram.
¿Qué puedo hacer con los datos en Make, Zapier o n8n?
Con el JSON de HookReply puedes hacer cualquier cosa que tu herramienta sepa hacer con una fila de datos. Tres flujos que cubren casi todos los casos:
1. Guardar el email en una hoja de cálculo
Webhook de entrada → módulo de Google Sheets o Excel «Añadir fila» con columnas fecha (la pone la propia herramienta), username, name, email (de contact.fields.email) y automation. Si el mismo contacto puede pasar dos veces por el flujo, busca primero la fila por ig_id y actualízala en lugar de duplicarla, o marca en HookReply «Solo una vez por contacto» en la automatización.
2. Avisarte por Slack o Telegram
Webhook de entrada → mensaje a un canal de Slack o a tu chat de Telegram: «Nuevo lead de @{username} en {automation}». Tiene sentido en el paso que indica intención de compra, por ejemplo el botón «Quiero una cita» o «Hablar con una persona», para que contestes tú desde la bandeja de entrada antes de que pasen las 24 horas. Para la parte de reservar, mira la guía de citas por Instagram.
3. Crear el contacto en tu CRM
Webhook de entrada → «Crear o actualizar contacto» en HubSpot, Pipedrive, Notion, Airtable o el CRM que uses, con el email como clave y las tags como origen («instagram», «reto-21-dias»). Si usas un filtro por etiqueta, solo pasan los que han dicho que sí a algo concreto: por ejemplo, la etiqueta newsletter-si que añade un botón de consentimiento.
Sobre costes: el webhook de HookReply no cuesta nada aparte, pero tu herramienta sí puede. Zapier indica en su ayuda sobre disparadores con webhooks que Webhooks by Zapier no está en el plan gratuito. En n8n, la URL de producción solo funciona con el flujo publicado; la de prueba solo mientras escuchas en el editor, como explica la documentación del nodo Webhook de n8n.
¿Qué no hace el webhook de HookReply?
El webhook de HookReply es de salida y de un solo intento: saca datos de HookReply hacia tu escenario, pero no recibe órdenes de vuelta. Conviene saberlo antes de diseñar el flujo:
- No reintenta. Si tu escenario está apagado o falla en ese momento, ese envío se pierde. El contacto sigue en HookReply con sus campos y etiquetas, y puedes recuperarlo con «Exportar CSV» en Contactos.
- No es una API de entrada. Make, Zapier o n8n no pueden pedirle a HookReply que envíe un DM. Los mensajes por Instagram los envía la automatización que configuras en HookReply.
- No manda la conversación. Solo los datos del contacto. Lo que te escribió lo ves en la bandeja de entrada.
- No escribe a quien no te ha escrito. Todo empieza con un comentario, un mensaje o una respuesta del seguidor, como exige Meta.
Planes, según la página de precios de HookReply a 2 de octubre de 2026: el paso webhook está en todos. El plan Gratis admite 35 contactos y 3 automatizaciones; el Esencial, 12 € al mes con IVA incluido, 350 contactos y automatizaciones sin límite; las respuestas con IA y las difusiones empiezan en el Pro, 25 € al mes con IVA incluido. Si vienes de ManyChat, la comparativa con ManyChat repasa precios y funciones.
Preguntas frecuentes
¿Puedo conectar Instagram con Make sin crear una app de Meta?
Sí, si usas una herramienta que ya tiene su app conectada a la API de Instagram y te reenvía los datos. Con HookReply pegas la URL del módulo Custom webhook de Make en un paso de tu automatización y recibes los datos del contacto cada vez que alguien pasa por ese paso.
¿Por qué me llega el webhook sin el email?
Porque está puesto en el paso que pregunta el email, y HookReply lo llama al enviar esa pregunta, antes de que la persona conteste. Ponlo en el paso siguiente, el de la confirmación, y el JSON traerá contact.fields.email.
¿HookReply reintenta si Make o Zapier fallan?
No. HookReply hace un único intento por cada paso y no avisa si falla. Los datos siguen guardados en la ficha del contacto, así que puedes exportarlos a CSV desde Contactos y completar lo que faltó.
¿Necesito un plan de pago de HookReply para usar webhooks?
No. El paso webhook funciona en todos los planes, también en el Gratis, que admite 35 contactos y 3 automatizaciones. Lo que sí puede ser de pago es tu herramienta: Webhooks by Zapier no está en el plan gratuito de Zapier.
¿Puedo mandar un DM de Instagram desde Make o n8n a través de HookReply?
No. El webhook de HookReply solo envía datos hacia fuera. Los mensajes los envía la automatización de HookReply; si quieres controlar los envíos desde tu escenario, necesitas tu propia app de Meta con sus permisos y su revisión.
¿Es seguro pegar la URL del webhook en HookReply?
HookReply solo acepta URLs https y la usa tal cual, sin firma. Trátala como una contraseña: no la compartas y, si quieres una comprobación extra, añade un parámetro secreto al final y fíltralo al principio del escenario.
Del comentario a tu hoja de cálculo sin crear una app de Meta
Estamos abriendo plazas poco a poco. Déjanos tu email y te avisamos en cuanto puedas conectar tu Instagram.
Empieza gratis