Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Competitor Intelligence Engine

An automated weekly pipeline built in n8n that tracks product updates across any set of competitors, deduplicates findings across runs, scores them by strategic impact, and delivers a ranked digest to Slack.

Point it at any company's changelog, release notes, blog, or news page. No other changes needed - just update the competitor list in the n8n editor.

Built by a PM to replace hours of manual competitive research every week.


What it does

Every week, the workflow:

  1. Scrapes the URLs you configure - changelogs, release notes, blogs, news pages
  2. Detects changes using page-level hashing - only processes pages that actually changed since the last run
  3. Extracts product updates using an AI agent - pulls structured feature data, filters out marketing fluff
  4. Deduplicates findings using a content hash - the same update never surfaces twice across runs
  5. Scores each update 1-5 for strategic impact using a second AI agent
  6. Summarises trends across all competitors using a third AI agent
  7. Delivers a ranked weekly digest to Slack

Quick start

1. Import the workflow

In your n8n instance:

  • Go to Workflows > Import from File
  • Select workflow/competitor-intelligence.json

2. Add your competitors

Open the Vendor List code nodes (there are 3, one per pipeline batch) and replace the placeholder entries with your actual competitors:

return [
  {json:{vendor:'Competitor A', url:'https://competitor-a.com/changelog'}},
  {json:{vendor:'Competitor B', url:'https://competitor-b.com/releases'}},
  {json:{vendor:'Competitor C', url:'https://competitor-c.com/blog'}},
];

Point URLs at pages that get updated regularly. Changelogs, release notes, and news rooms work best. Avoid homepages.

3. Add credentials

You need two credentials in n8n (Settings > Credentials):

  • OpenAI - used by all AI extraction, scoring, and summarisation nodes
  • Slack - used by the output nodes to post the weekly digest

4. Activate

Toggle the workflow to Active. Runs on a weekly schedule. Use Execute Workflow for a manual test first.


Architecture

Weekly Schedule
      |
      v
Competitor List  <-- edit this to add your competitors
      |
      v
HTTP Scrape
      |
      v
Hash Page --> Compare with stored hash
                      |
            [Only if page changed]
                      |
          AI Agent: Extract Features
          (structured JSON output only)
                      |
            Deduplicate by content hash
            (never sees same update twice)
                      |
            AI Agent: Score 1-5
            (strategic impact + reason)
                      |
            Aggregate all competitors
                      |
            AI Agent: Trend Summary
                      |
              Slack Digest

Three parallel pipelines run the same logic across different competitor batches. A failure in one batch does not block the others.


Scoring dimensions

Each update is scored 1-5 across these dimensions:

Dimension What it measures
Roadmap overlap Direct conflict with your planned features
Customer-facing impact Would users switch for this?
Technical differentiation Hard for you to replicate quickly?
Release velocity Is the market moving fast in this area?
Pricing or packaging threat Does this change the competitive price equation?

Key design decisions

Hash-based change detection - HTTP scraping runs every week but AI extraction only fires when a page actually changed. This keeps OpenAI API costs near zero on quiet weeks.

Deduplication by content hash - Updates are hashed as feature_title || link. Seen IDs are stored in static memory and persist across runs. The same release note never resurfaces in a future digest.

Strict JSON output - All AI agents return structured JSON only. Prompts include explicit fallback instructions (return {"updates":[]}) to prevent null errors on empty weeks.

Three parallel pipelines - Competitors are split across three independent schedule triggers. Isolates failures and lets you set different scrape cadences per batch.


Customising it

Add a competitor - Add a new entry to any Vendor List code node. Nothing else to change.

Track more than 15 competitors - Clone a full pipeline branch (Schedule + Vendor List + the processing chain) and wire it to a new Vendor List.

Narrow what gets extracted - Edit the AI Agent (Extract Features) prompt. Default extracts all product updates. You can tighten it: "Extract only pricing changes" or "Extract only API and developer tooling updates."

Change scoring criteria - Edit the AI Agent3 prompt. Default uses 5 general strategic dimensions. Customise for your context: "We are a B2B SaaS company. Weight scoring toward enterprise buying criteria."

Add a second output - Duplicate the Slack node and replace with Email, Notion, or an HTTP webhook.


Output example

Weekly Competitor Intel - 4 new updates this week

[5/5] Competitor A - Real-time Collaboration Mode
  Simultaneous multi-user editing now live. Direct overlap with our Q3 
  roadmap. They shipped this first.

[4/5] Competitor B - API Rate Limit Increase (10x)
  Developer-facing but signals platform investment. Worth flagging in 
  enterprise deals where API access is a criterion.

[3/5] Competitor C - Onboarding Templates (10 new)
  Industry-specific setup templates. Reduces time-to-value for SMB. 
  Low threat for our enterprise focus.

[2/5] Competitor A - Dark Mode
  UI polish. No strategic significance.

Stack

  • n8n (self-hosted or cloud)
  • OpenAI GPT-4o
  • Slack

Author

Praveen Kumar Dayalan - Product Manager LinkedIn | Portfolio

About

Automated weekly competitor tracking pipeline - AI-powered feature extraction, deduplication, scoring and Slack digest using n8n

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors