Automatiza tu Instagram con IA y n8n: posts, respuestas y DMs en piloto automático
Instagram es una de las plataformas más exigentes en términos de dedicación. Publicar de forma consistente, responder comentarios, atender mensajes directos… si gestionas una cuenta de negocio sabes que puede consumir varias horas a la semana. Y si gestionas varias cuentas de clientes, la situación se multiplica.
Con n8n e IA puedes poner una parte significativa de ese trabajo en piloto automático. No todo: la API de Meta tiene límites claros que vamos a explicar con honestidad para que no te lleves sorpresas. Pero lo que sí puedes automatizar marca una diferencia real.
Lo que realmente permite (y no permite) la API de Instagram
Antes de entrar en el tutorial, conviene aclarar qué se puede hacer con la API oficial de Instagram, porque hay mucha información incorrecta circulando.
Lo que SÍ puedes automatizar con la API oficial:
- Publicar fotos, vídeos, reels y carruseles en cuentas Business o Creator.
- Programar publicaciones para una fecha y hora específica.
- Responder a comentarios en tus publicaciones.
- Recibir notificaciones de nuevos comentarios y mensajes directos vía webhook.
- Enviar respuestas a mensajes directos dentro de la ventana de 24 horas desde el último mensaje del usuario.
- Consultar métricas de tus publicaciones (alcance, impresiones, interacciones).
Lo que NO puedes hacer con la API (o está muy restringido):
- Iniciar conversaciones de DM con usuarios que no te hayan escrito primero.
- Dar like automáticamente a publicaciones de otros (viola las políticas de Meta).
- Seguir o dejar de seguir cuentas de forma masiva.
- Publicar Stories directamente vía API (requiere aprobación especial de Meta).
- Scraping de comentarios o perfiles de otras cuentas.
Ignorar estos límites puede resultar en la suspensión de tu cuenta o de tu app de Meta. Dicho esto, lo que sí está permitido ya es suficiente para automatizar procesos que hoy haces a mano.
Requisitos previos
- Cuenta Business o Creator en Instagram conectada a una página de Facebook.
- Cuenta de desarrollador en Meta for Developers (developers.facebook.com).
- n8n instalado: si no lo tienes, sigue la guía de instalación de n8n en un VPS.
- Una clave de API de OpenAI (o Claude) para la parte de IA.
- Experiencia básica creando workflows en n8n: si es tu primera vez, lee cómo crear tu primer workflow en n8n.
Configurar la app de Meta for Developers
Crear la aplicación
- Ve a developers.facebook.com → “My Apps” → “Create App”.
- Tipo de app: “Business”.
- Añade el producto “Instagram Graph API”.
Obtener el token de acceso
- En la sección de Instagram → “Generate Token”.
- Selecciona la página de Facebook vinculada a tu cuenta de Instagram.
- Copia el token de acceso. Para uso en producción, genera un token de larga duración (dura 60 días y se puede renovar automáticamente).
Obtener el Instagram Business Account ID
GET https://graph.facebook.com/v19.0/me/accounts
Authorization: Bearer {TU_TOKEN}
Esto devuelve las páginas vinculadas. Busca el instagram_business_account de la página que te interesa y guarda ese ID.
Workflow 1: Programar y publicar posts automáticamente
Este es el caso de uso más práctico: preparar el contenido de la semana de una vez y que se publique solo a las horas óptimas.
Estructura del workflow
Schedule Trigger (hora programada)
→ Google Sheets (leer el post pendiente más antiguo)
→ IF (¿hay post para publicar hoy?)
→ HTTP Request (subir imagen a Meta y obtener container ID)
→ HTTP Request (publicar el container)
→ Google Sheets (marcar el post como publicado)
Paso 1: Preparar la hoja de contenidos
Crea una hoja de Google Sheets con estas columnas:
| imagen_url | caption | fecha_publicacion | estado | post_id |
|---|---|---|---|---|
| https://… | Tu caption aquí… | 2026-04-20 09:00 | pendiente |
La imagen_url debe ser una URL pública accesible (puedes usar Google Drive con permisos de “cualquiera con el enlace puede ver”).
Paso 2: Trigger programado
Añade un nodo “Schedule Trigger” configurado para ejecutarse cada día a las 8:50h (10 minutos antes de la primera publicación del día) o con la frecuencia que necesites.
Paso 3: Leer el post del día
Nodo “Google Sheets” → “Get Rows”:
- Filtrar por
fecha_publicacion= fecha de hoy yestado=pendiente - Ordenar por fecha ascendente
- Límite: 1 (solo el primero pendiente)
Paso 4: Publicar en Instagram
La publicación en Instagram tiene dos pasos según la API de Meta:
Paso 4a — Crear el container (cargar la imagen):
Nodo “HTTP Request”:
- Method:
POST - URL:
https://graph.facebook.com/v19.0/{IG_ACCOUNT_ID}/media - Body:
{
"image_url": "{{$json.imagen_url}}",
"caption": "{{$json.caption}}",
"access_token": "{TU_TOKEN}"
}
Esto devuelve un id (el container ID). Guárdalo para el siguiente paso.
Paso 4b — Publicar el container:
Nodo “HTTP Request”:
- Method:
POST - URL:
https://graph.facebook.com/v19.0/{IG_ACCOUNT_ID}/media_publish - Body:
{
"creation_id": "{{$json.id}}",
"access_token": "{TU_TOKEN}"
}
Paso 5: Actualizar el estado en Sheets
Nodo “Google Sheets” → “Update Row”: cambia estado a publicado y guarda el post_id devuelto.
Workflow 2: Responder comentarios con IA
Cuando alguien comenta en tu publicación, n8n recibe el evento vía webhook y genera una respuesta con IA.
Configurar el webhook de comentarios
En Meta for Developers → Webhooks → Instagram:
- Suscríbete al evento
comments. - Callback URL: tu webhook de n8n (
https://n8n.tudominio.com/webhook/ig-comments).
Estructura del workflow
Webhook (comentario recibido)
→ IF (¿es un comentario nuevo, no una respuesta?)
→ IF (¿contiene pregunta o palabras clave?)
→ OpenAI (generar respuesta)
→ HTTP Request (publicar respuesta en el comentario)
→ Google Sheets (registrar la interacción)
Filtrar comentarios que merecen respuesta
No todos los comentarios necesitan respuesta automática. Añade un nodo “IF” que detecte:
- Comentarios que contienen
?(preguntas). - Comentarios con palabras clave como “precio”, “disponible”, “envío”, “cómo”, “dónde”.
Los comentarios de emojis solos o saludos genéricos puedes dejarlos para respuesta manual.
Generar la respuesta con IA
Nodo “OpenAI” → “Chat Completion”:
System: Eres el community manager de [marca].
Responde comentarios de Instagram de forma cercana,
breve (máximo 2 frases) y en el tono de la marca.
Si preguntan por precio, dirige al DM o al enlace en bio.
Nunca des información que no tengas segura.
User: Comentario: "{{$json.text}}"
Autor: {{$json.from.username}}
Publicar la respuesta
Nodo “HTTP Request”:
- URL:
https://graph.facebook.com/v19.0/{COMMENT_ID}/replies - Body:
{ "message": "{{$json.aiResponse}}", "access_token": "{TOKEN}" }
Workflow 3: Responder mensajes directos con IA
Los DMs de Instagram se pueden responder automáticamente siempre que el usuario haya iniciado la conversación y no hayan pasado más de 24 horas desde su último mensaje.
Configurar el webhook de mensajes
En Meta for Developers → Webhooks → Instagram:
- Suscríbete al evento
messages. - Asegúrate de que tu app tiene el permiso
instagram_manage_messages.
Estructura del workflow
Webhook (mensaje recibido)
→ Extraer datos del mensaje
→ Google Sheets (recuperar historial de la conversación)
→ AI Agent (generar respuesta con contexto)
→ HTTP Request (enviar respuesta por DM)
→ Google Sheets (guardar interacción)
Este flujo es muy similar al del agente IA en WhatsApp con n8n, con la diferencia de que usas la Graph API de Instagram en lugar de la WhatsApp Business API.
Enviar el DM de respuesta
POST https://graph.facebook.com/v19.0/me/messages
{
"recipient": { "id": "{{$json.sender.id}}" },
"message": { "text": "{{$json.aiResponse}}" },
"access_token": "{TOKEN}"
}
Generar captions con IA
Una mejora interesante: en lugar de escribir los captions manualmente en la hoja de Sheets, puedes generar borradores con IA.
Crea un workflow separado que:
- Leas una lista de temas o palabras clave desde Sheets.
- Para cada tema, genere un caption con OpenAI incluyendo hashtags relevantes.
- Guarde los borradores en Sheets con estado
borradorpara que los revises antes de aprobarlos.
Esto no elimina tu criterio editorial, pero reduce drásticamente el tiempo de redacción.
Renovar el token automáticamente
Los tokens de larga duración de Meta caducan a los 60 días. Puedes automatizar la renovación con n8n:
Schedule Trigger (cada 50 días)
→ HTTP Request (llamar a la API de renovación de token)
→ Google Sheets o Variable (guardar el nuevo token)
→ Email (notificarte de la renovación)
Endpoint de renovación:
GET https://graph.facebook.com/v19.0/oauth/access_token
?grant_type=fb_exchange_token
&client_id={APP_ID}
&client_secret={APP_SECRET}
&fb_exchange_token={TOKEN_ACTUAL}
Preguntas frecuentes
¿Puedo publicar Stories de forma automática? Las Stories requieren permisos adicionales de Meta que no se conceden automáticamente. Para la mayoría de cuentas, la publicación de Stories debe hacerse manualmente o con herramientas especializadas como Buffer o Later que tienen acuerdos de Marketing Partner con Meta.
¿Puedo responder a todos los comentarios automáticamente? Técnicamente sí, pero no es recomendable. Las respuestas de IA a comentarios que no lo necesitan (emojis, “qué bonito”) pueden parecer spam. Filtra bien qué comentarios merecen respuesta automática y cuáles no.
¿Pueden suspenderme la cuenta por usar la API? No si usas la API oficial correctamente. Los problemas surgen cuando se usan bots de terceros que no usan la API oficial o cuando se violan las políticas (likes masivos, follows masivos, spam). Todo lo de este tutorial usa la API oficial de Meta.
¿Funciona para cuentas personales? No. La Graph API de Instagram solo funciona con cuentas Business o Creator. Las cuentas personales no tienen acceso a la API.
¿Te ha resultado útil? Compártelo con alguien que quiera automatizar su trabajo con IA.