Flujo 02: Creación de Contenido para Redes Sociales
El problema
Mantener activas 3 redes sociales consume entre 6 y 10 horas semanales: buscar temas, adaptar el tono a cada plataforma, programar publicaciones. La mayoría de negocios pequeños publican de forma irregular o dejan de publicar por falta de tiempo. Este flujo genera una semana completa de contenido cada lunes, a partir de una lista de temas que tú controlas en Airtable.
Herramientas necesarias
| Nodo n8n | Función |
|---|---|
| Schedule Trigger | Dispara el flujo cada lunes a las 8:00 AM |
| Airtable | Lee la lista de temas de contenido de la semana |
| OpenAI | Genera los 7 posts con GPT-4o-mini |
| Telegram | Envía el batch de contenido al canal/grupo de trabajo |
| Airtable | Guarda los posts generados en la tabla de publicaciones |
Servicios externos:
- Cuenta Airtable con API Key (airtable.com/account)
- API Key de OpenAI (platform.openai.com/api-keys)
- Bot de Telegram + Chat ID del canal o grupo
Configuración paso a paso
Nodo 1: Schedule Trigger
Añade el nodo Schedule Trigger y configura:
- Trigger Interval: Weeks
- Weeks Between Triggers: 1
- Trigger on Weekdays: Monday
- Trigger at Hour: 8
- Trigger at Minute: 0
Nodo 2: Airtable — Leer temas de la semana
Añade el nodo Airtable con:
- Operation: Search Records
- Base ID: tu base de datos de contenido
- Table:
Temas_Semana - Filter by Formula:
AND({Semana}=WEEKNUM(TODAY()), {Usado}=FALSE())
Estructura mínima de la tabla Temas_Semana en Airtable:
| Campo | Tipo | Ejemplo |
|---|---|---|
| Tema | Texto largo | "Cómo reducir costes con IA en 2025" |
| Semana | Número | 15 |
| Red | Selección múltiple | LinkedIn, Twitter, Instagram |
| Tono | Texto | "técnico pero accesible" |
| Usado | Casilla | false |
Nodo 3: OpenAI — Generar 7 posts
Añade el nodo OpenAI y configura:
- Resource: Chat
- Operation: Message Model
- Model:
gpt-4o-mini - Temperature: 0.7
- Max Tokens: 2000
- System Message:
Eres el community manager de [TU EMPRESA]. Creas contenido para profesionales
del sector [TU SECTOR]. Conoces perfectamente las diferencias de formato
entre LinkedIn (posts largos y reflexivos), Twitter/X (máximo 280 chars,
directo) e Instagram (visual, con emojis y llamada a acción).
Siempre escribes en español.
- User Message (expresión):
=`Genera 7 publicaciones para redes sociales basadas en estos temas:
${$json.records.map((r, i) => `${i+1}. ${r.fields.Tema} (tono: ${r.fields.Tono})`).join('\n')}
Distribución:
- 3 posts para LinkedIn (200-350 palabras, párrafos cortos, 1 pregunta al final, 5 hashtags)
- 3 tweets para Twitter/X (máximo 275 caracteres cada uno, 2 hashtags)
- 1 post para Instagram (150-200 palabras, 5 emojis, 8 hashtags)
Devuelve un JSON con esta estructura exacta:
{
"linkedin": ["post1", "post2", "post3"],
"twitter": ["tweet1", "tweet2", "tweet3"],
"instagram": ["post1"]
}
`
Nodo 4: Code — Parsear respuesta
Añade un nodo Code (JavaScript) para extraer el JSON de la respuesta:
const respuesta = $input.first().json.message.content;
const limpio = respuesta.replace(/```json\n?/g, '').replace(/```\n?/g, '').trim();
const posts = JSON.parse(limpio);
const semana = new Date().toLocaleDateString('es-ES', {
day: '2-digit', month: '2-digit', year: 'numeric'
});
return [{json: { ...posts, semana }}];
Nodo 5: Telegram — Enviar contenido al equipo
Añade el nodo Telegram y configura:
- Credential: tu Telegram Bot (crea bot en @BotFather, guarda el token en Credentials de n8n)
- Resource: Message
- Operation: Send Message
- Chat ID: ID de tu canal o grupo de trabajo
- Text (expresión):
=`📅 *Contenido semana del ${$json.semana}*
━━━ LINKEDIN (3 posts) ━━━
*Post 1:*
${$json.linkedin[0]}
*Post 2:*
${$json.linkedin[1]}
*Post 3:*
${$json.linkedin[2]}
━━━ TWITTER/X (3 tweets) ━━━
• ${$json.twitter[0]}
• ${$json.twitter[1]}
• ${$json.twitter[2]}
━━━ INSTAGRAM ━━━
${$json.instagram[0]}`
- Parse Mode: Markdown
Nodo 6: Airtable — Guardar posts generados
Añade un segundo nodo Airtable:
- Operation: Create Record
- Table:
Posts_Generados - Fields:
Semana:={{ $json.semana }}LinkedIn_1:={{ $json.linkedin[0] }}LinkedIn_2:={{ $json.linkedin[1] }}LinkedIn_3:={{ $json.linkedin[2] }}Twitter_1:={{ $json.twitter[0] }}Instagram:={{ $json.instagram[0] }}Estado:Pendiente revisión
Ejemplo de prompt IA
Genera 7 publicaciones para redes sociales basadas en estos temas:
1. Cómo usar IA para reducir el tiempo de respuesta al cliente (tono: práctico)
2. Los 3 errores más comunes al automatizar con n8n (tono: educativo)
3. Caso real: automatización que ahorró 15h/semana a una clínica (tono: inspiracional)
Distribución:
- 3 posts para LinkedIn (200-350 palabras)
- 3 tweets para Twitter/X (máximo 275 caracteres)
- 1 post para Instagram (150-200 palabras, 5 emojis, 8 hashtags)
Fragmento del JSON que devuelve GPT-4o-mini:
{
"linkedin": [
"¿Cuántas horas pasa tu equipo respondiendo las mismas preguntas una y otra vez?\n\nLa IA no viene a reemplazar a tu equipo de atención al cliente. Viene a liberarlos de las tareas repetitivas para que puedan hacer lo que realmente importa: resolver problemas complejos y construir relaciones...",
"..."
],
"twitter": [
"Los negocios que responden en menos de 5 min convierten 9x más que los que responden en 1 hora. La IA puede hacer exactamente eso, 24/7, sin coste de personal. #IA #Automatizacion",
"..."
]
}
Ahorro estimado
| Tarea | Antes | Con automatización |
|---|---|---|
| Buscar temas y referencias | 2 h/semana | 15 min (solo añadir a Airtable) |
| Redactar 7 posts adaptados | 3,5 h/semana | 0 min |
| Revisar y programar | 1 h/semana | 30 min |
| Total semanal | 6,5 h/semana | ~45 min/semana |
Ahorro neto: ~5,75 horas/semana. Coste del flujo: ~€0,12/semana en llamadas a GPT-4o-mini para generar los 7 posts completos.