Automatización con IA

Análisis de Competencia Semanal

Rastrea cambios en webs y precios de competidores con informe semanal automático

Análisis de Competencia Semanal

El problema

Tus competidores actualizan precios, lanzan nuevas funcionalidades, cambian su messaging, y tú lo descubres por accidente tres semanas después cuando un cliente te pregunta "¿por qué ellos cobran menos?". El monitoreo manual de 5-10 competidores es inviable: nadie tiene tiempo de revisar sus webs cada semana, comparar con la semana anterior, y sintetizar los cambios relevantes en un informe accionable.

Este flujo ejecuta cada lunes a las 8am, raspa las URLs definidas, extrae el texto visible, y pide a OpenAI que identifique cambios de precios, nuevas features, o cambios en posicionamiento.

Herramientas necesarias

  • n8n (self-hosted o cloud)
  • Schedule Trigger — lunes 8am
  • HTTP Request — descarga HTML de URLs de competidores
  • HTML Extract (node nativo n8n) — extrae texto limpio del HTML
  • OpenAI Chat (node nativo n8n) — analiza cambios y genera resumen
  • Gmail (node nativo n8n) — envía digest semanal al equipo
  • Credenciales: OpenAI API key, Gmail OAuth2
  • Opcional: Google Sheets para almacenar snapshot semanal y comparar con semana anterior

Configuración paso a paso

Nodo 1 — Schedule Trigger

  • Trigger: Cron
  • Expression: 0 8 * * 1 (cada lunes a las 8:00am)
  • Timezone: Europe/Madrid

Nodo 2 — Code node (lista de competidores) Define aquí las URLs a monitorear para no tener un flujo separado por cada competidor:

return [
  { json: { nombre: 'Competidor A', url: 'https://competidor-a.com/pricing', tipo: 'precios' } },
  { json: { nombre: 'Competidor B', url: 'https://competidor-b.com/', tipo: 'homepage' } },
  { json: { nombre: 'Competidor C', url: 'https://competidor-c.com/features', tipo: 'features' } }
];

Esto genera 3 items que n8n procesa en loop automáticamente.

Nodo 3 — HTTP Request (descargar páginas)

  • Method: GET
  • URL: {{ $json.url }}
  • Response Format: Text
  • Headers: User-Agent: Mozilla/5.0 (compatible; research-bot/1.0)
  • Timeout: 10000 ms
  • Ignore SSL: true si alguna web tiene certificado problemático
  • En caso de error (web caída): añade On Error: Continue

Nodo 4 — HTML Extract

  • Extraction Type: CSS Selector
  • CSS Selector: body (texto completo) o selectores más específicos como main, article, .pricing-table
  • Return Value: Text (no HTML)
  • Trim: true

Nodo 5 — Truncar texto (Code node) El HTML extraído puede ser enorme. Limita a 3000 caracteres para no exceder el contexto:

return items.map(item => ({
  json: {
    ...item.json,
    texto_truncado: item.json.textContent.substring(0, 3000)
  }
}));

Nodo 6 — OpenAI Chat

  • Model: gpt-4o
  • System: prompt de análisis (ver más abajo)
  • User: {{ $json.texto_truncado }}
  • Max Tokens: 500

Nodo 7 — Merge (agregar todos los análisis)

  • Mode: Append — combina los outputs de todos los competidores en un array

Nodo 8 — Gmail (Send digest)

  • To: equipo@tuempresa.com
  • Subject: Informe semanal de competencia — {{ $now.format('DD/MM/YYYY') }}
  • Construye el cuerpo iterando sobre los items del Merge y concatenando los análisis

Ejemplo de prompt IA

Eres un analista de inteligencia competitiva. Analiza el siguiente texto extraído de la web de un competidor y detecta información relevante para nuestro negocio.

COMPETIDOR: {{ $json.nombre }}
URL: {{ $json.url }}
TIPO DE PÁGINA: {{ $json.tipo }}

CONTENIDO EXTRAÍDO:
{{ $json.texto_truncado }}

Identifica y reporta ÚNICAMENTE si encuentras:
1. PRECIOS: cualquier precio, tarifa, o plan mencionado (con los valores exactos)
2. NUEVAS FUNCIONALIDADES: features o servicios mencionados que parezcan recientes
3. POSICIONAMIENTO: cambios en cómo se describen o a quién se dirigen
4. OFERTAS/PROMOCIONES: descuentos, trials, o condiciones especiales

Si no hay nada relevante en alguna categoría, escribe "Sin cambios detectados".
Sé conciso. Formato: lista con bullets. Máximo 200 palabras.

Ahorro estimado

  • Revisión manual semanal de competidores: 2-3 horas eliminadas
  • Latencia en detectar cambios de precio: de semanas a días
  • Informe de competencia: de nunca hacerse a entregarse automáticamente cada lunes
  • Total: 2-3 horas semanales de investigación manual eliminadas