ooligo
n8n-flow

Auto-tracking de menções e mudanças de concorrentes com n8n e Claude

Dificuldade
intermediário
Tempo de setup
60min
Para
revops · sales-enablement
RevOps

Stack

Um flow de n8n que monitora seus concorrentes trackeados em páginas de pricing, posts de blog, páginas de hiring e reviews no G2; usa o Claude pra resumir o que mudou; e posta um digest semanal num canal do Slack que seu time de vendas de fato vai abrir. Acabou descobrir o corte de preço de um concorrente por um thread no Slack de um deal perdido.

O que você vai precisar

  • n8n (cloud ou self-hosted) com triggers HTTP e Schedule
  • Uma lista de domínios de concorrentes e as páginas que valem ser trackeadas em cada um
  • Claude API key
  • Um workspace de Slack com um canal de competitive-intel e um incoming webhook

Setup

  1. Construa a lista de páginas trackeadas. Uma planilha ou data table do n8n com colunas: nome do concorrente, tipo de página (pricing, blog, hiring, reviews), URL, hash do último conteúdo visto. Vinte a trinta linhas é típico.
  2. Agende o crawl. Trigger Schedule do n8n, diário às cinco da manhã UTC. O flow itera a lista de páginas, faz fetch de cada URL, calcula um hash de conteúdo, compara com o hash anterior. Hash novo significa conteúdo mudado.
  3. Diff e resumo. Pra cada página mudada, o flow envia o conteúdo antigo e o novo pro Claude com um prompt: “resuma o que mudou, em duas frases, focado no que um vendedor deveria saber”. Output vai num bloco de resumo por concorrente.
  4. Agregue e poste. No fim da rodada, o n8n compõe uma mensagem de Slack por concorrente com mudanças materiais e posta no canal. Páginas sem mudança ficam em silêncio; sem barulho.
  5. Adicione um trigger manual. Um segundo flow que deixa o time de vendas pedir “o que tem de novo na Acme” sob demanda, pulando a agenda.

Como funciona

O flow é um padrão clássico de poll-diff-resumir-fan-out. A camada de polling é fetch HTTP burro. A camada de diff é hashing de conteúdo mais um filtro “isso é material?” (mudanças de um único caractere são ignoradas). A camada de resumo é o Claude com um prompt apertado. A camada de fan-out é o Slack.

O filtro “isso é material?” importa mais do que parece. Páginas de pricing re-renderizam a cada deploy com diferenças de timestamp que não são materiais. Edições de blog post que corrigem typos não são materiais. Sem esse filtro, o digest dispara todo dia sem nada realmente ter mudado, e o canal vira mute.

Pontos de atenção

  • Detecção de bot. Crawling agressivo é bloqueado. Limite a um request por página por dia, configure um user agent real e respeite robots dot txt.
  • G2 e sites de reviews. Essas páginas são pesadas em JS e frequentemente anti-bot. Ou pague um serviço que cuida disso ou pule essas fontes.
  • Mudanças alucinadas. O Claude vai reportar com confiança uma mudança que não está realmente lá se o diff é barulhento. O prompt inclui “se a mudança é cosmética ou pouco clara, retorne NO_CHANGE”.
  • Barulho no canal. Mesmo com filtragem, o canal pode bater fadiga. Digest semanal ganha do diário. Segure a cadência.

Stack

  • n8n — scheduler, fetcher, diff, fan-out
  • Claude — resumo de mudanças
  • Slack — canal de distribuição pro time de vendas