
Set Up a Competitive Intelligence Agent in 30 Minutes
Every morning, your competitor ships a feature. Someone sees it on Twitter. A customer mentions it in a call. By Friday, you learn about it. By then, three of your customers are using it.
Smart teams run competitive monitoring on automation. Daily monitoring. Real-time alerts.
This guide walks you through setting up an AI agent that monitors competitors across 8 data sources and delivers a weekly brief to your Slack every Friday morning. Setup takes 30 minutes. It requires zero code.
The short version
A competitive intelligence agent is an AI agent that watches your top 3-5 competitors across pricing, features, messaging, hiring, and reviews, and delivers a structured weekly Slack brief every Friday. Setup is 30 minutes: list competitors, pick signals, paste a weekly-aggregation prompt into Claude or ChatGPT, schedule it via Zapier or Make. Cost: roughly $20/month. Output: a one-page brief that highlights the three moves that matter and ignores the rest. For the full agent fleet this fits into, see Your AI Agent Fleet. For the full template prompts in copy-paste form, grab the downloadable artifact at the bottom of this post.
Why Competitive Intelligence Works
Sales teams know: your best customer acquisition is often stealing share from competitors. Product teams know: the fastest feature to build is the one your competitors just validated.
But manual competitive monitoring is a time sink. You can't check 5 competitors across 8 sources (changelog, blog, Twitter, G2, job postings, LinkedIn, press releases, product launches) every single day. You miss things.
Automation changes the equation. An AI agent watching 24/7. Weekly digest. Real signal, not noise.
Step 1: Define Your Competitors and What to Track (5 minutes)
Pick your 3-5 direct competitors. (If you have 10, you'll get alert fatigue. Focus.)
For each, decide what changes matter:
| Signal Type | Why It Matters | Example |
|---|---|---|
| Pricing Changes | Signals confidence in market position. Lower = aggressive. Higher = value confidence. | "Competitor X raises enterprise plan from $500→$750/month" |
| Feature Launches | Validates market needs. Shows product direction. | "Added Salesforce integration" |
| Messaging Shifts | Reveals where they're focusing. Sometimes signals pivot. | "Started emphasizing compliance over ease-of-use" |
| Hiring Patterns | Signals growth areas and confidence. | "Hired 5 sales engineers - betting on enterprise" |
| Content Strategy | Shows which segments they're targeting. | "5 blog posts on healthcare compliance in March" |
| Press & Funding | Major inflection points. New resources. | "Series B announced. $15M." |
| Executive Changes | Sometimes signals strategic shift. | "VP Sales leaves, replaced by ex-Salesforce exec" |
| Customer Wins | Shows who they're winning against. | "Customer quote from Fortune 500 company" |
Make a simple tracker (one document):
Company: Competitor A
- Monitor pricing: Yes (enterprise plan mostly)
- Monitor features: Yes
- Monitor messaging: Yes (especially SMB targeting)
- Monitor hiring: Yes
- Monitor content: Yes
- Monitor press: Yes
- Monitor executives: No
Company: Competitor B
[same]
Save this. You'll reference it in the AI prompt.
Step 2: Set Up Monitoring Sources (10 minutes)
You're not manually checking these. You're collecting RSS feeds, links, and data sources for the AI agent to ingest.
Source 1: Product Changelog
Go to each competitor's website. Look for:
/changelogor/release-notes/product/updates- Sometimes buried in a blog
Export URL. Example: https://competitor.com/changelog
Source 2: Blog RSS Feed
Most companies publish a blog. Subscribe to the RSS feed.
- Check
competitor.com/blog/feed.xmlor/feed - Or use RSS feed finder like Feedly or Inoreader to grab the URL
- Export the RSS URL
Source 3: Twitter/X
List the company account and maybe one or two key executives (CEO, VP Product).
- Example accounts: @CompetitorA, @CEOName
Source 4: G2 / Capterra Reviews
These show customer sentiment and emerging issues.
- Competitor A:
https://www.g2.com/products/competitor-a/reviews - Competitor B:
https://www.g2.com/products/competitor-b/reviews
Source 5: Job Postings
LinkedIn and their careers page. Growing team size = growth signal.
- Careers page:
https://competitor.com/careers - LinkedIn jobs: Search "Competitor A" on LinkedIn Jobs
Source 6: LinkedIn Company Page
Posts, follower growth, hires announced.
- Example:
https://www.linkedin.com/company/competitor-a
Source 7: Press Release Sites
- Their newsroom (usually
competitor.com/newsornewsroom.competitor.com) - Google News alerts (free, covers press mentions)
Source 8: Product Hunt / Launch Platforms
If they launch new products or major features publicly.
- Search competitor name on Product Hunt, Hacker News
Do this right now: Create a Google Sheet with three columns:
- Data Source (Changelog, Blog, Twitter, G2, etc.)
- URL or Description (the link or account to monitor)
- Competitor Name
Takes 5 minutes. You'll paste this into the AI prompt.
Step 3: The AI Monitoring Prompt (Build the Agent Logic)
You'll use a tool like Claude, GPT-4, or another LLM to process incoming data. Here's the exact prompt:
You are a competitive intelligence analyst. Your job is to monitor [COMPETITOR NAMES] and extract signals that matter to our product strategy.
OUR CONTEXT:
- We compete in: [YOUR MARKET]
- Our main differentiators: [LIST 3]
- What we worry about: [e.g., "price pressure on SMB segment", "Salesforce integration becoming table stakes"]
COMPETITORS TO MONITOR:
[PASTE YOUR COMPETITOR TABLE HERE]
DATA TO INGEST:
You will receive:
1. Recent posts from competitor blogs
2. Tweets from competitor accounts
3. New features from changelogs
4. Job postings from LinkedIn/careers pages
5. Recent G2 reviews mentioning common complaints
6. Press releases and news mentions
7. LinkedIn updates from their company pages
YOUR ANALYSIS FRAMEWORK:
For each signal you detect, categorize it:
**Category:** Feature Launch | Messaging Shift | Pricing Change | Hiring Signal | Strategic Pivot | Customer Win | Market Comment | Executive Change
**Competitor:** Which competitor?
**Signal:** What changed? (1-2 sentences)
**Why It Matters:** How does this affect us? (Is it a threat? Does it validate our roadmap? Does it reveal a new segment they're targeting?)
**Our Response (if any):** What should we do about it? (Ship faster? Communicate differently? Explore new segment? Monitor more closely?)
**Confidence:** High / Medium / Low (based on how clear the signal is)
**Date:** When did this happen?
YOUR OUTPUT:
Return JSON format. Group signals by competitor. Highlight HIGH confidence signals.
{
"competitor_name": {
"signals": [
{
"category": "string",
"signal": "string",
"why_it_matters": "string",
"our_response": "string or null",
"confidence": "high|medium|low",
"date": "YYYY-MM-DD",
"source": "string"
}
]
},
"summary": {
"total_signals": number,
"high_confidence_signals": number,
"key_themes": ["string"],
"threats": ["string"],
"validations": ["string"],
"action_items": ["string"]
}
}
IMPORTANT RULES:
1. Only flag signals that matter to product strategy. Ignore marketing noise.
2. Don't flag every blog post. Only new product announcements and strategic themes.
3. If you see the same signal from multiple sources (e.g., feature mentioned in changelog + tweet + G2 review), flag it once with higher confidence.
4. Look for patterns. One pricing change = random move. Three pricing increases across their product = strategy.
5. Be conservative. High confidence only if the signal is clear. If you're unsure, mark as medium/low.
CONTEXT CLUES TO WATCH:
- Hiring in a segment we ignore = threat to our dominance there
- Messaging shift toward compliance = they're eyeing enterprise
- Repeated feature requests in G2 = pain point they're trying to own
- Executive hiring = strategic shift incoming
- Silent feature releases = testing something, might be significant
Return only valid JSON.
Save this prompt in a text editor or a tool like Notion. You'll use it weekly.
Step 4: Set Up Weekly Delivery (10 minutes)
You need the AI agent to run weekly and send you the brief.
Option A: Use a No-Code Automation Tool (Fastest)
Services like Make, Zapier, or IFTTT can run this weekly:
- Set up a trigger: "Weekly, every Friday at 8 AM"
- Create a data collection step:
- Use RSS parsers to grab latest blog posts from competitor RSS feeds
- Use API connectors to pull recent tweets (if using a tool with Twitter integration)
- Manually paste or connect to a Google Sheet where you log recent signals
- Create an LLM step:
- Call Claude API (via Make/Zapier's LLM modules)
- Pass the prompt above + the week's data
- Get back the JSON analysis
- Create a formatting step:
- Convert JSON into a readable Slack message
- Send to your #competitive-intel channel
- Set it to run every Friday 8 AM
Cost: $0-20/month depending on volume Setup time: 10 minutes (if you've done the above prep)
Option B: Script + Cron (If You Have Dev Access)
Create a Python script that runs weekly:
import requests
import json
import feedparser
from datetime import datetime, timedelta
# Configuration
COMPETITORS = [
{"name": "Competitor A", "changelog_url": "...", "blog_rss": "..."},
{"name": "Competitor B", "changelog_url": "...", "blog_rss": "..."}
]
SLACK_WEBHOOK = "https://hooks.slack.com/services/YOUR/WEBHOOK"
CLAUDE_API_KEY = "sk-..."
def fetch_competitor_data():
"""Collect data from all sources"""
all_data = {}
for competitor in COMPETITORS:
data = {
"blog_posts": [],
"changelog": "",
"recent_tweets": []
}
# Fetch blog RSS
feed = feedparser.parse(competitor['blog_rss'])
week_ago = datetime.now() - timedelta(days=7)
for entry in feed.entries[:5]:
entry_date = datetime(*entry.published_parsed[:6])
if entry_date > week_ago:
data['blog_posts'].append({
"title": entry.title,
"link": entry.link,
"date": entry.published
})
all_data[competitor['name']] = data
return all_data
def analyze_with_claude(data):
"""Send to Claude for analysis"""
client = requests.Session()
client.headers.update({
"Authorization": f"Bearer {CLAUDE_API_KEY}",
"Content-Type": "application/json"
})
prompt = f"""[USE THE PROMPT FROM STEP 3 HERE]
DATA FROM THIS WEEK:
{json.dumps(data, indent=2)}
Analyze and return JSON."""
response = client.post(
"https://api.anthropic.com/v1/messages",
json={
"model": "claude-3-5-sonnet-20241022",
"max_tokens": 2048,
"messages": [{"role": "user", "content": prompt}]
}
)
return response.json()['content'][0]['text']
def format_slack_message(analysis_json):
"""Convert JSON to Slack-friendly message"""
data = json.loads(analysis_json)
message = "📊 *Weekly Competitive Intelligence Brief*\n\n"
for competitor, signals in data.items():
if signals.get('signals'):
message += f"🔍 *{competitor}*\n"
for signal in signals['signals']:
if signal['confidence'] == 'high':
message += f"🚨 {signal['category']}: {signal['signal']}\n"
if data.get('summary'):
message += f"\n*Key Themes:*\n"
for theme in data['summary'].get('key_themes', []):
message += f"• {theme}\n"
return message
def send_to_slack(message):
"""Post to Slack"""
requests.post(SLACK_WEBHOOK, json={"text": message})
if __name__ == "__main__":
data = fetch_competitor_data()
analysis = analyze_with_claude(data)
message = format_slack_message(analysis)
send_to_slack(message)
print("Competitive brief sent to Slack")
Deploy this on a cron job (runs every Friday 8 AM):
0 8 * * 5 python /path/to/competitive-intel.py
Or use AWS Lambda + EventBridge (also free tier eligible).
Option C: Manual + Prompt (Simplest)
Every Friday, 8 AM:
- Spend 10 minutes collecting signals from the data sources (new blog posts, tweets, changelog updates)
- Paste them into a Google Doc or text file
- Copy the monitoring prompt from Step 3
- Paste both into Claude
- Get back your brief in JSON
- Manually post to Slack
Takes 15 minutes. Not automated. But works if you don't want to set up infrastructure.
Real Example: What a Weekly Brief Looks Like
Here's what a Friday morning brief looks like (using real-ish competitors):
{
"Competitor A": {
"signals": [
{
"category": "Feature Launch",
"signal": "Released Slack integration for deal updates. Two-way sync.",
"why_it_matters": "We ship Slack integration next month. They're moving faster on this surface area.",
"our_response": "Accelerate our Slack roadmap. Consider more integrations in the announcement.",
"confidence": "high",
"date": "2026-03-24",
"source": "changelog + blog post"
},
{
"category": "Pricing Change",
"signal": "Enterprise plan increased from $750 to $950/month. Added 'dedicated support' tier.",
"why_it_matters": "Signals confidence in enterprise segment. Testing price elasticity. We have room to follow.",
"our_response": "Monitor our enterprise churn closely. Consider similar tiering in next review.",
"confidence": "high",
"date": "2026-03-22",
"source": "pricing page + Twitter post"
}
]
},
"Competitor B": {
"signals": [
{
"category": "Hiring Signal",
"signal": "Posted 7 open roles: 4 in Sales (Enterprise focus), 2 in Product, 1 Data Scientist",
"why_it_matters": "Aggressive hiring in enterprise sales. They're scaling up to chase upmarket. Real signal of growth and confidence.",
"our_response": "Monitor if they're hiring away from us. Be ready to counter-hire if needed.",
"confidence": "high",
"date": "2026-03-23",
"source": "LinkedIn jobs + their careers page"
},
{
"category": "Messaging Shift",
"signal": "Three recent blog posts focused on compliance and security certifications (SOC 2, ISO 27001). Previously focused on ease-of-use.",
"why_it_matters": "They're pivoting messaging toward enterprise/regulated industries. New segment play.",
"our_response": "Assess if we should emphasize our own compliance story. Could be table stakes soon.",
"confidence": "medium",
"date": "2026-03-20 onwards",
"source": "blog"
}
]
},
"summary": {
"total_signals": 3,
"high_confidence_signals": 2,
"key_themes": ["Enterprise focus from both competitors", "Product feature parity pressure on integrations", "Messaging shift toward compliance"],
"threats": ["Competitor A Slack integration shipping before us", "Competitor B enterprise hiring surge"],
"validations": ["Our Q2 enterprise roadmap validated by competitor signals", "Slack integration demand confirmed by multiple sources"],
"action_items": ["Accelerate Slack feature", "Monitor enterprise churn closely", "Prepare messaging about compliance posture"]
}
}
The brief lands in your Slack Friday morning. You spend 5 minutes reading it. By Friday afternoon, product and sales teams know what changed with competitors.
Common Gotchas and How to Avoid Them
Noise problem: You'll want to flag every blog post. Resist. Only flag if it signals a strategic move (new feature, pivot, etc.). A how-to guide about existing features is noise.
Outdated sources: If a competitor's blog feed dies or their Twitter goes silent, they might have changed strategy. Actually investigate.
False signals: One hiring post could be random. Three hiring posts in a segment = signal. Use pattern recognition.
Lag: This data is 1-7 days old by the time you see it. It's not real-time. For real-time, add Twitter alerts or Slack keywords for competitor mentions, and check Slack daily.
Information overload: Stick to 3-5 competitors. More than that, and you'll miss your own strategy.
Scaling This Over Time
Start with the basic setup (5 data sources, one brief per week).
Once it's running:
- Add more detail: Track which customer segments competitors win. Track their messaging by segment. Build a more sophisticated tracking sheet.
- Speed up cadence: Move from weekly to bi-weekly if signals justify it.
- Add real-time alerts: Set up keyword alerts in Slack for competitor name mentions. Get pinged immediately if they're discussed internally.
- Build institutional memory: Archive briefs in a shared folder. Look for patterns over months/years.
- Connect to roadmap: Every quarter, present competitive brief to leadership. Use it to justify roadmap decisions.
The Reality
Competitive intelligence isn't destiny. You don't ship features just because competitors did. But you make much better strategic decisions when you know what they're doing.
The difference between a team that monitors competitors and one that doesn't: The monitoring team is never blindsided. They're always 1-2 weeks ahead of discovering competitive moves internally.
Set this up today. Send your first brief next Friday. You'll be shocked at what you've been missing.
Download the artifact
Ready to use. Copy into your project or share with your team.
Also on Medium
Full archive →AI Agents and the Future of Work: A Pixar-Inspired Journey
What product managers can learn about AI agents from how Pixar runs a film team.
Many AI Agents Are Actually Workflows or Automations in Disguise
How to tell agents from workflows from cron jobs, and why it matters for what you ship.
Frequently asked
What is a competitive intelligence agent?+
A competitive intelligence agent is an AI agent that monitors a defined list of competitors across signals you care about (pricing changes, feature launches, hiring, press, social) and delivers a structured weekly digest. Unlike a one-off competitive teardown, an agent runs continuously, so you spot moves the day they happen instead of weeks later.
How long does it take to set up a competitive intel agent?+
Thirty minutes for a working v1. About 60-90 minutes if you want polish: trimmed alert thresholds, multi-channel delivery, and a Friday-morning Slack post that your team will actually read. The setup time is dominated by listing your competitors and choosing which signals matter, the AI part is a single prompt.
Do I need to code to build a competitive intel agent?+
No. The setup in this post uses Claude (or ChatGPT) plus a free scheduling tool like Zapier or Make. You define competitors and signals once, paste a weekly aggregation prompt, and the agent does the rest. If you want a more bespoke setup with sources beyond the public web (G2 reviews, LinkedIn job posts, product changelogs), that's an additional 30 minutes per source but still no code.
What signals should a competitive intel agent track?+
Five signals matter most: pricing page changes (signals strategy shifts), feature launches (validates market direction), messaging shifts on the homepage (reveals positioning changes), hiring patterns from LinkedIn (forecasts what they're building 6 months out), and customer review trends on G2 or Capterra (surfaces churn drivers). Skip social posts and PR, high noise, low signal.
How is this different from buying a competitive intelligence tool?+
Tools like Crayon and Klue are excellent if you have an enterprise budget and a competitive enablement team. For a single PM or a small product org, this DIY agent costs roughly $20/month in API and tool fees, takes 30 minutes to set up, and produces 80% of the value. The trade-off: tools have prebuilt integrations and battle-tested alert logic; the DIY agent requires you to tune thresholds yourself the first month.
Will my competitor know I'm monitoring them?+
No. Everything this agent reads is public information that any human could access. You're automating the reading, not the access. The same legal and ethical rules apply as for any competitive research: don't access paywalled or gated content under a fake account, don't claim to be a customer when you aren't, don't scrape sites that explicitly disallow it in robots.txt.