Moderación de Comentarios con IA
El problema
Cada comentario problemático que pasa desapercibido es un riesgo: spam que contamina tu comunidad, críticas negativas que no se atienden a tiempo, y en casos extremos, contenido que viola términos de servicio y puede resultar en la suspensión de tu cuenta. La moderación manual no escala. Con 200+ comentarios al día, necesitas un sistema que filtre, clasifique, y escale automáticamente.
Este flujo recibe comentarios via webhook, los clasifica con OpenAI en cuatro categorías, y toma acción diferenciada: alerta inmediata en Discord para los problemáticos, registro silencioso en Airtable para todos.
Herramientas necesarias
- n8n (self-hosted o cloud)
- Webhook — recibe eventos de tu plataforma social o CMS
- OpenAI Chat (node nativo n8n) — clasifica el comentario
- IF — bifurca según clasificación
- Discord (HTTP Request o node nativo) — alerta para contenido problemático
- Airtable (node nativo n8n) — log completo de todos los comentarios
- Credenciales: OpenAI API key, Discord Bot Token o Webhook URL, Airtable API key + Base ID
Configuración paso a paso
Nodo 1 — Webhook
- HTTP Method:
POST - Path:
comentarios-moderacion(URL resultante:https://tu-n8n.com/webhook/comentarios-moderacion) - Response Mode:
Immediately - Autenticación recomendada: Header Auth con secret compartido con tu plataforma
- Body esperado:
{
"comment_id": "abc123",
"author": "usuario_nombre",
"content": "texto del comentario",
"platform": "instagram",
"post_id": "post_456",
"timestamp": "2024-01-15T10:30:00Z"
}
Nodo 2 — OpenAI Chat
- Model:
gpt-4o-mini(suficiente para clasificación, más económico) - Messages → System: ver prompt más abajo
- Messages → User:
{{ $json.content }} - Response Format:
JSON Object(activa JSON mode) - Temperature:
0(clasificación determinista) - Max Tokens:
100
Nodo 3 — Code node (extraer clasificación)
const respuesta = JSON.parse(items[0].json.message.content);
return [{
json: {
...items[0].json,
clasificacion: respuesta.clasificacion,
razon: respuesta.razon,
es_problematico: ['spam', 'negativo'].includes(respuesta.clasificacion)
}
}];
Nodo 4 — IF (bifurcación)
- Condition:
{{ $json.es_problematico }}igual atrue - Rama TRUE → Discord Alert
- Rama FALSE → solo Airtable
Nodo 5 — HTTP Request (Discord Webhook)
- Method:
POST - URL: tu Discord Webhook URL del canal #moderacion
- Body JSON:
{
"content": "⚠️ **Comentario {{ $json.clasificacion.toUpperCase() }}** detectado\n\n**Autor:** {{ $json.author }}\n**Plataforma:** {{ $json.platform }}\n**Comentario:** {{ $json.content }}\n**Razón:** {{ $json.razon }}\n\nID: `{{ $json.comment_id }}`"
}
Nodo 6 — Airtable (Create Record)
- Operation:
Create - Base: tu Base ID de moderación
- Table:
Comentarios - Fields:
comment_id,author,content,platform,clasificacion,razon,timestamp
Ejemplo de prompt IA
Eres un sistema de moderación de contenido. Clasifica el siguiente comentario en UNA de estas 4 categorías:
- "spam": publicidad no solicitada, links sospechosos, texto repetitivo sin sentido
- "negativo": crítica real al negocio/producto, queja legítima, experiencia mala
- "neutral": comentario sin polaridad clara, pregunta informativa
- "positivo": elogio, agradecimiento, experiencia buena
Devuelve ÚNICAMENTE este JSON:
{
"clasificacion": "spam|negativo|neutral|positivo",
"razon": "explicación en máximo 10 palabras"
}
No añadas texto fuera del JSON.
Ahorro estimado
- Revisión manual de comentarios: 30-60 min/día según volumen
- Tiempo de respuesta a comentarios negativos: de horas a minutos
- Spam que llega a publicarse: reducción del 90%+
- Total: 3-7 horas semanales dependiendo del volumen de tu comunidad